diff options
author | Derrell Lipman <derrell@samba.org> | 2007-01-03 19:57:40 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:36:06 -0500 |
commit | 2e7c59c24470766e37309c7a8bfa4c7b81c57614 (patch) | |
tree | c44c89911868c52f25ca66bdefa68e13248db8e6 /webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/remote/ScriptTransport.js | |
parent | 57f5bf78fa9fc9d190c3cb25251e686a1488f790 (diff) | |
download | samba-2e7c59c24470766e37309c7a8bfa4c7b81c57614.tar.gz samba-2e7c59c24470766e37309c7a8bfa4c7b81c57614.tar.bz2 samba-2e7c59c24470766e37309c7a8bfa4c7b81c57614.zip |
r20515: Continued work on the Web Application Framework. Until we get all of the
functionality of the old scripts incorporated into the new framework, the old
scripts need to still be available. I've reverted to having the old scripts
be the default pages, and added an option to access the preview of the new
SWAT.
(This used to be commit b43620d4b8eff815f4a6dc02522a8dfc9fdcaef4)
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/remote/ScriptTransport.js')
-rw-r--r-- | webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/remote/ScriptTransport.js | 360 |
1 files changed, 0 insertions, 360 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/remote/ScriptTransport.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/remote/ScriptTransport.js deleted file mode 100644 index 8416988717..0000000000 --- a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/io/remote/ScriptTransport.js +++ /dev/null @@ -1,360 +0,0 @@ -/* ************************************************************************ - - qooxdoo - the new era of web development - - http://qooxdoo.org - - Copyright: - 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org - 2006 by Derrell Lipman - 2006 by STZ-IDA, Germany, http://www.stz-ida.de - - License: - LGPL 2.1: http://www.gnu.org/licenses/lgpl.html - - Authors: - * Sebastian Werner (wpbasti) - * Andreas Ecker (ecker) - * Derrell Lipman (derrell) - * Andreas Junghans (lucidcake) - -************************************************************************ */ - -/* ************************************************************************ - -#module(io_remote) -#require(qx.io.remote.Exchange) - -************************************************************************ */ - -/*! - Transports requests to a server using dynamic script tags. - - This class should not be used directly by client programmers. - */ -qx.OO.defineClass("qx.io.remote.ScriptTransport", qx.io.remote.AbstractRemoteTransport, -function() -{ - qx.io.remote.AbstractRemoteTransport.call(this); - - var vUniqueId = ++qx.io.remote.ScriptTransport._uniqueId; - if (vUniqueId >= 2000000000) { - qx.io.remote.ScriptTransport._uniqueId = vUniqueId = 1; - } - - this._element = null; - this._uniqueId = vUniqueId; -}); - -qx.Class._uniqueId = 0; -qx.Class._instanceRegistry = {}; -qx.Class.ScriptTransport_PREFIX = "_ScriptTransport_"; -qx.Class.ScriptTransport_ID_PARAM = qx.Class.ScriptTransport_PREFIX + "id"; -qx.Class.ScriptTransport_DATA_PARAM = qx.Class.ScriptTransport_PREFIX + "data"; -qx.Proto._lastReadyState = 0; - - - - - -/* ---------------------------------------------------------------------------- - CLASS PROPERTIES AND METHODS ---------------------------------------------------------------------------- -*/ - -// basic registration to qx.io.remote.Exchange -// the real availability check (activeX stuff and so on) follows at the first real request -qx.io.remote.Exchange.registerType(qx.io.remote.ScriptTransport, "qx.io.remote.ScriptTransport"); - -qx.io.remote.ScriptTransport.handles = -{ - synchronous : false, - asynchronous : true, - crossDomain : true, - fileUpload: false, - responseTypes : [ "text/plain", "text/javascript", "text/json" ] -} - -qx.io.remote.ScriptTransport.isSupported = function() { - return true; -} - - - - - - -/* ---------------------------------------------------------------------------- - USER METHODS ---------------------------------------------------------------------------- -*/ - -qx.Proto.send = function() -{ - var vUrl = this.getUrl(); - - - - // -------------------------------------- - // Adding parameters - // -------------------------------------- - - vUrl += (vUrl.indexOf("?") >= 0 ? "&" : "?") + qx.io.remote.ScriptTransport.ScriptTransport_ID_PARAM + "=" + this._uniqueId; - - var vParameters = this.getParameters(); - var vParametersList = []; - for (var vId in vParameters) { - if (vId.indexOf(qx.io.remote.ScriptTransport.ScriptTransport_PREFIX) == 0) { - this.error("Illegal parameter name. The following prefix is used internally by qooxdoo): " + - qx.io.remote.ScriptTransport.ScriptTransport_PREFIX); - } - var value = vParameters[vId]; - if (value instanceof Array) { - for (var i = 0; i < value.length; i++) { - vParametersList.push(encodeURIComponent(vId) + "=" + - encodeURIComponent(value[i])); - } - } else { - vParametersList.push(encodeURIComponent(vId) + "=" + - encodeURIComponent(value)); - } - } - - if (vParametersList.length > 0) { - vUrl += "&" + vParametersList.join("&"); - } - - - - // -------------------------------------- - // Sending data - // -------------------------------------- - - vData = this.getData(); - if (vData != null) { - vUrl += "&" + qx.io.remote.ScriptTransport.ScriptTransport_DATA_PARAM + "=" + encodeURIComponent(vData); - } - - qx.io.remote.ScriptTransport._instanceRegistry[this._uniqueId] = this; - this._element = document.createElement("script"); - this._element.charset = "utf-8"; // IE needs this (it ignores the - // encoding from the header sent by the - // server for dynamic script tags) - this._element.src = vUrl; - - document.body.appendChild(this._element); -} - - - - - -/* ---------------------------------------------------------------------------- - EVENT LISTENER ---------------------------------------------------------------------------- -*/ - -// For reference: -// http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/readyState_1.asp -qx.io.remote.ScriptTransport._numericMap = -{ - "uninitialized" : 1, - "loading" : 2, - "loaded" : 2, - "interactive" : 3, - "complete" : 4 -} - -qx.Proto._switchReadyState = function(vReadyState) -{ - // Ignoring already stopped requests - switch(this.getState()) - { - case "completed": - case "aborted": - case "failed": - case "timeout": - this.warn("Ignore Ready State Change"); - return; - } - - // Updating internal state - while (this._lastReadyState < vReadyState) { - this.setState(qx.io.remote.Exchange._nativeMap[++this._lastReadyState]); - } -} -qx.Class._requestFinished = function(id, content) { - var vInstance = qx.io.remote.ScriptTransport._instanceRegistry[id]; - if (vInstance == null) { - if (qx.Settings.getValueOfClass("qx.io.remote.Exchange", "enableDebug")) { - this.warn("Request finished for an unknown instance (probably aborted or timed out before)"); - } - } else { - vInstance._responseContent = content; - vInstance._switchReadyState(qx.io.remote.ScriptTransport._numericMap.complete); - } -} - - - - - -/* ---------------------------------------------------------------------------- - REQUEST HEADER SUPPORT ---------------------------------------------------------------------------- -*/ - -qx.Proto.setRequestHeader = function(vLabel, vValue) -{ - // TODO - // throw new Error("setRequestHeader is abstract"); -} - - - - - - -/* ---------------------------------------------------------------------------- - RESPONSE HEADER SUPPORT ---------------------------------------------------------------------------- -*/ - -qx.Proto.getResponseHeader = function(vLabel) -{ - return null; - - // TODO - // this.error("Need implementation", "getResponseHeader"); -} - -/*! - Provides an hash of all response headers. -*/ -qx.Proto.getResponseHeaders = function() -{ - return {} - - // TODO - // throw new Error("getResponseHeaders is abstract"); -} - - - - - - - -/* ---------------------------------------------------------------------------- - STATUS SUPPORT ---------------------------------------------------------------------------- -*/ - -/*! - Returns the current status code of the request if available or -1 if not. -*/ -qx.Proto.getStatusCode = function() -{ - return 200; - - // TODO - // this.error("Need implementation", "getStatusCode"); -} - -/*! - Provides the status text for the current request if available and null otherwise. -*/ -qx.Proto.getStatusText = function() -{ - return ""; - - // TODO - // this.error("Need implementation", "getStatusText"); -} - - - - - - - -/* ---------------------------------------------------------------------------- - RESPONSE DATA SUPPORT ---------------------------------------------------------------------------- -*/ - -/*! - Returns the length of the content as fetched thus far -*/ -qx.Proto.getFetchedLength = function() -{ - return 0; - - // TODO - // throw new Error("getFetchedLength is abstract"); -} - -qx.Proto.getResponseContent = function() -{ - if (this.getState() !== "completed") - { - if (qx.Settings.getValueOfClass("qx.io.remote.Exchange", "enableDebug")) { - this.warn("Transfer not complete, ignoring content!"); - } - - return null; - } - - if (qx.Settings.getValueOfClass("qx.io.remote.Exchange", "enableDebug")) { - this.debug("Returning content for responseType: " + this.getResponseType()); - } - - switch(this.getResponseType()) - { - case "text/plain": - // server is responsible for using a string as the response - - case "text/json": - - case "text/javascript": - return this._responseContent; - - default: - this.warn("No valid responseType specified (" + this.getResponseType() + ")!"); - return null; - } -} - - - - - - -/* ---------------------------------------------------------------------------- - DISPOSER ---------------------------------------------------------------------------- -*/ - -qx.Proto.dispose = function() -{ - if (this.getDisposed()) { - return true; - } - - if (this._element != null) - { - delete qx.io.remote.ScriptTransport._instanceRegistry[this._uniqueId]; - document.body.removeChild(this._element); - this._element = null; - } - - return qx.io.remote.AbstractRemoteTransport.prototype.dispose.call(this); -} |