aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/datasource/jsondatasource.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/datasource/jsondatasource.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/datasource/jsondatasource.js148
1 files changed, 0 insertions, 148 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/datasource/jsondatasource.js b/contexts/data/lib/closure-library/closure/goog/datasource/jsondatasource.js
deleted file mode 100644
index 8e80000..0000000
--- a/contexts/data/lib/closure-library/closure/goog/datasource/jsondatasource.js
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2006 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview Implementation of DataNode for wrapping JSON data.
- *
- */
-
-
-goog.provide('goog.ds.JsonDataSource');
-
-goog.require('goog.Uri');
-goog.require('goog.dom');
-goog.require('goog.ds.DataManager');
-goog.require('goog.ds.JsDataSource');
-goog.require('goog.ds.LoadState');
-goog.require('goog.ds.logger');
-
-
-
-/**
- * Data source whose backing is a JSON-like service, in which
- * retreiving the resource specified by URL with the additional parameter
- * callback. The resource retreived is executable JavaScript that
- * makes a call to the named function with a JavaScript object literal
- * as the only parameter.
- *
- * Example URI could be:
- * http://www.google.com/data/search?q=monkey&callback=mycb
- * which might return the JS:
- * mycb({searchresults:
- * [{uri: 'http://www.monkey.com', title: 'Site About Monkeys'}]});
- *
- * TODO(user): Evaluate using goog.net.Jsonp here.
- *
- * A URI of an empty string will mean that no request is made
- * and the data source will be a data source with no child nodes
- *
- * @param {string|goog.Uri} uri URI for the request.
- * @param {string} name Name of the datasource.
- * @param {string=} opt_callbackParamName The parameter name that is used to
- * specify the callback. Defaults to 'callback'.
- *
- * @extends {goog.ds.JsDataSource}
- * @constructor
- */
-goog.ds.JsonDataSource = function(uri, name, opt_callbackParamName) {
- goog.ds.JsDataSource.call(this, null, name, null);
- if (uri) {
- this.uri_ = new goog.Uri(uri);
- } else {
- this.uri_ = null;
- }
-
- /**
- * This is the callback parameter name that is added to the uri.
- * @type {string}
- * @private
- */
- this.callbackParamName_ = opt_callbackParamName || 'callback';
-
-};
-goog.inherits(goog.ds.JsonDataSource, goog.ds.JsDataSource);
-
-
-/**
- * Default load state is NOT_LOADED
- * @private
- */
-goog.ds.JsonDataSource.prototype.loadState_ = goog.ds.LoadState.NOT_LOADED;
-
-
-/**
- * Map of all data sources, needed for callbacks
- * Doesn't work unless dataSources is exported (not renamed)
- */
-goog.ds.JsonDataSource['dataSources'] = {};
-
-
-/**
- * Load or reload the backing data for this node.
- * Fires the JsonDataSource
- * @override
- */
-goog.ds.JsonDataSource.prototype.load = function() {
- if (this.uri_) {
- // NOTE: "dataSources" is expose above by name so that it will not be
- // renamed. It should therefore be accessed via array notation here so
- // that it also doesn't get renamed and stops the compiler from complaining
- goog.ds.JsonDataSource['dataSources'][this.dataName_] = this;
- goog.ds.logger.info('Sending JS request for DataSource ' +
- this.getDataName() + ' to ' + this.uri_);
-
- this.loadState_ = goog.ds.LoadState.LOADING;
-
- var uriToCall = new goog.Uri(this.uri_);
- uriToCall.setParameterValue(this.callbackParamName_,
- 'JsonReceive.' + this.dataName_);
-
- goog.global['JsonReceive'][this.dataName_] =
- goog.bind(this.receiveData, this);
-
- var scriptEl = goog.dom.createDom('script', {'src': uriToCall});
- goog.dom.getElementsByTagNameAndClass('head')[0].appendChild(scriptEl);
- } else {
- this.root_ = {};
- this.loadState_ = goog.ds.LoadState.NOT_LOADED;
- }
-};
-
-
-/**
- * Gets the state of the backing data for this node
- * @return {goog.ds.LoadState} The state.
- * @override
- */
-goog.ds.JsonDataSource.prototype.getLoadState = function() {
- return this.loadState_;
-};
-
-
-/**
- * Receives data from a Json request
- * @param {Object} obj The JSON data.
- */
-goog.ds.JsonDataSource.prototype.receiveData = function(obj) {
- this.setRoot(obj);
- this.loadState_ = goog.ds.LoadState.LOADED;
- goog.ds.DataManager.getInstance().fireDataChange(this.getDataName());
-};
-
-
-/**
-* Temp variable to hold callbacks
-* until BUILD supports multiple externs.js files
-*/
-goog.global['JsonReceive'] = {};