|
Struts example source code file (common.js)
The Struts common.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.io.common"); dojo.require("dojo.string"); dojo.require("dojo.lang.extras"); dojo.io.transports = []; dojo.io.hdlrFuncNames = ["load", "error", "timeout"]; dojo.io.Request = function (url, mimetype, transport, changeUrl) { if ((arguments.length == 1) && (arguments[0].constructor == Object)) { this.fromKwArgs(arguments[0]); } else { this.url = url; if (mimetype) { this.mimetype = mimetype; } if (transport) { this.transport = transport; } if (arguments.length >= 4) { this.changeUrl = changeUrl; } } }; dojo.lang.extend(dojo.io.Request, {url:"", mimetype:"text/plain", method:"GET", content:undefined, transport:undefined, changeUrl:undefined, formNode:undefined, sync:false, bindSuccess:false, useCache:false, preventCache:false, jsonFilter:function (value) { if ((this.mimetype == "text/json-comment-filtered") || (this.mimetype == "application/json-comment-filtered")) { var cStartIdx = value.indexOf("/*"); var cEndIdx = value.lastIndexOf("*/"); if ((cStartIdx == -1) || (cEndIdx == -1)) { dojo.debug("your JSON wasn't comment filtered!"); return ""; } return value.substring(cStartIdx + 2, cEndIdx); } dojo.debug("please consider using a mimetype of text/json-comment-filtered to avoid potential security issues with JSON endpoints"); return value; }, load:function (type, data, transportImplementation, kwArgs) { }, error:function (type, error, transportImplementation, kwArgs) { }, timeout:function (type, empty, transportImplementation, kwArgs) { }, handle:function (type, data, transportImplementation, kwArgs) { }, timeoutSeconds:0, abort:function () { }, fromKwArgs:function (kwArgs) { if (kwArgs["url"]) { kwArgs.url = kwArgs.url.toString(); } if (kwArgs["formNode"]) { kwArgs.formNode = dojo.byId(kwArgs.formNode); } if (!kwArgs["method"] && kwArgs["formNode"] && kwArgs["formNode"].method) { kwArgs.method = kwArgs["formNode"].method; } if (!kwArgs["handle"] && kwArgs["handler"]) { kwArgs.handle = kwArgs.handler; } if (!kwArgs["load"] && kwArgs["loaded"]) { kwArgs.load = kwArgs.loaded; } if (!kwArgs["changeUrl"] && kwArgs["changeURL"]) { kwArgs.changeUrl = kwArgs.changeURL; } kwArgs.encoding = dojo.lang.firstValued(kwArgs["encoding"], djConfig["bindEncoding"], ""); kwArgs.sendTransport = dojo.lang.firstValued(kwArgs["sendTransport"], djConfig["ioSendTransport"], false); var isFunction = dojo.lang.isFunction; for (var x = 0; x < dojo.io.hdlrFuncNames.length; x++) { var fn = dojo.io.hdlrFuncNames[x]; if (kwArgs[fn] && isFunction(kwArgs[fn])) { continue; } if (kwArgs["handle"] && isFunction(kwArgs["handle"])) { kwArgs[fn] = kwArgs.handle; } } dojo.lang.mixin(this, kwArgs); }}); dojo.io.Error = function (msg, type, num) { this.message = msg; this.type = type || "unknown"; this.number = num || 0; }; dojo.io.transports.addTransport = function (name) { this.push(name); this[name] = dojo.io[name]; }; dojo.io.bind = function (request) { if (!(request instanceof dojo.io.Request)) { try { request = new dojo.io.Request(request); } catch (e) { dojo.debug(e); } } var tsName = ""; if (request["transport"]) { tsName = request["transport"]; if (!this[tsName]) { dojo.io.sendBindError(request, "No dojo.io.bind() transport with name '" + request["transport"] + "'."); return request; } if (!this[tsName].canHandle(request)) { dojo.io.sendBindError(request, "dojo.io.bind() transport with name '" + request["transport"] + "' cannot handle this type of request."); return request; } } else { for (var x = 0; x < dojo.io.transports.length; x++) { var tmp = dojo.io.transports[x]; if ((this[tmp]) && (this[tmp].canHandle(request))) { tsName = tmp; break; } } if (tsName == "") { dojo.io.sendBindError(request, "None of the loaded transports for dojo.io.bind()" + " can handle the request."); return request; } } this[tsName].bind(request); request.bindSuccess = true; return request; }; dojo.io.sendBindError = function (request, message) { if ((typeof request.error == "function" || typeof request.handle == "function") && (typeof setTimeout == "function" || typeof setTimeout == "object")) { var errorObject = new dojo.io.Error(message); setTimeout(function () { request[(typeof request.error == "function") ? "error" : "handle"]("error", errorObject, null, request); }, 50); } else { dojo.raise(message); } }; dojo.io.queueBind = function (request) { if (!(request instanceof dojo.io.Request)) { try { request = new dojo.io.Request(request); } catch (e) { dojo.debug(e); } } var oldLoad = request.load; request.load = function () { dojo.io._queueBindInFlight = false; var ret = oldLoad.apply(this, arguments); dojo.io._dispatchNextQueueBind(); return ret; }; var oldErr = request.error; request.error = function () { dojo.io._queueBindInFlight = false; var ret = oldErr.apply(this, arguments); dojo.io._dispatchNextQueueBind(); return ret; }; dojo.io._bindQueue.push(request); dojo.io._dispatchNextQueueBind(); return request; }; dojo.io._dispatchNextQueueBind = function () { if (!dojo.io._queueBindInFlight) { dojo.io._queueBindInFlight = true; if (dojo.io._bindQueue.length > 0) { dojo.io.bind(dojo.io._bindQueue.shift()); } else { dojo.io._queueBindInFlight = false; } } }; dojo.io._bindQueue = []; dojo.io._queueBindInFlight = false; dojo.io.argsFromMap = function (map, encoding, last) { var enc = /utf/i.test(encoding || "") ? encodeURIComponent : dojo.string.encodeAscii; var mapped = []; var control = new Object(); for (var name in map) { var domap = function (elt) { var val = enc(name) + "=" + enc(elt); mapped[(last == name) ? "push" : "unshift"](val); }; if (!control[name]) { var value = map[name]; if (dojo.lang.isArray(value)) { dojo.lang.forEach(value, domap); } else { domap(value); } } } return mapped.join("&"); }; dojo.io.setIFrameSrc = function (iframe, src, replace) { try { var r = dojo.render.html; if (!replace) { if (r.safari) { iframe.location = src; } else { frames[iframe.name].location = src; } } else { var idoc; if (r.ie) { idoc = iframe.contentWindow.document; } else { if (r.safari) { idoc = iframe.document; } else { idoc = iframe.contentWindow; } } if (!idoc) { iframe.location = src; return; } else { idoc.location.replace(src); } } } catch (e) { dojo.debug(e); dojo.debug("setIFrameSrc: " + e); } }; Other Struts examples (source code examples)Here is a short list of links related to this Struts common.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.