]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/storage/FlashStorageProvider.js
Replace Dojo with jQuery
[eow] / static / dojo-release-1.1.1 / dojox / storage / FlashStorageProvider.js
diff --git a/static/dojo-release-1.1.1/dojox/storage/FlashStorageProvider.js b/static/dojo-release-1.1.1/dojox/storage/FlashStorageProvider.js
deleted file mode 100644 (file)
index 42cd7dc..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-if(!dojo._hasResource["dojox.storage.FlashStorageProvider"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojox.storage.FlashStorageProvider"] = true;
-dojo.provide("dojox.storage.FlashStorageProvider");
-
-dojo.require("dojox.flash");
-dojo.require("dojox.storage.manager");
-dojo.require("dojox.storage.Provider");
-
-// summary: 
-//             Storage provider that uses features in Flash to achieve permanent
-//             storage
-// description:
-//             Authors of this storage provider-
-//                     Brad Neuberg, bkn3@columbia.edu 
-dojo.declare("dojox.storage.FlashStorageProvider", dojox.storage.Provider, {
-               initialized: false,
-               
-               _available: null,
-               _statusHandler: null,
-               _flashReady: false,
-               _pageReady: false,
-               
-               initialize: function(){
-                 //console.debug("FlashStorageProvider.initialize");
-                       if(dojo.config["disableFlashStorage"] == true){
-                               return;
-                       }
-                       
-                       // initialize our Flash
-                       dojox.flash.addLoadedListener(dojo.hitch(this, function(){
-                         //console.debug("flashReady");
-                         // indicate our Flash subsystem is now loaded
-                         this._flashReady = true;
-                         if(this._flashReady && this._pageReady){
-                                 this._loaded();
-                               }
-                       }));
-                       var swfLoc = dojo.moduleUrl("dojox", "storage/Storage.swf").toString();
-                       dojox.flash.setSwf(swfLoc, false);
-                       
-                       // wait till page is finished loading
-                       dojo.connect(dojo, "loaded", this, function(){
-                         //console.debug("pageReady");
-                         this._pageReady = true;
-                         if(this._flashReady && this._pageReady){
-                           this._loaded();
-                         }
-                       });
-               },
-               
-               //      Set a new value for the flush delay timer.
-               //      Possible values:
-               //        0 : Perform the flush synchronously after each "put" request
-               //      > 0 : Wait until 'newDelay' ms have passed without any "put" request to flush
-               //       -1 : Do not  automatically flush
-               setFlushDelay: function(newDelay){
-                       if(newDelay === null || typeof newDelay === "undefined" || isNaN(newDelay)){
-                               throw new Error("Invalid argunment: " + newDelay);
-                       }
-                       
-                       dojox.flash.comm.setFlushDelay(String(newDelay));
-               },
-               
-               getFlushDelay: function(){
-                       return Number(dojox.flash.comm.getFlushDelay());
-               },
-               
-               flush: function(namespace){
-                       //FIXME: is this test necessary?  Just use !namespace
-                       if(namespace == null || typeof namespace == "undefined"){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       dojox.flash.comm.flush(namespace);
-               },
-
-               isAvailable: function(){
-                       return (this._available = !dojo.config["disableFlashStorage"]);
-               },
-
-               put: function(key, value, resultsHandler, namespace){
-                       if(!this.isValidKey(key)){
-                               throw new Error("Invalid key given: " + key);
-                       }
-                       
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                               
-                       this._statusHandler = resultsHandler;
-                       
-                       // serialize the value;
-                       // handle strings differently so they have better performance
-                       if(dojo.isString(value)){
-                               value = "string:" + value;
-                       }else{
-                               value = dojo.toJson(value);
-                       }
-                       
-                       dojox.flash.comm.put(key, value, namespace);
-               },
-
-               putMultiple: function(keys, values, resultsHandler, namespace){
-                       if(!this.isValidKeyArray(keys) || ! values instanceof Array 
-                           || keys.length != values.length){
-                               throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]");
-                       }
-                       
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-
-                       this._statusHandler = resultsHandler;
-                       
-                       //      Convert the arguments on strings we can pass along to Flash
-                       var metaKey = keys.join(",");
-                       var lengths = [];
-                       for(var i=0;i<values.length;i++){
-                               if(dojo.isString(values[i])){
-                                       values[i] = "string:" + values[i];
-                               }else{
-                                       values[i] = dojo.toJson(values[i]);
-                               }
-                               lengths[i] = values[i].length; 
-                       }
-                       var metaValue = values.join("");
-                       var metaLengths = lengths.join(",");
-                       
-                       dojox.flash.comm.putMultiple(metaKey, metaValue, metaLengths, this.namespace);
-               },
-
-               get: function(key, namespace){
-                       if(!this.isValidKey(key)){
-                               throw new Error("Invalid key given: " + key);
-                       }
-                       
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                       
-                       var results = dojox.flash.comm.get(key, namespace);
-
-                       if(results == ""){
-                               return null;
-                       }
-               
-                       return this._destringify(results);
-               },
-
-               getMultiple: function(/*array*/ keys, /*string?*/ namespace){ /*Object*/
-                       if(!this.isValidKeyArray(keys)){
-                               throw new ("Invalid key array given: " + keys);
-                       }
-                       
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                       
-                       var metaKey = keys.join(",");
-                       var metaResults = dojox.flash.comm.getMultiple(metaKey, this.namespace);
-                       var results = eval("(" + metaResults + ")");
-                       
-                       //      destringify each entry back into a real JS object
-                       //FIXME: use dojo.map
-                       for(var i = 0; i < results.length; i++){
-                               results[i] = (results[i] == "") ? null : this._destringify(results[i]);
-                       }
-                       
-                       return results;         
-               },
-
-               _destringify: function(results){
-                       // destringify the content back into a 
-                       // real JavaScript object;
-                       // handle strings differently so they have better performance
-                       if(dojo.isString(results) && (/^string:/.test(results))){
-                               results = results.substring("string:".length);
-                       }else{
-                               results = dojo.fromJson(results);
-                       }
-               
-                       return results;
-               },
-               
-               getKeys: function(namespace){
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                       
-                       var results = dojox.flash.comm.getKeys(namespace);
-                       
-                       // Flash incorrectly returns an empty string as "null"
-                       if(results == null || results == "null"){
-                         results = "";
-                       }
-                       
-                       results = results.split(",");
-                       results.sort();
-                       
-                       return results;
-               },
-               
-               getNamespaces: function(){
-                       var results = dojox.flash.comm.getNamespaces();
-                       
-                       // Flash incorrectly returns an empty string as "null"
-                       if(results == null || results == "null"){
-                         results = dojox.storage.DEFAULT_NAMESPACE;
-                       }
-                       
-                       results = results.split(",");
-                       results.sort();
-                       
-                       return results;
-               },
-
-               clear: function(namespace){
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                       
-                       dojox.flash.comm.clear(namespace);
-               },
-               
-               remove: function(key, namespace){
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                       
-                       dojox.flash.comm.remove(key, namespace);
-               },
-               
-               removeMultiple: function(/*array*/ keys, /*string?*/ namespace){ /*Object*/
-                       if(!this.isValidKeyArray(keys)){
-                               dojo.raise("Invalid key array given: " + keys);
-                       }
-                       if(!namespace){
-                               namespace = dojox.storage.DEFAULT_NAMESPACE;            
-                       }
-                       
-                       if(!this.isValidKey(namespace)){
-                               throw new Error("Invalid namespace given: " + namespace);
-                       }
-                       
-                       var metaKey = keys.join(",");
-                       dojox.flash.comm.removeMultiple(metaKey, this.namespace);
-               },
-
-               isPermanent: function(){
-                       return true;
-               },
-
-               getMaximumSize: function(){
-                       return dojox.storage.SIZE_NO_LIMIT;
-               },
-
-               hasSettingsUI: function(){
-                       return true;
-               },
-
-               showSettingsUI: function(){
-                       dojox.flash.comm.showSettings();
-                       dojox.flash.obj.setVisible(true);
-                       dojox.flash.obj.center();
-               },
-
-               hideSettingsUI: function(){
-                       // hide the dialog
-                       dojox.flash.obj.setVisible(false);
-                       
-                       // call anyone who wants to know the dialog is
-                       // now hidden
-                       if(dojo.isFunction(dojox.storage.onHideSettingsUI)){
-                               dojox.storage.onHideSettingsUI.call(null);      
-                       }
-               },
-               
-               getResourceList: function(){ /* Array[] */
-                       // Dojo Offline no longer uses the FlashStorageProvider for offline
-                       // storage; Gears is now required
-                       return [];
-               },
-               
-               /** Called when Flash and the page are finished loading. */
-               _loaded: function(){
-                       // get available namespaces
-                       this._allNamespaces = this.getNamespaces();
-                       
-                       this.initialized = true;
-
-                       // indicate that this storage provider is now loaded
-                       dojox.storage.manager.loaded();
-               },
-               
-               //      Called if the storage system needs to tell us about the status
-               //      of a put() request. 
-               _onStatus: function(statusResult, key, namespace){
-                 //console.debug("onStatus, statusResult="+statusResult+", key="+key);
-                       var ds = dojox.storage;
-                       var dfo = dojox.flash.obj;
-                       
-                       if(statusResult == ds.PENDING){
-                               dfo.center();
-                               dfo.setVisible(true);
-                       }else{
-                               dfo.setVisible(false);
-                       }
-                       
-                       if(ds._statusHandler){
-                               ds._statusHandler.call(null, statusResult, key, namespace);             
-                       }
-               }
-       }
-);
-
-dojox.storage.manager.register("dojox.storage.FlashStorageProvider",
-                                                               new dojox.storage.FlashStorageProvider());
-
-}