|
Struts example source code file (dom.js)
The Struts dom.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.dom"); dojo.dom.ELEMENT_NODE = 1; dojo.dom.ATTRIBUTE_NODE = 2; dojo.dom.TEXT_NODE = 3; dojo.dom.CDATA_SECTION_NODE = 4; dojo.dom.ENTITY_REFERENCE_NODE = 5; dojo.dom.ENTITY_NODE = 6; dojo.dom.PROCESSING_INSTRUCTION_NODE = 7; dojo.dom.COMMENT_NODE = 8; dojo.dom.DOCUMENT_NODE = 9; dojo.dom.DOCUMENT_TYPE_NODE = 10; dojo.dom.DOCUMENT_FRAGMENT_NODE = 11; dojo.dom.NOTATION_NODE = 12; dojo.dom.dojoml = "http://www.dojotoolkit.org/2004/dojoml"; dojo.dom.xmlns = {svg:"http://www.w3.org/2000/svg", smil:"http://www.w3.org/2001/SMIL20/", mml:"http://www.w3.org/1998/Math/MathML", cml:"http://www.xml-cml.org", xlink:"http://www.w3.org/1999/xlink", xhtml:"http://www.w3.org/1999/xhtml", xul:"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", xbl:"http://www.mozilla.org/xbl", fo:"http://www.w3.org/1999/XSL/Format", xsl:"http://www.w3.org/1999/XSL/Transform", xslt:"http://www.w3.org/1999/XSL/Transform", xi:"http://www.w3.org/2001/XInclude", xforms:"http://www.w3.org/2002/01/xforms", saxon:"http://icl.com/saxon", xalan:"http://xml.apache.org/xslt", xsd:"http://www.w3.org/2001/XMLSchema", dt:"http://www.w3.org/2001/XMLSchema-datatypes", xsi:"http://www.w3.org/2001/XMLSchema-instance", rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#", rdfs:"http://www.w3.org/2000/01/rdf-schema#", dc:"http://purl.org/dc/elements/1.1/", dcq:"http://purl.org/dc/qualifiers/1.0", "soap-env":"http://schemas.xmlsoap.org/soap/envelope/", wsdl:"http://schemas.xmlsoap.org/wsdl/", AdobeExtensions:"http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"}; dojo.dom.isNode = function (wh) { if (typeof Element == "function") { try { return wh instanceof Element; } catch (e) { } } else { return wh && !isNaN(wh.nodeType); } }; dojo.dom.getUniqueId = function () { var _document = dojo.doc(); do { var id = "dj_unique_" + (++arguments.callee._idIncrement); } while (_document.getElementById(id)); return id; }; dojo.dom.getUniqueId._idIncrement = 0; dojo.dom.firstElement = dojo.dom.getFirstChildElement = function (parentNode, tagName) { var node = parentNode.firstChild; while (node && node.nodeType != dojo.dom.ELEMENT_NODE) { node = node.nextSibling; } if (tagName && node && node.tagName && node.tagName.toLowerCase() != tagName.toLowerCase()) { node = dojo.dom.nextElement(node, tagName); } return node; }; dojo.dom.lastElement = dojo.dom.getLastChildElement = function (parentNode, tagName) { var node = parentNode.lastChild; while (node && node.nodeType != dojo.dom.ELEMENT_NODE) { node = node.previousSibling; } if (tagName && node && node.tagName && node.tagName.toLowerCase() != tagName.toLowerCase()) { node = dojo.dom.prevElement(node, tagName); } return node; }; dojo.dom.nextElement = dojo.dom.getNextSiblingElement = function (node, tagName) { if (!node) { return null; } do { node = node.nextSibling; } while (node && node.nodeType != dojo.dom.ELEMENT_NODE); if (node && tagName && tagName.toLowerCase() != node.tagName.toLowerCase()) { return dojo.dom.nextElement(node, tagName); } return node; }; dojo.dom.prevElement = dojo.dom.getPreviousSiblingElement = function (node, tagName) { if (!node) { return null; } if (tagName) { tagName = tagName.toLowerCase(); } do { node = node.previousSibling; } while (node && node.nodeType != dojo.dom.ELEMENT_NODE); if (node && tagName && tagName.toLowerCase() != node.tagName.toLowerCase()) { return dojo.dom.prevElement(node, tagName); } return node; }; dojo.dom.moveChildren = function (srcNode, destNode, trim) { var count = 0; if (trim) { while (srcNode.hasChildNodes() && srcNode.firstChild.nodeType == dojo.dom.TEXT_NODE) { srcNode.removeChild(srcNode.firstChild); } while (srcNode.hasChildNodes() && srcNode.lastChild.nodeType == dojo.dom.TEXT_NODE) { srcNode.removeChild(srcNode.lastChild); } } while (srcNode.hasChildNodes()) { destNode.appendChild(srcNode.firstChild); count++; } return count; }; dojo.dom.copyChildren = function (srcNode, destNode, trim) { var clonedNode = srcNode.cloneNode(true); return this.moveChildren(clonedNode, destNode, trim); }; dojo.dom.replaceChildren = function (node, newChild) { var nodes = []; if (dojo.render.html.ie) { for (var i = 0; i < node.childNodes.length; i++) { nodes.push(node.childNodes[i]); } } dojo.dom.removeChildren(node); node.appendChild(newChild); for (var i = 0; i < nodes.length; i++) { dojo.dom.destroyNode(nodes[i]); } }; dojo.dom.removeChildren = function (node) { var count = node.childNodes.length; while (node.hasChildNodes()) { dojo.dom.removeNode(node.firstChild); } return count; }; dojo.dom.replaceNode = function (node, newNode) { return node.parentNode.replaceChild(newNode, node); }; dojo.dom.destroyNode = function (node) { if (node.parentNode) { node = dojo.dom.removeNode(node); } if (node.nodeType != 3) { if (dojo.evalObjPath("dojo.event.browser.clean", false)) { dojo.event.browser.clean(node); } if (dojo.render.html.ie) { node.outerHTML = ""; } } }; dojo.dom.removeNode = function (node) { if (node && node.parentNode) { return node.parentNode.removeChild(node); } }; dojo.dom.getAncestors = function (node, filterFunction, returnFirstHit) { var ancestors = []; var isFunction = (filterFunction && (filterFunction instanceof Function || typeof filterFunction == "function")); while (node) { if (!isFunction || filterFunction(node)) { ancestors.push(node); } if (returnFirstHit && ancestors.length > 0) { return ancestors[0]; } node = node.parentNode; } if (returnFirstHit) { return null; } return ancestors; }; dojo.dom.getAncestorsByTag = function (node, tag, returnFirstHit) { tag = tag.toLowerCase(); return dojo.dom.getAncestors(node, function (el) { return ((el.tagName) && (el.tagName.toLowerCase() == tag)); }, returnFirstHit); }; dojo.dom.getFirstAncestorByTag = function (node, tag) { return dojo.dom.getAncestorsByTag(node, tag, true); }; dojo.dom.isDescendantOf = function (node, ancestor, guaranteeDescendant) { if (guaranteeDescendant && node) { node = node.parentNode; } while (node) { if (node == ancestor) { return true; } node = node.parentNode; } return false; }; dojo.dom.innerXML = function (node) { if (node.innerXML) { return node.innerXML; } else { if (node.xml) { return node.xml; } else { if (typeof XMLSerializer != "undefined") { return (new XMLSerializer()).serializeToString(node); } } } }; dojo.dom.createDocument = function () { var doc = null; var _document = dojo.doc(); if (!dj_undef("ActiveXObject")) { var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; for (var i = 0; i < prefixes.length; i++) { try { doc = new ActiveXObject(prefixes[i] + ".XMLDOM"); } catch (e) { } if (doc) { break; } } } else { if ((_document.implementation) && (_document.implementation.createDocument)) { doc = _document.implementation.createDocument("", "", null); } } return doc; }; dojo.dom.createDocumentFromText = function (str, mimetype) { if (!mimetype) { mimetype = "text/xml"; } if (!dj_undef("DOMParser")) { var parser = new DOMParser(); return parser.parseFromString(str, mimetype); } else { if (!dj_undef("ActiveXObject")) { var domDoc = dojo.dom.createDocument(); if (domDoc) { domDoc.async = false; domDoc.loadXML(str); return domDoc; } else { dojo.debug("toXml didn't work?"); } } else { var _document = dojo.doc(); if (_document.createElement) { var tmp = _document.createElement("xml"); tmp.innerHTML = str; if (_document.implementation && _document.implementation.createDocument) { 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; } return ((tmp.document) && (tmp.document.firstChild ? tmp.document.firstChild : tmp)); } } } return null; }; dojo.dom.prependChild = function (node, parent) { if (parent.firstChild) { parent.insertBefore(node, parent.firstChild); } else { parent.appendChild(node); } return true; }; dojo.dom.insertBefore = function (node, ref, force) { if ((force != true) && (node === ref || node.nextSibling === ref)) { return false; } var parent = ref.parentNode; parent.insertBefore(node, ref); return true; }; dojo.dom.insertAfter = function (node, ref, force) { var pn = ref.parentNode; if (ref == pn.lastChild) { if ((force != true) && (node === ref)) { return false; } pn.appendChild(node); } else { return this.insertBefore(node, ref.nextSibling, force); } return true; }; dojo.dom.insertAtPosition = function (node, ref, position) { if ((!node) || (!ref) || (!position)) { return false; } switch (position.toLowerCase()) { case "before": return dojo.dom.insertBefore(node, ref); case "after": return dojo.dom.insertAfter(node, ref); case "first": if (ref.firstChild) { return dojo.dom.insertBefore(node, ref.firstChild); } else { ref.appendChild(node); return true; } break; default: ref.appendChild(node); return true; } }; dojo.dom.insertAtIndex = function (node, containingNode, insertionIndex) { var siblingNodes = containingNode.childNodes; if (!siblingNodes.length || siblingNodes.length == insertionIndex) { containingNode.appendChild(node); return true; } if (insertionIndex == 0) { return dojo.dom.prependChild(node, containingNode); } return dojo.dom.insertAfter(node, siblingNodes[insertionIndex - 1]); }; dojo.dom.textContent = function (node, text) { if (arguments.length > 1) { var _document = dojo.doc(); dojo.dom.replaceChildren(node, _document.createTextNode(text)); return text; } else { if (node.textContent != undefined) { return node.textContent; } var _result = ""; if (node == null) { return _result; } for (var i = 0; i < node.childNodes.length; i++) { switch (node.childNodes[i].nodeType) { case 1: case 5: _result += dojo.dom.textContent(node.childNodes[i]); break; case 3: case 2: case 4: _result += node.childNodes[i].nodeValue; break; default: break; } } return _result; } }; dojo.dom.hasParent = function (node) { return Boolean(node && node.parentNode && dojo.dom.isNode(node.parentNode)); }; dojo.dom.isTag = function (node) { if (node && node.tagName) { for (var i = 1; i < arguments.length; i++) { if (node.tagName == String(arguments[i])) { return String(arguments[i]); } } } return ""; }; dojo.dom.setAttributeNS = function (elem, namespaceURI, attrName, attrValue) { if (elem == null || ((elem == undefined) && (typeof elem == "undefined"))) { dojo.raise("No element given to dojo.dom.setAttributeNS"); } if (!((elem.setAttributeNS == undefined) && (typeof elem.setAttributeNS == "undefined"))) { elem.setAttributeNS(namespaceURI, attrName, attrValue); } else { var ownerDoc = elem.ownerDocument; var attribute = ownerDoc.createNode(2, attrName, namespaceURI); attribute.nodeValue = attrValue; elem.setAttributeNode(attribute); } }; Other Struts examples (source code examples)Here is a short list of links related to this Struts dom.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.