diff options
| author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 | 
|---|---|---|
| committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 | 
| commit | 1c5685d68f1b73270fb814fe04cbb490eb90ba5f (patch) | |
| tree | 3d3ada08a934b96fc31531f1327690d7edc6f766 /includes/js/dojox/wire/ml | |
| parent | 104d59099e048688c4dbac37d72137006e396558 (diff) | |
| download | semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.gz semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.bz2  | |
Minor fix: Remove DOJO library (60Mo) replaced by link to Google CDN (online DOJO library)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@159 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/wire/ml')
| -rw-r--r-- | includes/js/dojox/wire/ml/Action.js | 225 | ||||
| -rw-r--r-- | includes/js/dojox/wire/ml/Data.js | 143 | ||||
| -rw-r--r-- | includes/js/dojox/wire/ml/DataStore.js | 116 | ||||
| -rw-r--r-- | includes/js/dojox/wire/ml/Invocation.js | 171 | ||||
| -rw-r--r-- | includes/js/dojox/wire/ml/Service.js | 340 | ||||
| -rw-r--r-- | includes/js/dojox/wire/ml/Transfer.js | 359 | ||||
| -rw-r--r-- | includes/js/dojox/wire/ml/util.js | 295 | 
7 files changed, 0 insertions, 1649 deletions
diff --git a/includes/js/dojox/wire/ml/Action.js b/includes/js/dojox/wire/ml/Action.js deleted file mode 100644 index 637de41..0000000 --- a/includes/js/dojox/wire/ml/Action.js +++ /dev/null @@ -1,225 +0,0 @@ -if(!dojo._hasResource["dojox.wire.ml.Action"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.wire.ml.Action"] = true; -dojo.provide("dojox.wire.ml.Action"); -dojo.provide("dojox.wire.ml.ActionFilter"); - -dojo.require("dijit._Widget"); -dojo.require("dijit._Container"); -dojo.require("dojox.wire.Wire"); -dojo.require("dojox.wire.ml.util"); - -dojo.declare("dojox.wire.ml.Action", [dijit._Widget, dijit._Container], { -	//	summary: -	//		A base widget to "run" a task on an event or a topic -	//	description: -	//		This widget represents a controller task to be run when an event -	//		(a function) or a topic is issued. -	//		Sub-classes must implement _run() method to implement their tasks. -	//		'trigger' specifies an event scope, an ID of a widget or an DOM -	//		element, or its property with the optional dotted notation. -	//		If this widget has child ActionFilter widgets, their filter() -	//		methods are called with the arguments to the event or the topic. -	//		If one of filter() methods returns false, run() won't be invoked. -	//		This widget also can serve as a composite task to run child -	//		Actions on an event or a topic specified to this widget. -	//	trigger: -	//		An event scope -	//	triggerEvent: -	//		An event (function) name -	//	triggerTopic: -	//		A topic name -	trigger: "", -	triggerEvent: "", -	triggerTopic: "", - -	postCreate: function(){ -		//	summary: -		//		Call _connect() -		//	description: -		//		See _connect(). -		this._connect(); -	}, - -	_connect: function(){ -		//	summary: -		//		Connect run() method to an event or a topic -		//	description: -		//		If 'triggerEvent' and 'trigger' are specified, connect() is -		//		used to set up run() to be called on the event. -		//		If 'triggerTopic' is specified, subscribe() is used to set up -		//		run() to be called on the topic. -		if(this.triggerEvent){ -			if(this.trigger){ -				var scope = dojox.wire.ml._getValue(this.trigger); -				if(scope){ -					if(!scope[this.triggerEvent]){ -						// set a dummy function for an anonymous object -						scope[this.triggerEvent] = function(){}; -					} -					this._triggerHandle = dojo.connect(scope, this.triggerEvent, this, "run"); -				} -			}else{ -				var event = this.triggerEvent.toLowerCase(); -				if(event == "onload"){ -					var self = this; -					dojo.addOnLoad(function(){ -						self._run.apply(self, arguments); -					}); -				} -			} -		}else if(this.triggerTopic){ -			this._triggerHandle = dojo.subscribe(this.triggerTopic, this, "run"); -		} -	}, - -	_disconnect: function(){ -		//	summary: -		//		Disconnect run() method from an event or a topic -		//	description: -		//		If 'triggerEvent' and 'trigger' are specified, disconnect() is -		//		used to set up run() not to be called on the event. -		//		If 'triggerTopic' is specified, unsubscribe() is used to set up -		//		run() not to be called on the topic. -		if(this._triggerHandle){ -			if(this.triggerTopic){ -				dojo.unsubscribe(this.triggerTopic, this._triggerHandle); -			}else{ -				dojo.disconnect(this._triggerHandle); -			} -		} -	}, - -	run: function(){ -		//	summary: -		//		Run a task -		//	description: -		//		This method calls filter() method of child ActionFilter -		//		widgets. -		//		If one of them returns false, this method returns. -		//		Otherwise, _run() method is called. -		var children = this.getChildren(); -		for(var i in children){ -			var child = children[i]; -			if(child instanceof dojox.wire.ml.ActionFilter){ -				if(!child.filter.apply(child, arguments)){ -					return; -				} -			} -		} -		this._run.apply(this, arguments); -	}, - -	_run: function(){ -		//	summary: -		//		Call run() methods of child Action widgets -		//	description: -		//		If this widget has child Action widgets, their run() methods -		//		are called. -		var children = this.getChildren(); -		for(var i in children){ -			var child = children[i]; -			if(child instanceof dojox.wire.ml.Action){ -				child.run.apply(child, arguments); -			} -		} -	}, - -	uninitialize: function(){ -		//	summary: -		//		Over-ride of base widget unitialize function to do some connection cleanup. -		this._disconnect(); -		return true; -	} -}); - -dojo.declare("dojox.wire.ml.ActionFilter", dijit._Widget, { -	//	summary: -	//		A widget to define a filter for the parent Action to run -	//	description: -	//		This base class checks a required property specified with -	//		'required' attribute. -	//		If 'message' is specified, the message is set to a property -	//		specified with 'error'. -	//		Subclasses may implement their own filter() method. -	//	required: -	//		A property required -	//	requiredValue: -	//		Optional.  A specific value the property is required to have.  If this isn't provided -	//		than any non-false/non-null value of the required propery will cause this filter -	//		to pass. -	//	type: -	//		Optional.  A specific type to compare the values as (if requiredValue is set) -	//		Valid values for type are boolean, int, string.  Default is string. -	//	message: -	//		An error message to emit if the filter doesn't execute due to property mismatch. -	//	error: -	//		A property to store an error due to property mismatch. -	required: "", -	requiredValue: "", -	type: "", -	message: "", -	error: "", - - -	filter: function(){ -		//	summary: -		//		Check if a required property is specified.  Also, if provided, check to see  -		//		if the required property contains a specific value. -		//	description: -		//		If a value is undefined for a property, specified with -		//		'required', this method returns false. -		//		If the value for a property is defined, but there isn't a requiredValue for it -		//		then any non-false value will cause the method to return true. -		//		if requiredValue is set, then filter compares that value with the value from -		//		the required property and returns true if and only if they match. -		//		The type option just allows for a way to convert the required property values -		//		into a proper form for comparison (boolean, number, etc). -		//		If 'message' is specified, it is set to a proeprty specified -		//		with 'error' or shown with alert(). -		//		If 'required' starts with "arguments", a property of -		//		the method arguments are checked. -		//	returns: -		//		True if a required property is specified (and if requiredValue is specified,  -		//		that they match), otherwise false -		if(this.required === ""){ -			return true; //Boolean -		}else{ -			var value = dojox.wire.ml._getValue(this.required, arguments); -			if(this.requiredValue === ""){ -				//Just see if there's a value, nothing to compare it to. -				if(value){ -					return true; //Boolean -				} -			}else{ -				//See if we need to type convert. -				var reqValue = this.requiredValue; -				if(this.type !== ""){ -					var lType = this.type.toLowerCase(); -					if(lType === "boolean"){ -						if(reqValue.toLowerCase() === "false"){ -							reqValue = false; -						}else{ -							reqValue = true; -						} -					}else if(lType === "number"){ -						reqValue = parseInt(reqValue, 10); -					} -				} -				if(value === reqValue){ -					return true; //boolean -				} -			} -		} -		 -		if(this.message){ -			if(this.error){ -				dojox.wire.ml._setValue(this.error, this.message); -			}else{ -				alert(this.message); -			} -		} -		return false; //Boolean -	} -}); - -} diff --git a/includes/js/dojox/wire/ml/Data.js b/includes/js/dojox/wire/ml/Data.js deleted file mode 100644 index 71ab0ad..0000000 --- a/includes/js/dojox/wire/ml/Data.js +++ /dev/null @@ -1,143 +0,0 @@ -if(!dojo._hasResource["dojox.wire.ml.Data"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.wire.ml.Data"] = true; -dojo.provide("dojox.wire.ml.Data"); -dojo.provide("dojox.wire.ml.DataProperty"); - -dojo.require("dijit._Widget"); -dojo.require("dijit._Container"); -dojo.require("dojox.wire.ml.util"); - -dojo.declare("dojox.wire.ml.Data", [dijit._Widget, dijit._Container], { -	//	summary: -	//		A widget for a data object -	//	description: -	//		This widget represents an object with '_properties' property. -	//		If child 'DataProperty' widgets exist, they are used to initialize -	//		propertiy values of '_properties' object. - -	startup: function(){ -		//	summary: -		//		Call _initializeProperties() -		//	description: -		//		See _initializeProperties(). -		this._initializeProperties(); -	}, - -	_initializeProperties: function(/*Boolean*/reset){ -		//	summary: -		//		Initialize a data object -		//	description: -		//		If this widget has child DataProperty widgets, their getValue() -		//		methods are called and set the return value to a property -		//		specified by 'name' attribute of the child widgets. -		//	reset: -		//		A boolean to reset current properties -		if(!this._properties || reset){ -			this._properties = {}; -		} -		var children = this.getChildren(); -		for(var i in children){ -			var child = children[i]; -			if((child instanceof dojox.wire.ml.DataProperty) && child.name){ -				this.setPropertyValue(child.name, child.getValue()); -			} -		} -	}, - -	getPropertyValue: function(/*String*/property){ -		//	summary: -		//		Return a property value -		//	description: -		//		This method returns the value of a property, specified with -		//		'property' argument, in '_properties' object. -		//	property: -		//		A property name -		//	returns: -		//		A property value -		return this._properties[property]; //anything -	}, - -	setPropertyValue: function(/*String*/property, /*anything*/value){ -		//	summary: -		//		Store a property value -		//	description: -		//		This method stores 'value' as a property, specified with -		//		'property' argument, in '_properties' object. -		//	property: -		//		A property name -		//	value: -		//		A property value -		this._properties[property] = value; -	} -}); - -dojo.declare("dojox.wire.ml.DataProperty", [dijit._Widget, dijit._Container], { -	//	summary: -	//		A widget to define a data property -	//	description: -	//		Attributes of this widget are used to add a property to the parent -	//		Data widget. -	//		'type' attribute specifies one of "string", "number", "boolean", -	//		"array", "object" and "element" (DOM Element) -	//		(default to "string"). -	//		If 'type' is "array" or "object", child DataProperty widgets are -	//		used to initialize the array elements or the object properties. -	//	name: -	//		A property name -	//	type: -	//		A property type name -	//	value: -	//		A property value -	name: "", -	type: "", -	value: "", - -	getValue: function(){ -		//	summary: -		//		Returns a property value -		//	description: -		//		If 'type' is specified, 'value' attribute is converted to -		//		the specified type and returned. -		//		Otherwise, 'value' attribute is returned as is. -		//	returns: -		//		A property value -		var value = this.value; -		if(this.type){ -			if(this.type == "number"){ -				value = parseInt(value); -			}else if(this.type == "boolean"){ -				value = (value == "true"); -			}else if(this.type == "array"){ -				value = []; -				var children = this.getChildren(); -				for(var i in children){ -					var child = children[i]; -					if(child instanceof dojox.wire.ml.DataProperty){ -						value.push(child.getValue()); -					} -				} -			}else if(this.type == "object"){ -				value = {}; -				var children = this.getChildren(); -				for(var i in children){ -					var child = children[i]; -					if((child instanceof dojox.wire.ml.DataProperty) && child.name){ -						value[child.name] = child.getValue(); -					} -				} -			}else if(this.type == "element"){ -				value = new dojox.wire.ml.XmlElement(value); -				var children = this.getChildren(); -				for(var i in children){ -					var child = children[i]; -					if((child instanceof dojox.wire.ml.DataProperty) && child.name){ -						value.setPropertyValue(child.name, child.getValue()); -					} -				} -			} -		} -		return value; //anything -	} -}); - -} diff --git a/includes/js/dojox/wire/ml/DataStore.js b/includes/js/dojox/wire/ml/DataStore.js deleted file mode 100644 index e366d05..0000000 --- a/includes/js/dojox/wire/ml/DataStore.js +++ /dev/null @@ -1,116 +0,0 @@ -if(!dojo._hasResource["dojox.wire.ml.DataStore"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.wire.ml.DataStore"] = true; -dojo.provide("dojox.wire.ml.DataStore"); - -dojo.require("dijit._Widget"); -dojo.require("dojox.wire._base"); - -dojo.declare("dojox.wire.ml.DataStore", dijit._Widget, { -	//	summary: -	//		A widget for a data store -	//	description: -	//		This widget represents a data store of 'storeClass' attribute. -	//	storeClass: -	//		A class name of a data store -	storeClass: "", - -	postCreate: function(){ -		//	summary: -		//		Call _createStore() -		//	description: -		//		See _createStore(). -		this.store = this._createStore(); -	}, - -	_createStore: function(){ -		//	summary: -		//		Create a data store -		//	desription: -		//		A data store of 'storeClass' is created with arguments -		//		specified with attributes. -		//	returns: -		//		A data store -		if(!this.storeClass){ -			return null; //null -		} -		var storeClass = dojox.wire._getClass(this.storeClass); -		if(!storeClass){ -			return null; //null -		} -		var args = {}; -		var attributes = this.domNode.attributes; -		for(var i = 0; i < attributes.length; i++){ -			var a = attributes.item(i); -			if(a.specified && !this[a.nodeName]){ -				args[a.nodeName] = a.nodeValue; -			} -		} -		return new storeClass(args); //Object -	}, - -	getFeatures: function(){ -		//	summary: -		//		Call getFeatures() method of a data store -		//	description: -		//		See dojo.data.api.Read.getFeatures(). -		//	returns: -		//		A features object -		return this.store.getFeatures(); //Object -	}, - -	fetch: function(/*Object*/request){ -		//	summary: -		//		Call fetch() method of a data store -		//	description: -		//		See dojo.data.api.Read.fetch(). -		//	request: -		//		A request object -		//	returns: -		//		A request object -		return this.store.fetch(request); //Object -	}, - -	save: function(/*Object*/args){ -		//	summary: -		//		Call save() method of a data store -		//	description: -		//		See dojo.data.api.Write.save(). -		//	args: -		//		A save arguments object -		this.store.save(args); -	}, - -	newItem: function(/*Object*/args){ -		//	summary: -		//		Call newItem() method of a data store -		//	description: -		//		See dojo.data.api.Write.newItem(). -		//	args: -		//		A new item arguments object -		//	returns: -		//		A new item -		return this.store.newItem(args); //Object -	}, - -	deleteItem: function(/*Object*/item){ -		//	summary: -		//		Call deleteItem() method of a data store -		//	description: -		//		See dojo.data.api.Write.deleteItem(). -		//	returns: -		//		A boolean -		return this.store.deleteItem(item); //Boolean -	}, - -	revert: function(){ -		//	summary: -		//		Call revert() method of a data store -		//	description: -		//		See dojo.data.api.Write.revert(). -		//	returns: -		//		A boolean -		return this.store.revert(); //Boolean -	} -}); - -} diff --git a/includes/js/dojox/wire/ml/Invocation.js b/includes/js/dojox/wire/ml/Invocation.js deleted file mode 100644 index 3d36623..0000000 --- a/includes/js/dojox/wire/ml/Invocation.js +++ /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 -	} -}); - -} diff --git a/includes/js/dojox/wire/ml/Service.js b/includes/js/dojox/wire/ml/Service.js deleted file mode 100644 index 15f074b..0000000 --- a/includes/js/dojox/wire/ml/Service.js +++ /dev/null @@ -1,340 +0,0 @@ -if(!dojo._hasResource["dojox.wire.ml.Service"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.wire.ml.Service"] = true; -dojo.provide("dojox.wire.ml.Service"); -dojo.provide("dojox.wire.ml.RestHandler"); -dojo.provide("dojox.wire.ml.XmlHandler"); -dojo.provide("dojox.wire.ml.JsonHandler"); - -dojo.require("dijit._Widget"); -dojo.require("dojox.data.dom"); -dojo.require("dojox.wire._base"); -dojo.require("dojox.wire.ml.util"); - -dojo.declare("dojox.wire.ml.Service", dijit._Widget, { -	//	summary: -	//		A widget for a service -	//	description: -	//		This widget represents a service defined by a service description -	//		specified with 'url' attribute. -	//		If 'serviceType' and 'serviceUrl' attributes are specified, 'url' -	//		attribute can be omitted. -	//	url: -	//		A URL to a service description -	//	serviceUrl: -	//		A URL to a service -	//	serviceType: -	//		A service type -	//	handlerClass: -	//		A service handler class name -	url: "", -	serviceUrl: "", -	serviceType: "", -	handlerClass: "", -	preventCache: true, - -	postCreate: function(){ -		//	summary: -		//		Call _createHandler() -		//	description: -		//		See _createHandler(). -		this.handler = this._createHandler(); -	}, - -	_handlerClasses: { -		"TEXT": "dojox.wire.ml.RestHandler", -		"XML": "dojox.wire.ml.XmlHandler", -		"JSON": "dojox.wire.ml.JsonHandler", -		"JSON-RPC": "dojo.rpc.JsonService" -	}, - -	_createHandler: function(){ -		//	summary: -		//		Create a service handler -		//	desription: -		//		A service handler class is determined by: -		//		1. 'handlerClass' attribute -		//		2. 'serviceType' attribute -		//		3. 'serviceType' property in a service description -		//	returns: -		//		A service handler -		if(this.url){ -			var self = this; -			var d = dojo.xhrGet({ -				url: this.url, -				handleAs: "json", -				sync: true -			}); -			d.addCallback(function(result){ -				self.smd = result; -			}); -			if(this.smd && !this.serviceUrl){ -				this.serviceUrl = (this.smd.serviceUrl || this.smd.serviceURL); -			} -		} -		var handlerClass = undefined; -		if(this.handlerClass){ -			handlerClass = dojox.wire._getClass(this.handlerClass); -		}else if(this.serviceType){ -			handlerClass = this._handlerClasses[this.serviceType]; -			if(handlerClass && dojo.isString(handlerClass)){ -				handlerClass = dojox.wire._getClass(handlerClass); -				this._handlerClasses[this.serviceType] = handlerClass; -			} -		}else if(this.smd && this.smd.serviceType){ -			handlerClass = this._handlerClasses[this.smd.serviceType]; -			if(handlerClass && dojo.isString(handlerClass)){ -				handlerClass = dojox.wire._getClass(handlerClass); -				this._handlerClasses[this.smd.serviceType] = handlerClass; -			} -		} -		if(!handlerClass){ -			return null; //null -		} -		return new handlerClass(); //Object -	}, - -	callMethod: function(method, parameters){ -		//	summary: -		//		Call a service method with parameters -		//	method: -		//		A method name -		//	parameters: -		//		An array parameters -		var deferred = new dojo.Deferred(); -		this.handler.bind(method, parameters, deferred, this.serviceUrl); -		return deferred; -	} -}); - -dojo.declare("dojox.wire.ml.RestHandler", null, { -	//	summary: -	//		A REST service handler -	//	description: -	//		This class serves as a base REST service. -	//		Sub-classes may override _getContent() and _getResult() to handle -	//		specific content types. -	contentType: "text/plain", -	handleAs: "text", - -	bind: function(method, parameters, deferred, url){ -		//	summary: -		//		Call a service method with parameters. -		//	description: -		//		A service is called with a URL generated by _getUrl() and -		//		an HTTP method specified with 'method'. -		//		For "POST" and "PUT", a content is generated by _getContent(). -		//		When data is loaded, _getResult() is used to pass the result to -		//		Deferred.callback(). -		//	method: -		//		A method name -		//	parameters: -		//		An array of parameters -		//	deferred: -		//		'Deferred' -		//	url: -		//		A URL for the method -		method = method.toUpperCase(); -		var self = this; -		var args = { -			url: this._getUrl(method, parameters, url), -			contentType: this.contentType, -			handleAs: this.handleAs, -			headers: this.headers, -			preventCache: this.preventCache -		}; -		var d = null; -		if(method == "POST"){ -			args.postData = this._getContent(method, parameters); -			d = dojo.rawXhrPost(args); -		}else if(method == "PUT"){ -			args.putData = this._getContent(method, parameters); -			d = dojo.rawXhrPut(args); -		}else if(method == "DELETE"){ -			d = dojo.xhrDelete(args); -		}else{ // "GET" -			d = dojo.xhrGet(args); -		} -		d.addCallbacks(function(result){ -			deferred.callback(self._getResult(result)); -		}, function(error){ -			deferred.errback(error); -		}); -	}, - -	_getUrl: function(/*String*/method, /*Array*/parameters, /*String*/url){ -		//	summary: -		//		Generate a URL -		//	description: -		//		If 'method' is "GET" or "DELETE", a query string is generated -		//		from a query object specified to the first parameter in -		//		'parameters' and appended to 'url'. -		//		If 'url' contains variable seguments ("{parameter_name}"), -		//		they are replaced with corresponding parameter values, instead. -		//	method: -		//		A method name -		//	parameters: -		//		An array of parameters -		//	url: -		//		A base URL -		//	returns: -		//		A URL -		var query; -		if(method == "GET" || method == "DELETE"){ -			if(parameters.length > 0){ -				query = parameters[0]; -			} -		}else{ // "POST" || "PUT" -			if(parameters.length > 1){ -				query = parameters[1]; -			} -		} -		if(query){ -			var queryString = ""; -			for(var name in query){ -				var value = query[name]; -				if(value){ -					value = encodeURIComponent(value); -					var variable = "{" + name + "}"; -					var index = url.indexOf(variable); -					if(index >= 0){ // encode in path -						url = url.substring(0, index) + value + url.substring(index + variable.length); -					}else{ // encode as query string -						if(queryString){ -							queryString += "&"; -						} -						queryString += (name + "=" + value); -					} -				} -			} -			if(queryString){ -				url += "?" + queryString; -			} -		} -		return url; //String -	}, - -	_getContent: function(/*String*/method, /*Array*/parameters){ -		//	summary: -		//		Generate a request content -		//	description: -		//		If 'method' is "POST" or "PUT", the first parameter in -		//		'parameters' is returned. -		//	method: -		//		A method name -		//	parameters: -		//		An array of parameters -		//	returns: -		//		A request content -		if(method == "POST" || method == "PUT"){ -			return (parameters ? parameters[0] : null); //anything -		}else{ -			return null; //null -		} -	}, - -	_getResult: function(/*anything*/data){ -		//	summary: -		//		Extract a result -		//	description: -		//		A response data is returned as is. -		//	data: -		//		A response data returned by a service -		//	returns: -		//		A result object -		return data; //anything -	} -}); - -dojo.declare("dojox.wire.ml.XmlHandler", dojox.wire.ml.RestHandler, { -	//	summary: -	//		A REST service handler for XML -	//	description: -	//		This class provides XML handling for a REST service. -	contentType: "text/xml", -	handleAs: "xml", - -	_getContent: function(/*String*/method, /*Array*/parameters){ -		//	description: -		//		If 'method' is "POST" or "PUT", the first parameter in -		//		'parameters' is used to generate an XML content. -		//	method: -		//		A method name -		//	parameters: -		//		An array of parameters -		//	returns: -		//		A request content -		var content = null; -		if(method == "POST" || method == "PUT"){ -			var p = parameters[0]; -			if(p){ -				if(dojo.isString(p)){ -					content = p; -				}else{ -					var element = p; -					if(element instanceof dojox.wire.ml.XmlElement){ -						element = element.element; -					}else if(element.nodeType === 9 /* DOCUMENT_NODE */){ -						element = element.documentElement; -					} -					var declaration = "<?xml version=\"1.0\"?>"; // TODO: encoding? -					content = declaration + dojox.data.dom.innerXML(element); -				} -			} -		} -		return content; -	}, - -	_getResult: function(/*Document*/data){ -		//	summary: -		//		Extract a result -		//	description: -		//		A response data (XML Document) is returned wrapped with -		//		XmlElement. -		//	data: -		//		A response data returned by a service -		//	returns: -		//		A result object -		if(data){ -			data = new dojox.wire.ml.XmlElement(data); -		} -		return data; -	} -}); - -dojo.declare("dojox.wire.ml.JsonHandler", dojox.wire.ml.RestHandler, { -	//	summary: -	//		A REST service handler for JSON -	//	description: -	//		This class provides JSON handling for a REST service. -	contentType: "text/json", -	handleAs: "json", -	headers: {"Accept": "*/json"}, - -	_getContent: function(/*String*/method, /*Array*/parameters){ -		//	summary: -		//		Generate a request content -		//	description: -		//		If 'method' is "POST" or "PUT", the first parameter in -		//		'parameter' is used to generate a JSON content. -		//	method: -		//		A method name -		//	parameters: -		//		An array of parameters -		//	returns: -		//		A request content -		var content = null; -		if(method == "POST" || method == "PUT"){ -			var p = (parameters ? parameters[0] : undefined); -			if(p){ -				if(dojo.isString(p)){ -					content = p; -				}else{ -					content = dojo.toJson(p); -				} -			} -		} -		return content; //String -	} -}); - -} diff --git a/includes/js/dojox/wire/ml/Transfer.js b/includes/js/dojox/wire/ml/Transfer.js deleted file mode 100644 index c7780ca..0000000 --- a/includes/js/dojox/wire/ml/Transfer.js +++ /dev/null @@ -1,359 +0,0 @@ -if(!dojo._hasResource["dojox.wire.ml.Transfer"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.wire.ml.Transfer"] = true; -dojo.provide("dojox.wire.ml.Transfer"); -dojo.provide("dojox.wire.ml.ChildWire"); -dojo.provide("dojox.wire.ml.ColumnWire"); -dojo.provide("dojox.wire.ml.NodeWire"); -dojo.provide("dojox.wire.ml.SegmentWire"); - -dojo.require("dijit._Widget"); -dojo.require("dijit._Container"); -dojo.require("dojox.wire._base"); -dojo.require("dojox.wire.ml.Action"); - -dojo.declare("dojox.wire.ml.Transfer", dojox.wire.ml.Action, { -	//	summary: -	//		A widget to transfer values through source and target Wires -	//	description: -	//		This widget represents a controller task to transfer a value from -	//		a source to a target, through a source and a target Wires, when -	//		an event (a function) or a topic is issued. -	//		If this widget has child ChildWire widgets, their _addWire() -	//		methods are called to add Wire arguments to a source or a target -	//		Wire. -	//	source: -	//		A source object and/or property -	//	sourceStore: -	//		A data store for a source data item -	//	sourceAttribute: -	//		An attribute of a source data item -	//	sourcePath: -	//		A simplified XPath to a source property of an XML element -	//	type: -	//		A type of the value to be transferred -	//	converter: -	//		A class name of a converter for the value to be transferred -	//	target: -	//		A target object and/or property -	//	targetStore: -	//		A data store for a target data item -	//	targetAttribute: -	//		An attribute of a target data item -	//	targetPath: -	//		A simplified XPath to a target property of an XML element -	source: "", -	sourceStore: "", -	sourceAttribute: "", -	sourcePath: "", -	type: "", -	converter: "", -	delimiter: "", -	target: "", -	targetStore: "", -	targetAttribute: "", -	targetPath: "", - -	_run: function(){ -		//	summary: -		//		Transfer a value from a source to a target -		//	description: -		//		First, Wires for a source and a target are created from attributes. -		//		Then, a value is obtained by getValue() of the source Wire is set -		//		by setValue() of the target Wire. -		//		The arguments to this method is passed to getValue() and setValue() -		//		of Wires, so that they can be used to identify the root objects off -		//		the arguments. -		var sourceWire = this._getWire("source"); -		var targetWire = this._getWire("target"); -		dojox.wire.transfer(sourceWire, targetWire, arguments); -	}, - -	_getWire: function(/*String*/which){ -		//	summary: -		//		Build Wire arguments from attributes -		//	description: -		//		Arguments object for a source or a target Wire, specified by -		//		'which' argument, are build from corresponding attributes, -		//		including '*Store' (for 'dataStore'), '*Attribute' -		//		(for 'attribute), '*Path' (for 'path'), 'type' and 'converter'. -		//		'source' or 'target' attribute is parsed as: -		//			"object_id.property_name[.sub_property_name...]" -		//		If 'source' or 'target' starts with "arguments", 'object' -		//		argument for a Wire is set to null, so that the root object is -		//		given as an event or topic arguments. -		//		If this widget has child ChildWire widgets with a corresponding -		//		'which' attribute, their _addWire() methods are called to add -		//		additional Wire arguments and nested Wire is created, -		//		specifying the Wire defined by this widget to 'object' argument. -		//	which: -		//		Which Wire arguments to build, "source" or "target" -		//	returns: -		//		Wire arguments object -		var args = undefined; -		if(which == "source"){ -			args = { -				object: this.source, -				dataStore: this.sourceStore, -				attribute: this.sourceAttribute, -				path: this.sourcePath, -				type: this.type, -				converter: this.converter -			}; -		}else{ // "target" -			args = { -				object: this.target, -				dataStore: this.targetStore, -				attribute: this.targetAttribute, -				path: this.targetPath -			}; -		} -		if(args.object){ -			if(args.object.length >= 9 && args.object.substring(0, 9) == "arguments"){ -				args.property = args.object.substring(9); -				args.object = null; -			}else{ -				var i = args.object.indexOf('.'); -				if(i < 0){ -					args.object = dojox.wire.ml._getValue(args.object); -				}else{ -					args.property = args.object.substring(i + 1); -					args.object = dojox.wire.ml._getValue(args.object.substring(0, i)); -				} -			} -		} -		if(args.dataStore){ -			args.dataStore = dojox.wire.ml._getValue(args.dataStore); -		} -		var childArgs = undefined; -		var children = this.getChildren(); -		for(var i in children){ -			var child = children[i]; -			if(child instanceof dojox.wire.ml.ChildWire && child.which == which){ -				if(!childArgs){ -					childArgs = {}; -				} -				child._addWire(this, childArgs); -			} -		} -		if(childArgs){ // make nested Wires -			childArgs.object = dojox.wire.create(args); -			childArgs.dataStore = args.dataStore; -			args = childArgs; -		} -		return args; //Object -	} -}); - -dojo.declare("dojox.wire.ml.ChildWire", dijit._Widget, { -	//	summary: -	//		A widget to add a child wire -	//	description: -	//		Attributes of this widget are used to add a child Wire to -	//		a composite Wire of the parent Transfer widget. -	//	which: -	//		Which Wire to add a child Wire, "source" or "target", default to -	//		"source" -	//	object: -	//		A root object for the value -	//	property: -	//		A property for the value -	//	type: -	//		A type of the value -	//	converter: -	//		A class name of a converter for the value -	//	attribute: -	//		A data item attribute for the value -	//	path: -	//		A simplified XPath for the value -	//	name: -	//		A composite property name -	which: "source", -	object: "", -	property: "", -	type: "", -	converter: "", -	attribute: "", -	path: "", -	name: "", - -	_addWire: function(/*Transfer*/parent, /*Object*/args){ -		//	summary: -		//		Add a child Wire to Wire arguments -		//	description: -		//		If 'name' attribute is specified, a child Wire is added as -		//		the named property of 'children' object of 'args'. -		//		Otherwise, a child Wire is added to 'children' array of 'args'. -		//	parent: -		//		A parent Transfer widget -		//	args: -		//		Wire arguments -		if(this.name){ // object -			if(!args.children){ -				args.children = {}; -			} -			args.children[this.name] = this._getWire(parent); -		}else{ // array -			if(!args.children){ -				args.children = []; -			} -			args.children.push(this._getWire(parent)); -		} -	}, - -	_getWire: function(/*Transfer*/parent){ -		//	summary: -		//		Build child Wire arguments from attributes -		//	description: -		//		Arguments object for a child Wire are build from attributes, -		//		including 'object', 'property', 'type', 'converter', -		//		'attribute' and 'path'. -		//	parent: -		//		A parent Transfer widget -		//	returns: -		//		Wire arguments object -		return { -			object: (this.object ? dojox.wire.ml._getValue(this.object) : undefined), -			property: this.property, -			type: this.type, -			converter: this.converter, -			attribute: this.attribute, -			path: this.path -		}; //Object -	} -}); - -dojo.declare("dojox.wire.ml.ColumnWire", dojox.wire.ml.ChildWire, { -	//	summary: -	//		A widget to add a column wire -	//	description: -	//		Attributes of this widget are used to add a column Wire to -	//		a TableAdapter of the parent Transfer widget. -	//	column: -	//		A column name -	column: "", - -	_addWire: function(/*Transfer*/parent, /*Object*/args){ -		//	summary: -		//		Add a column Wire to Wire arguments -		//	description: -		//		If 'column' attribute is specified, a column Wire is added as -		//		the named property of 'columns' object of 'args'. -		//		Otherwise, a column Wire is added to 'columns' array of 'args'. -		//	parent: -		//		A parent Transfer widget -		//	args: -		//		Wire arguments -		if(this.column){ // object -			if(!args.columns){ -				args.columns = {}; -			} -			args.columns[this.column] = this._getWire(parent); -		}else{ // array -			if(!args.columns){ -				args.columns = []; -			} -			args.columns.push(this._getWire(parent)); -		} -	} -}); - -dojo.declare("dojox.wire.ml.NodeWire", [dojox.wire.ml.ChildWire, dijit._Container], { -	//	summary: -	//		A widget to add node wires -	//	description: -	//		Attributes of this widget are used to add node Wires to -	//		a TreeAdapter of the parent Transfer widget. -	//	titleProperty: -	//		A property for the node title -	//	titleAttribute: -	//		A data item attribute for the node title -	//	titlePath: -	//		A simplified XPath for the node title -	titleProperty: "", -	titleAttribute: "", -	titlePath: "", - -	_addWire: function(/*Transfer*/parent, /*Object*/args){ -		//	summary: -		//		Add node Wires to Wire arguments -		//	description: -		//		Node Wires are added to 'nodes' array of 'args'. -		//	parent: -		//		A parent Transfer widget -		//	args: -		//		Wire arguments -		if(!args.nodes){ -			args.nodes = []; -		} -		args.nodes.push(this._getWires(parent)); -	}, - -	_getWires: function(/*Transfer*/parent){ -		//	summary: -		//		Build node Wires arguments from attributes -		//	description: -		//		Arguments object for 'node' Wire are build from attributes, -		//		including 'object', 'property', 'type', 'converter', -		//		'attribute' and 'path'. -		//		Arguments object for 'title' Wire are build from another set of -		//		attributes, 'titleProperty', 'titleAttribute' and 'titlePath'. -		//		If this widget has child NodeWire widgets, their _getWires() -		//		methods are called recursively to build 'children' array of -		//		'args'. -		//	parent: -		//		A parent Transfer widget -		//	returns: -		//		Wire arguments object -		var args = { -			node: this._getWire(parent), -			title: { -				type: "string", -				property: this.titleProperty, -				attribute: this.titleAttribute, -				path: this.titlePath -			} -		}; -		var childArgs = []; -		var children = this.getChildren(); -		for(var i in children){ -			var child = children[i]; -			if(child instanceof dojox.wire.ml.NodeWire){ -				childArgs.push(child._getWires(parent)); -			} -		} -		if(childArgs.length > 0){ -			args.children = childArgs; -		} -		return args; //Object -	} -}); - -dojo.declare("dojox.wire.ml.SegmentWire", dojox.wire.ml.ChildWire, { -	//	summary: -	//		A widget to add a segment wire -	//	description: -	//		Attributes of this widget are used to add a segment Wire to -	//		a TextAdapter of the parent Transfer widget. - -	_addWire: function(/*Transfer*/parent, /*Object*/args){ -		//	summary: -		//		Add a segument Wire to Wire arguments -		//	description: -		//		A segment Wire is added to 'segments' array of 'args'. -		//		If 'parent' has 'delimiter' attribute, it is used for -		//		'delimiter' property of 'args'. -		//	parent: -		//		A parent Transfer widget -		//	args: -		//		Wire arguments -		if(!args.segments){ -			args.segments = []; -		} -		args.segments.push(this._getWire(parent)); -		if(parent.delimiter && !args.delimiter){ -			args.delimiter = parent.delimiter; -		} -	} -}); - -} diff --git a/includes/js/dojox/wire/ml/util.js b/includes/js/dojox/wire/ml/util.js deleted file mode 100644 index a336b28..0000000 --- a/includes/js/dojox/wire/ml/util.js +++ /dev/null @@ -1,295 +0,0 @@ -if(!dojo._hasResource["dojox.wire.ml.util"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.wire.ml.util"] = true; -dojo.provide("dojox.wire.ml.util"); - -dojo.require("dojox.data.dom"); -dojo.require("dojox.wire.Wire"); - -dojox.wire.ml._getValue = function(/*String*/source, /*Array*/args){ -	//	summary: -	//		Return a value -	//	description: -	//		This method obtains an object by an ID of a widget or an DOM -	//		element. -	//		If 'source' specifies a dotted notation to its property, a Wire is -	//		used to get the object property. -	//		If 'source' starts with "arguments", 'args' is used as a root -	//		object for the Wire. -	//	source: -	//		A string to specify an object and its property -	//	args: -	//		An optional arguments array -	//	returns: -	//		A value -	if(!source){ -		return undefined; //undefined -	} -	var property = undefined; -	if(args && source.length >= 9 && source.substring(0, 9) == "arguments"){ -		property = source.substring(9); -		return new dojox.wire.Wire({property: property}).getValue(args); -	} -	var i = source.indexOf('.'); -	if(i >= 0){ -		property = source.substring(i + 1); -		source = source.substring(0, i); -	} -	var object = (dijit.byId(source) || dojo.byId(source) || dojo.getObject(source)); -	if(!object){ -		return undefined; //undefined -	} -	if(!property){ -		return object; //Object -	}else{ -		return new dojox.wire.Wire({object: object, property: property}).getValue(); //anything -	} -}; - -dojox.wire.ml._setValue = function(/*String*/target, /*anything*/value){ -	//	summary: -	//		Store a value -	//	description: -	//		This method stores a value by an ID of a widget or an DOM -	//		element with a dotted notation to its property, using a Wire. -	//	target: -	//		A string to specify an object and its property -	//	value: -	//		A value -	if(!target){ -		return; //undefined -	} -	var i = target.indexOf('.'); -	if(i < 0){ -		return; //undefined -	} -	var object = this._getValue(target.substring(0, i)); -	if(!object){ -		return; //undefined -	} -	var property = target.substring(i + 1); -	new dojox.wire.Wire({object: object, property: property}).setValue(value); -}; - -dojo.declare("dojox.wire.ml.XmlElement", null, { -	//	summary: -	//		An object wrapping an XML element -	//	description: -	//		This class represents an XML element. - -	constructor: function(/*Element||String*/element){ -		//	summary: -		//		Initialize with an XML element or a tag name -		//	element: -		//		An XML element or a tag name -		if(dojo.isString(element)){ -			element = this._getDocument().createElement(element); -		} -		this.element = element; -	}, -	getPropertyValue: function(/*String*/property){ -		//	summary: -		//		Return a property value -		//	description: -		//		If 'property' starts with '@', the attribute value is returned. -		//		If 'property' specifies "text()", the value of the first child -		//		text is returned. -		//		Otherwise, child elements of the tag name specified with -		//		'property' are returned. -		//	property: -		//		A property name -		//	returns: -		//		A property value -		var value = undefined; -		if(!this.element){ -			return value; //undefined -		} -		if(!property){ -			return value; //undefined -		} - -		if(property.charAt(0) == '@'){ -			var attribute = property.substring(1); -			value = this.element.getAttribute(attribute); -		}else if(property == "text()"){ -			var text = this.element.firstChild; -			if(text){ -				value = text.nodeValue; -			} -		}else{ // child elements -			var elements = []; -			for(var i = 0; i < this.element.childNodes.length; i++){ -				var child = this.element.childNodes[i]; -				if(child.nodeType === 1 /* ELEMENT_NODE */ && child.nodeName == property){ -					elements.push(new dojox.wire.ml.XmlElement(child)); -				} -			} -			if(elements.length > 0){ -				if(elements.length === 1){ -					value = elements[0]; -				}else{ -					value = elements; -				} -			} -		} -		return value; //String||Array||XmlElement -	}, - -	setPropertyValue: function(/*String*/property, /*String||Array||XmlElement*/value){ -		//	summary: -		//		Store a property value -		//	description: -		//		If 'property' starts with '@', 'value' is set to the attribute. -		//		If 'property' specifies "text()", 'value' is set as the first -		//		child text. -		//		If 'value' is a string, a child element of the tag name -		//		specified with 'property' is created and 'value' is set as -		//		the first child text of the child element. -		//		Otherwise, 'value' is set to as child elements. -		//	property: -		//		A property name -		//	value: -		//		A property value -		if(!this.element){ -			return; //undefined -		} -		if(!property){ -			return; //undefined -		} - -		if(property.charAt(0) == '@'){ -			var attribute = property.substring(1); -			if(value){ -				this.element.setAttribute(attribute, value); -			}else{ -				this.element.removeAttribute(attribute); -			} -		}else if(property == "text()"){ -			while(this.element.firstChild){ -				this.element.removeChild(this.element.firstChild); -			} -			if(value){ -				var text = this._getDocument().createTextNode(value); -				this.element.appendChild(text); -			} -		}else{ // child elements -			var nextChild = null; -			for(var i = this.element.childNodes.length - 1; i >= 0; i--){ -				var child = this.element.childNodes[i]; -				if(child.nodeType === 1 /* ELEMENT_NODE */ && child.nodeName == property){ -					if(!nextChild){ -						nextChild = child.nextSibling; -					} -					this.element.removeChild(child); -				} -			} -			if(value){ -				if(dojo.isArray(value)){ -					for(var i in value){ -						var e = value[i]; -						if(e.element){ -							this.element.insertBefore(e.element, nextChild); -						} -					} -				}else if(value instanceof dojox.wire.ml.XmlElement){ -					if(value.element){ -						this.element.insertBefore(value.element, nextChild); -					} -				}else{ // assume string -					var child = this._getDocument().createElement(property); -					var text = this._getDocument().createTextNode(value); -					child.appendChild(text); -					this.element.insertBefore(child, nextChild); -				} -			} -		} -	}, - -	toString: function(){ -		//	summary: -		//		Return a value of the first text child of the element -		//	description: -		//		A value of the first text child of the element is returned. -		//	returns: -		//		A value of the first text child of the element -		var s = ""; -		if(this.element){ -			var text = this.element.firstChild; -			if(text){ -				s = text.nodeValue; -			} -		} -		return s; //String -	}, - -	toObject: function(){ -		//	summary: -		//		Return an object representation of the element -		//	description: -		//		An object with properties for child elements, attributes and -		//		text is returned. -		//	returns: -		//		An object representation of the element -		if(!this.element){ -			return null; //null -		} -		var text = ""; -		var obj = {}; -		var elements = 0; -		for(var i = 0; i < this.element.childNodes.length; i++){ -			var child = this.element.childNodes[i]; -			if(child.nodeType === 1 /* ELEMENT_NODE */){ -				elements++; -				var o = new dojox.wire.ml.XmlElement(child).toObject(); -				var name = child.nodeName; -				var p = obj[name]; -				if(!p){ -					obj[name] = o; -				}else if(dojo.isArray(p)){ -					p.push(o); -				}else{ -					obj[name] = [p, o]; // make them array -				} -			}else if(child.nodeType === 3 /* TEXT_NODE */ || -					 child.nodeType === 4 /* CDATA_SECTION_NODE */){ -				text += child.nodeValue; -			} -		} -		var attributes = 0; -		if(this.element.nodeType === 1 /* ELEMENT_NODE */){ -			attributes = this.element.attributes.length; -			for(var i = 0; i < attributes; i++){ -				var attr = this.element.attributes[i]; -				obj["@" + attr.nodeName] = attr.nodeValue; -			} -		} -		if(elements === 0){ -			if(attributes === 0){ -				// text only -				return text; //String -			} -			// text with attributes -			obj["text()"] = text; -		} -		// else ignore text -		return obj; //Object -	}, - -	_getDocument: function(){ -		//	summary: -		//		Return a DOM document -		//	description: -		//		If 'element' is specified, a DOM document of the element is -		//		returned. -		//		Otherwise, a DOM document is created. -		//	returns: -		//		A DOM document -		if(this.element){ -			return (this.element.nodeType == 9 /* DOCUMENT_NODE */ ? -				this.element : this.element.ownerDocument); //Document -		}else{ -			return dojox.data.dom.createDocument(); //Document -		} -	} -}); - -}  | 
