]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/wire/ml/Invocation.js
Replace Dojo with jQuery
[eow] / static / dojo-release-1.1.1 / dojox / wire / ml / Invocation.js
diff --git a/static/dojo-release-1.1.1/dojox/wire/ml/Invocation.js b/static/dojo-release-1.1.1/dojox/wire/ml/Invocation.js
deleted file mode 100644 (file)
index 3d36623..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-if(!dojo._hasResource["dojox.wire.ml.Invocation"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.wire.ml.Invocation"] = true;
-dojo.provide("dojox.wire.ml.Invocation");
-
-dojo.require("dojox.wire.ml.Action");
-
-dojo.declare("dojox.wire.ml.Invocation", dojox.wire.ml.Action, {
-       //      summary:
-       //              A widget to invoke a method or publish a topic
-       //      description:
-       //              This widget represents a controller task to invoke a method or
-       //              publish a topic when an event (a function) or a topic is issued.
-       //      object:
-       //              A scope of a method to invoke
-       //      method:
-       //              A name of a method to invoke
-       //      topic:
-       //              A name of a topic to publish
-       //      parameters:
-       //              Arguments for the method or the topic
-       //      result:
-       //              A property to store a return value of the method call
-       //      error:
-       //              A property to store an error on the method call
-       object: "",
-       method: "",
-       topic: "",
-       parameters: "",
-       result: "",
-       error: "",
-
-       _run: function(){
-               //      summary:
-               //              Invoke a method or publish a topic
-               //      description:
-               //              If 'topic' is specified, the topic is published with arguments
-               //              specified to 'parameters'.
-               //              If 'method' and 'object' are specified, the method is invoked
-               //              with arguments specified to 'parameters' and set the return
-               //              value to a property specified to 'result'.
-               //              'object', 'parameters' and 'result' can specify properties of
-               //              a widget or an DOM element with the dotted notation.
-               //              If 'parameters' are omitted, the arguments to this method are
-               //              passed as is.
-               if(this.topic){
-                       var args = this._getParameters(arguments);
-                       try{
-                               dojo.publish(this.topic, args);
-                               this.onComplete();
-                       }catch(e){
-                               this.onError(e);
-                       }
-               }else if(this.method){
-                       var scope = (this.object ? dojox.wire.ml._getValue(this.object) : dojo.global);
-                       if(!scope){
-                               return; //undefined
-                       }
-                       var args = this._getParameters(arguments);
-                       var func = scope[this.method];
-                       if(!func){
-                               func = scope.callMethod;
-                               if(!func){
-                                       return; //undefined
-                               }
-                               args = [this.method, args];
-                       }
-                       try{
-                               var connected = false;
-                               if(scope.getFeatures){
-                                       var features = scope.getFeatures();
-                                       if((this.method == "fetch" && features["dojo.data.api.Read"]) ||
-                                               (this.method == "save" && features["dojo.data.api.Write"])){
-                                               var arg = args[0];
-                                               if(!arg.onComplete){
-                                                       arg.onComplete = function(){};
-                                               }
-                                               //dojo.connect(arg, "onComplete", this, "onComplete");
-                                               this.connect(arg, "onComplete", "onComplete");
-                        if(!arg.onError){
-                                                       arg.onError = function(){};
-                                               }
-                                               //dojo.connect(arg, "onError", this, "onError");
-                                               this.connect(arg, "onError", "onError");
-                        connected = true;
-                                       }
-                               }
-                               var r = func.apply(scope, args);
-                               if(!connected){
-                                       if(r && (r instanceof dojo.Deferred)){
-                                               var self = this;
-                                               r.addCallbacks(
-                                                       function(result){self.onComplete(result);},
-                                                       function(error){self.onError(error);}
-                                               );
-                                       }else{
-                                               this.onComplete(r);
-                                       }
-                               }
-                       }catch(e){
-                               this.onError(e);
-                       }
-               }
-       },
-
-       onComplete: function(/*anything*/result){
-               //      summary:
-               //              A function called when the method or the topic publish
-               //              completed
-               //      description:
-               //              If 'result' attribute is specified, the result object also set
-               //              to the specified property.
-               //      result:
-               //              The return value of a method or undefined for a topic
-               if(this.result){
-                       dojox.wire.ml._setValue(this.result, result);
-               }
-               if(this.error){ // clear error
-                       dojox.wire.ml._setValue(this.error, "");
-               }
-       },
-
-       onError: function(/*anything*/error){
-               //      summary:
-               //              A function called on an error occurs
-               //      description:
-               //              If 'error' attribute is specified, the error object also set to
-               //              the specified property.
-               //      error:
-               //              The exception or error occurred
-               if(this.error){
-                       if(error && error.message){
-                               error = error.message;
-                       }
-                       dojox.wire.ml._setValue(this.error, error);
-               }
-       },
-
-       _getParameters: function(/*Array*/args){
-               //      summary:
-               //              Returns arguments to a method or topic to invoke
-               //      description:
-               //              This method retunrs an array of arguments specified by
-               //              'parameters' attribute, a comma-separated list of IDs and
-               //              their properties in a dotted notation.
-               //              If 'parameters' are omitted, the original arguments are
-               //              used.
-               //      args:
-               //              Arguments to a trigger event or topic
-               if(!this.parameters){
-                       // use arguments as is
-                       return args; //Array
-               }
-               var parameters = [];
-               var list = this.parameters.split(",");
-               if(list.length == 1){
-                       var parameter = dojox.wire.ml._getValue(dojo.trim(list[0]), args);
-                       if(dojo.isArray(parameter)){
-                               parameters = parameter;
-                       }else{
-                               parameters.push(parameter);
-                       }
-               }else{
-                       for(var i in list){
-                               parameters.push(dojox.wire.ml._getValue(dojo.trim(list[i]), args));
-                       }
-               }
-               return parameters; //Array
-       }
-});
-
-}