⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.js

📁 echo3 很炫的ajax框架技术 js 演示demo ajax j2ee 里面有jsp演示代码
💻 JS
📖 第 1 页 / 共 2 页
字号:
        /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var textNode = pElement.firstChild;            if (!textNode) {                return "";            }            var text = textNode.data;            while (textNode.nextSibling) {                textNode = textNode.nextSibling;                text += textNode.data;            }            return text;        }    },    $load: function() {        Echo.Serial.addPropertyTranslator("s", this);    }});/** * Date Property Translator Singleton. */Echo.Serial.Date = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {            _expr: /(\d{4})\.(\d{2}).(\d{2})/,        /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var value = Echo.Serial.String.toProperty(client, pElement);            var result = this._expr.exec(value);            if (!result) {                return null;            }            return new Date(result[1], parseInt(result[2], 10) - 1, result[3]);        },                /** @see Echo.Serial.PropertyTranslator#toXml */        toXml: function(client, pElement, value) {            pElement.appendChild(pElement.ownerDocument.createTextNode(                    value.getFullYear() + "." + (value.getMonth() + 1) + "." + value.getDate()));        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("d", this);        Echo.Serial.addPropertyTranslatorByType(Date, this);    }});/** * Map (Associative Array) Property Translator Singleton. */Echo.Serial.Map = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {        /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var mapObject = {};            var element = pElement.firstChild;            while (element) {                if (element.nodeType != 1) {                    continue;                }                        Echo.Serial.loadProperty(client, element, null, mapObject, null);                element = element.nextSibling;            }            return mapObject;        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("m", this);    }});/** * Alignment Property Translator Singleton. */Echo.Serial.Alignment = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {            _HORIZONTAL_MAP: {            "leading": "leading",            "trailing": "trailing",            "left": "left",            "center": "center",            "right": "right"        },                _VERTICAL_MAP: {            "top": "top",            "center": "middle",            "bottom": "bottom"        },            /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var element = Core.Web.DOM.getChildElementByTagName(pElement, "a");            var h = this._HORIZONTAL_MAP[element.getAttribute("h")];            var v = this._VERTICAL_MAP[element.getAttribute("v")];                        if (h) {                if (v) {                    return { horizontal: h, vertical: v };                }                return h;            }            if (v) {                return v;            }            return null;        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("Alignment", this);        Echo.Serial.addPropertyTranslator("AL", this);    }});/** * Border Property Translator Singleton. */Echo.Serial.Border = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {            /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {    	    if (pElement.firstChild.nodeType == 3) { // Text content    	        return pElement.firstChild.data;    	    } else if (pElement.getAttribute("v")) {                return pElement.getAttribute("v");            } else {                var element = Core.Web.DOM.getChildElementByTagName(pElement, "b");                var border = {};                                var value = element.getAttribute("t");                if (value) {                    border.top = value;                    value = element.getAttribute("r");                    if (value) {                        border.right = value;                        value = element.getAttribute("b");                        if (value) {                            border.bottom = value;                            value = element.getAttribute("l");                            if (value) {                                border.left = value;                            }                        }                    }                } else {                    throw new Error("Invalid multi-sided border: no sides set.");                }                return border;            }        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("Border", this);        Echo.Serial.addPropertyTranslator("BO", this);    }});/** * FillImage Property Translator Singleton. */Echo.Serial.FillImage = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {        /**         * Parses a &lt;fi&gt; fill image element.         *          * @param {Echo.Client} client the client         * @param {Element} fiElement the fill image element         * @return the parsed fill image         * @type #FillImage         */        parseElement: function(client, fiElement) {            var url = fiElement.getAttribute("u");            if (client.decompressUrl) {                url = client.decompressUrl(url);            }            var repeat = fiElement.getAttribute("r");            var x = fiElement.getAttribute("x");            var y = fiElement.getAttribute("y");                        if (repeat || x || y) {                return { url: url, repeat: repeat, x: x, y: y };            } else {                return url;            }        },        /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var element = Core.Web.DOM.getChildElementByTagName(pElement, "fi");            return this.parseElement(client, element);        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("FillImage", this);        Echo.Serial.addPropertyTranslator("FI", this);    }});/** * FillImageBorder Property Translator Singleton. */Echo.Serial.FillImageBorder = Core.extend(Echo.Serial.PropertyTranslator, {        $static: {        /**          * (Array) mapping between border indices and property names.         * @type Array          */        _NAMES: [ "topLeft", "top", "topRight", "left", "right", "bottomLeft", "bottom", "bottomRight" ],                /**         * Parses a &lt;fbi&gt; fill image border element.         *          * @param {Echo.Client} client the client         * @param {Element} fibElement the fill image border element         * @return the parsed fill image border         * @type #FillImageBorder         */        _parseElement: function(client, fibElement) {            var fillImageBorder = {                 contentInsets: fibElement.getAttribute("ci") ? fibElement.getAttribute("ci") : null,                borderInsets: fibElement.getAttribute("bi") ? fibElement.getAttribute("bi") : null,                color: fibElement.getAttribute("bc")            };                        var element = fibElement.firstChild;            var i = 0;            while(element) {                if (element.nodeType == 1) {                    if (element.nodeName == "fi") {                        fillImageBorder[this._NAMES[i]] = Echo.Serial.FillImage.parseElement(client, element);                        ++i;                    } else if (element.nodeName == "null-fi") {                        ++i;                    }                }                element = element.nextSibling;            }            if (!(i === 0 || i == 8)) {                throw new Error("Invalid FillImageBorder image count: " + i);            }                    return fillImageBorder;        },            /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var element = Core.Web.DOM.getChildElementByTagName(pElement, "fib");            return Echo.Serial.FillImageBorder._parseElement(client, element);        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("FillImageBorder", this);        Echo.Serial.addPropertyTranslator("FIB", this);    }});/** * Font Property Translator Singleton. */Echo.Serial.Font = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {            /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var element = Core.Web.DOM.getChildElementByTagName(pElement, "f");            var tfElements = Core.Web.DOM.getChildElementsByTagName(element, "tf");                        var font = { };                        if (tfElements.length > 1) {                font.typeface = [];                for (var i = 0; i < tfElements.length; ++i) {                    font.typeface[i] = tfElements[i].firstChild.data;                }            } else if (tfElements.length == 1) {                font.typeface = tfElements[0].firstChild.data;            }                        var size = element.getAttribute("sz");            if (size) {                font.size = size;            }                        if (element.getAttribute("bo")) { font.bold        = true; }            if (element.getAttribute("it")) { font.italic      = true; }            if (element.getAttribute("un")) { font.underline   = true; }            if (element.getAttribute("ov")) { font.overline    = true; }            if (element.getAttribute("lt")) { font.lineThrough = true; }                        return font;        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("Font", this);        Echo.Serial.addPropertyTranslator("F", this);    }});/** * ImageReference Property Translator Singleton. */Echo.Serial.ImageReference = Core.extend(Echo.Serial.PropertyTranslator, {    $static: {            /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var url;    	    if (pElement.firstChild.nodeType == 1) {    	    	var iElement = pElement.firstChild;    	        url = iElement.firstChild.data;    	        if (client.decompressUrl) {    	            url = client.decompressUrl(url);    	        }    	        var width = iElement.getAttribute("w");    	        width = width ? width : null;    	        var height = iElement.getAttribute("h");    	        height = height ? height : null;    	            	        if (width || height) {    	            return { url: url, width: width, height: height };    	        } else {    	            return url;    	        }    	    } else {    	     url = pElement.firstChild.data;    	    	return client.decompressUrl ? client.decompressUrl(url) : url;    	    }        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("ImageReference", this);        Echo.Serial.addPropertyTranslator("I", this);    }});/** * LayoutData Property Translator Singleton. */Echo.Serial.LayoutData = Core.extend(Echo.Serial.PropertyTranslator, {            $static: {        /** @see Echo.Serial.PropertyTranslator#toProperty */        toProperty: function(client, pElement) {            var layoutData = {};            var element = pElement.firstChild;            while (element) {                if (element.nodeType == 1) {                    if (element.nodeName == "p") {                        Echo.Serial.loadProperty(client, element, null, layoutData);                    }                }                element = element.nextSibling;            }            return layoutData;        }    },        $load: function() {        Echo.Serial.addPropertyTranslator("LayoutData", this);        Echo.Serial.addPropertyTranslator("L", this);    }});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -