diff options
Diffstat (limited to 'includes/js/dojox/data/dom.js')
-rw-r--r-- | includes/js/dojox/data/dom.js | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/includes/js/dojox/data/dom.js b/includes/js/dojox/data/dom.js deleted file mode 100644 index 8911bc3..0000000 --- a/includes/js/dojox/data/dom.js +++ /dev/null @@ -1,187 +0,0 @@ -if(!dojo._hasResource["dojox.data.dom"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.data.dom"] = true; -dojo.provide("dojox.data.dom"); - -//DOM type to int value for reference. -//Ints make for more compact code than full constant names. -//ELEMENT_NODE = 1; -//ATTRIBUTE_NODE = 2; -//TEXT_NODE = 3; -//CDATA_SECTION_NODE = 4; -//ENTITY_REFERENCE_NODE = 5; -//ENTITY_NODE = 6; -//PROCESSING_INSTRUCTION_NODE = 7; -//COMMENT_NODE = 8; -//DOCUMENT_NODE = 9; -//DOCUMENT_TYPE_NODE = 10; -//DOCUMENT_FRAGMENT_NODE = 11; -//NOTATION_NODE = 12; - -//FIXME: Remove this file when possible. -//This file contains internal/helper APIs as holders until the true DOM apis of Dojo 0.9 are finalized. -//Therefore, these should not be generally used, they are present only for the use by XmlStore and the -//wires project until proper dojo replacements are available. When such exist, XmlStore and the like -//will be ported off these and this file will be deleted. -dojo.experimental("dojox.data.dom"); - -dojox.data.dom.createDocument = function(/*string?*/ str, /*string?*/ mimetype){ - // summary: - // cross-browser implementation of creating an XML document object. - // - // str: - // Optional text to create the document from. If not provided, an empty XML document will be created. - // mimetype: - // Optional mimetype of the text. Typically, this is text/xml. Will be defaulted to text/xml if not provided. - var _document = dojo.doc; - - if(!mimetype){ mimetype = "text/xml"; } - if(str && (typeof dojo.global["DOMParser"]) !== "undefined"){ - var parser = new DOMParser(); - return parser.parseFromString(str, mimetype); // DOMDocument - }else if((typeof dojo.global["ActiveXObject"]) !== "undefined"){ - var prefixes = [ "MSXML2", "Microsoft", "MSXML", "MSXML3" ]; - for(var i = 0; i<prefixes.length; i++){ - try{ - var doc = new ActiveXObject(prefixes[i]+".XMLDOM"); - if(str){ - if(doc){ - doc.async = false; - doc.loadXML(str); - return doc; // DOMDocument - }else{ - console.log("loadXML didn't work?"); - } - }else{ - if(doc){ - return doc; //DOMDocument - } - } - }catch(e){ /* squelch */ }; - } - }else if((_document.implementation)&& - (_document.implementation.createDocument)){ - if(str){ - if(_document.createElement){ - // FIXME: this may change all tags to uppercase! - var tmp = _document.createElement("xml"); - tmp.innerHTML = str; - var xmlDoc = _document.implementation.createDocument("foo", "", null); - for(var i = 0; i < tmp.childNodes.length; i++) { - xmlDoc.importNode(tmp.childNodes.item(i), true); - } - return xmlDoc; // DOMDocument - } - }else{ - return _document.implementation.createDocument("", "", null); // DOMDocument - } - } - return null; // DOMDocument -} - -dojox.data.dom.textContent = function(/*Node*/node, /*string?*/text){ - // summary: - // Implementation of the DOM Level 3 attribute; scan node for text - // description: - // Implementation of the DOM Level 3 attribute; scan node for text - // This function can also update the text of a node by replacing all child - // content of the node. - // node: - // The node to get the text off of or set the text on. - // text: - // Optional argument of the text to apply to the node. - if(arguments.length>1){ - var _document = node.ownerDocument || dojo.doc; //Preference is to get the node owning doc first or it may fail - dojox.data.dom.replaceChildren(node, _document.createTextNode(text)); - return text; // string - } else { - if(node.textContent !== undefined){ //FF 1.5 - return node.textContent; // string - } - var _result = ""; - if(node == null){ - return _result; //empty string. - } - for(var i = 0; i < node.childNodes.length; i++){ - switch(node.childNodes[i].nodeType){ - case 1: // ELEMENT_NODE - case 5: // ENTITY_REFERENCE_NODE - _result += dojox.data.dom.textContent(node.childNodes[i]); - break; - case 3: // TEXT_NODE - case 2: // ATTRIBUTE_NODE - case 4: // CDATA_SECTION_NODE - _result += node.childNodes[i].nodeValue; - break; - default: - break; - } - } - return _result; // string - } -} - -dojox.data.dom.replaceChildren = function(/*Element*/node, /*Node || array*/ newChildren){ - // summary: - // Removes all children of node and appends newChild. All the existing - // children will be destroyed. - // description: - // Removes all children of node and appends newChild. All the existing - // children will be destroyed. - // node: - // The node to modify the children on - // newChildren: - // The children to add to the node. It can either be a single Node or an - // array of Nodes. - var nodes = []; - - if(dojo.isIE){ - for(var i=0;i<node.childNodes.length;i++){ - nodes.push(node.childNodes[i]); - } - } - - dojox.data.dom.removeChildren(node); - for(var i=0;i<nodes.length;i++){ - dojo._destroyElement(nodes[i]); - } - - if(!dojo.isArray(newChildren)){ - node.appendChild(newChildren); - }else{ - for(var i=0;i<newChildren.length;i++){ - node.appendChild(newChildren[i]); - } - } -} - -dojox.data.dom.removeChildren = function(/*Element*/node){ - // summary: - // removes all children from node and returns the count of children removed. - // The children nodes are not destroyed. Be sure to call dojo._destroyElement on them - // after they are not used anymore. - // node: - // The node to remove all the children from. - var count = node.childNodes.length; - while(node.hasChildNodes()){ - node.removeChild(node.firstChild); - } - return count; // int -} - - -dojox.data.dom.innerXML = function(/*Node*/node){ - // summary: - // Implementation of MS's innerXML function. - // node: - // The node from which to generate the XML text representation. - if(node.innerXML){ - return node.innerXML; // string - }else if (node.xml){ - return node.xml; // string - }else if(typeof XMLSerializer != "undefined"){ - return (new XMLSerializer()).serializeToString(node); // string - } -} - - -} |