diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/API.js | 72 | ||||
| -rw-r--r-- | src/DataStore.js | 2 | ||||
| -rw-r--r-- | src/Filters.js | 2 | ||||
| -rw-r--r-- | src/JSON.js | 6 | ||||
| -rw-r--r-- | src/Loader.js | 47 | ||||
| -rw-r--r-- | src/Parser.js | 8 | ||||
| -rw-r--r-- | src/Scope.js | 2 | ||||
| -rw-r--r-- | src/Widgets.js | 16 | ||||
| -rw-r--r-- | src/test/Runner.js | 2 | ||||
| -rw-r--r-- | src/test/_namespace.js | 10 | 
10 files changed, 85 insertions, 82 deletions
@@ -1,5 +1,5 @@ -angular.Global = { -  typeOf:function(obj){ +angular['Global'] = { +  'typeOf':function(obj){      var type = typeof obj;      switch(type) {      case "object": @@ -12,10 +12,10 @@ angular.Global = {    }  }; -angular.Collection = {}; -angular.Object = {}; -angular.Array = { -  includeIf:function(array, value, condition) { +angular['Collection'] = {}; +angular['Object'] = {}; +angular['Array'] = { +  'includeIf':function(array, value, condition) {      var index = _.indexOf(array, value);      if (condition) {        if (index == -1) @@ -25,8 +25,8 @@ angular.Array = {      }      return array;    }, -  sum:function(array, expression) { -    var fn = angular.Function.compile(expression); +  'sum':function(array, expression) { +    var fn = angular['Function']['compile'](expression);      var sum = 0;      for (var i = 0; i < array.length; i++) {        var value = 1 * fn(array[i]); @@ -36,15 +36,15 @@ angular.Array = {      }      return sum;    }, -  remove:function(array, value) { +  'remove':function(array, value) {      var index = _.indexOf(array, value);      if (index >=0)        array.splice(index, 1);      return value;    }, -  find:function(array, condition, defaultValue) { +  'find':function(array, condition, defaultValue) {      if (!condition) return undefined; -    var fn = angular.Function.compile(condition); +    var fn = angular['Function']['compile'](condition);      _.detect(array, function($){        if (fn($)){          defaultValue = $; @@ -53,10 +53,10 @@ angular.Array = {      });      return defaultValue;    }, -  findById:function(array, id) { +  'findById':function(array, id) {      return angular.Array.find(array, function($){return $.$id == id;}, null);    }, -  filter:function(array, expression) { +  'filter':function(array, expression) {      var predicates = [];      predicates.check = function(value) {        for (var j = 0; j < predicates.length; j++) { @@ -136,16 +136,16 @@ angular.Array = {      }      return filtered;    }, -  add:function(array, value) { +  'add':function(array, value) {      array.push(_.isUndefined(value)? {} : value);      return array;    }, -  count:function(array, condition) { +  'count':function(array, condition) {      if (!condition) return array.length; -    var fn = angular.Function.compile(condition); +    var fn = angular['Function']['compile'](condition);      return _.reduce(array, 0, function(count, $){return count + (fn($)?1:0);});    }, -  orderBy:function(array, expression, descend) { +  'orderBy':function(array, expression, descend) {      function reverse(comp, descending) {        return toBoolean(descending) ?             function(a,b){return comp(b,a);} : comp; @@ -169,7 +169,7 @@ angular.Array = {          descending = $.charAt(0) == '-';          $ = $.substring(1);        } -      var get = $ ? angular.Function.compile($) : _.identity; +      var get = $ ? angular['Function']['compile']($) : _.identity;        return reverse(function(a,b){          return compare(get(a),get(b));        }, descending); @@ -183,7 +183,7 @@ angular.Array = {      };      return _.clone(array).sort(reverse(comparator, descend));    }, -  orderByToggle:function(predicate, attribute) { +  'orderByToggle':function(predicate, attribute) {      var STRIP = /^([+|-])?(.*)/;      var ascending = false;      var index = -1; @@ -205,7 +205,7 @@ angular.Array = {      predicate.unshift((ascending ? "-" : "+") + attribute);      return predicate;    }, -  orderByDirection:function(predicate, attribute, ascend, descend) { +  'orderByDirection':function(predicate, attribute, ascend, descend) {      ascend = ascend || 'ng-ascend';      descend = descend || 'ng-descend';      var att = predicate[0] || ''; @@ -218,7 +218,7 @@ angular.Array = {      }      return att == attribute ? (direction ? ascend : descend) : "";    }, -  merge:function(array, index, mergeValue) { +  'merge':function(array, index, mergeValue) {      var value = array[index];      if (!value) {        value = {}; @@ -228,8 +228,8 @@ angular.Array = {      return array;    }  }; -angular.String = { -  quote:function(string) { +angular['String'] = { +  'quote':function(string) {      return '"' + string.replace(/\\/g, '\\\\').                          replace(/"/g, '\\"').                          replace(/\n/g, '\\n'). @@ -239,8 +239,8 @@ angular.String = {                          replace(/\v/g, '\\v') +               '"';    }, -  quoteUnicode:function(string) { -    var str = angular.String.quote(string); +  'quoteUnicode':function(string) { +    var str = angular['String']['quote'](string);      var chars = [];      for ( var i = 0; i < str.length; i++) {        var ch = str.charCodeAt(i); @@ -253,7 +253,7 @@ angular.String = {      }      return chars.join('');    }, -  toDate:function(string){ +  'toDate':function(string){      var match;      if (typeof string == 'string' &&           (match = string.match(/^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z$/))){ @@ -265,8 +265,8 @@ angular.String = {      return string;    }  }; -angular.Date = { -    toString:function(date){ +angular['Date'] = { +    'toString':function(date){        function pad(n) { return n < 10 ? "0" + n : n; }        return  (date.getUTCFullYear()) + '-' +          pad(date.getUTCMonth() + 1) + '-' + @@ -276,8 +276,8 @@ angular.Date = {          pad(date.getUTCSeconds()) + 'Z';      }    }; -angular.Function = { -  compile:function(expression) { +angular['Function'] = { +  'compile':function(expression) {      if (_.isFunction(expression)){        return expression;      } else if (expression){ @@ -299,20 +299,20 @@ angular.Function = {        dst[name] = _[name];      });    }; -  extend(angular.Global, {},  +  extend(angular['Global'], {},         ['extend', 'clone','isEqual',          'isElement', 'isArray', 'isFunction', 'isUndefined']); -  extend(angular.Collection, angular.Global,  +  extend(angular['Collection'], angular['Global'],         ['each', 'map', 'reduce', 'reduceRight', 'detect',          'select', 'reject', 'all', 'any', 'include',          'invoke', 'pluck', 'max', 'min', 'sortBy',          'sortedIndex', 'toArray', 'size']); -  extend(angular.Array, angular.Collection,  +  extend(angular['Array'], angular['Collection'],         ['first', 'last', 'compact', 'flatten', 'without',          'uniq', 'intersect', 'zip', 'indexOf', 'lastIndexOf']); -  extend(angular.Object, angular.Collection, +  extend(angular['Object'], angular['Collection'],        ['keys', 'values']); -  extend(angular.String, angular.Global); -  extend(angular.Function, angular.Global, +  extend(angular['String'], angular['Global']); +  extend(angular['Function'], angular['Global'],        ['bind', 'bindAll', 'delay', 'defer', 'wrap', 'compose']);  })();
\ No newline at end of file diff --git a/src/DataStore.js b/src/DataStore.js index bdf882a0..6eeabb21 100644 --- a/src/DataStore.js +++ b/src/DataStore.js @@ -92,7 +92,7 @@ DataStore.prototype.save = function(document, callback) {      var cachedDoc = self.cache(document);      _.each(self._cache.$collections, function(collection){        if (collection.$$accept(document)) { -        angular.Array.includeIf(collection, cachedDoc, true); +        angular['Array']['includeIf'](collection, cachedDoc, true);        }      });      if (document.$$anchor) { diff --git a/src/Filters.js b/src/Filters.js index dd4217be..b3f56e75 100644 --- a/src/Filters.js +++ b/src/Filters.js @@ -22,7 +22,7 @@ angular.filter.Meta.get = function(obj, attr){    }  }; -angular.filter.currency = function(amount){ +angular.filter['currency'] = function(amount){    jQuery(this.element).toggleClass('ng-format-negative', amount < 0);    return '$' + angular.filter.number.apply(this, [amount, 2]);  }; diff --git a/src/JSON.js b/src/JSON.js index 84c9a857..238ed489 100644 --- a/src/JSON.js +++ b/src/JSON.js @@ -38,7 +38,7 @@ toJsonArray = function(buf, obj, pretty){        buf.push('' + obj);      }    } else if (type === 'string') { -    return buf.push(angular.String.quoteUnicode(obj)); +    return buf.push(angular['String']['quoteUnicode'](obj));    } else if (type === 'object') {      if (obj instanceof Array) {        buf.push("["); @@ -56,7 +56,7 @@ toJsonArray = function(buf, obj, pretty){        }        buf.push("]");      } else if (obj instanceof Date) { -      buf.push(angular.String.quoteUnicode(angular.Date.toString(obj))); +      buf.push(angular['String']['quoteUnicode'](angular['Date']['toString'](obj)));      } else {        buf.push("{");        if (pretty) buf.push(pretty); @@ -78,7 +78,7 @@ toJsonArray = function(buf, obj, pretty){                buf.push(",");                if (pretty) buf.push(pretty);              } -            buf.push(angular.String.quote(key)); +            buf.push(angular['String']['quote'](key));              buf.push(":");              toJsonArray(buf, value, childPretty);              comma = true; diff --git a/src/Loader.js b/src/Loader.js index dfaa355a..19840567 100644 --- a/src/Loader.js +++ b/src/Loader.js @@ -23,6 +23,8 @@ if (typeof Node == 'undefined') {  }  var callbacks = {}; +var jQuery = window['jQuery']; +var msie = jQuery['browser']['msie'];  if (!window.angular){   angular = {}; window['angular'] = angular; }  if (!angular.validator) angular.validator = {}; @@ -32,8 +34,8 @@ if (!window.console)      log:function() {},      error:function() {}    }; -if (_.isUndefined(alert)) { -  alert = function(){console.log(arguments); window.alert.apply(window, arguments); }; +if (!angular.alert) { +  angular.alert = function(){console.log(arguments); window.alert.apply(window, arguments); };  }  var consoleNode; @@ -169,7 +171,6 @@ Loader.prototype.load = function() {    this.loadCss('/stylesheets/jquery-ui/smoothness/jquery-ui-1.7.1.css');    this.loadCss('/stylesheets/css');    console.log("Server: " + this.config.server); -  msie = jQuery.browser.msie;    this.configureJQueryPlugins();    this.computeConfiguration();    this.bindHtml(); @@ -177,11 +178,7 @@ Loader.prototype.load = function() {  Loader.prototype.configureJQueryPlugins = function() {    console.log('Loader.configureJQueryPlugins()'); -  jQuery.fn.removeNode = function() { -    var node = this.get(0); -    node.parentNode.removeChild(node); -  }; -  jQuery.fn.scope = function() { +  jQuery['fn']['scope'] = function() {      var element = this;      while (element && element.get(0)) {        var scope = element.data("scope"); @@ -191,7 +188,7 @@ Loader.prototype.configureJQueryPlugins = function() {      }      return null;    }; -  jQuery.fn.controller = function() { +  jQuery['fn']['controller'] = function() {      return this.data('controller') || NullController.instance;    };  }; @@ -229,24 +226,19 @@ Loader.prototype.bindHtml = function() {    var datastore = new DataStore(post, users, binder.anchor);    binder.updateListeners.push(function(){datastore.flush();});    var scope = new Scope( { -    $anchor : binder.anchor, -    $binder : binder, -    $config : this.config, -    $console : window.console, -    $datastore : datastore, -    $save : function(callback) { +    '$anchor' : binder.anchor, +    '$binder' : binder, +    '$config' : this.config, +    '$console' : window.console, +    '$datastore' : datastore, +    '$save' : function(callback) {        datastore.saveScope(scope.state, callback, binder.anchor);      }, -    $window : window, -    $uid : this.uid, -    $users : users +    '$window' : window, +    '$uid' : this.uid, +    '$users' : users    }, "ROOT"); -  jQuery.each(["get", "set", "eval", "addWatchListener", "updateView"], -    function(i, method){ -      angular[method] = bind(scope, scope[method]); -    }); -    document.data('scope', scope);    console.log('$binder.entity()');    binder.entity(scope); @@ -284,7 +276,6 @@ Loader.prototype.bindHtml = function() {    watcher.watch();    document.find("body").show();    console.log('ready()'); -  };  Loader.prototype.visualPost = function(delegate) { @@ -399,6 +390,12 @@ angular['compile'] = function(root, config) {    //todo: don't start watcher    var loader = new Loader(root, jQuery("head"), _(defaults).extend(config));    loader.load(); -  return jQuery(root).scope(); +  var scope = jQuery(root).scope(); +  //TODO: cleanup +  return { +    'updateView':function(){return scope.updateView.apply(scope, arguments);}, +    'set':function(){return scope.set.apply(scope, arguments);}, +    'get':function(){return scope.get.apply(scope, arguments);} +  };  }; diff --git a/src/Parser.js b/src/Parser.js index b23215be..cdece11e 100644 --- a/src/Parser.js +++ b/src/Parser.js @@ -185,7 +185,7 @@ Lexer.prototype.readString = function(quote) {        this.tokens.push({index:start, text:string,          fn:function(){            return (string.length == dateParseLength) ? -            angular.String.toDate(string) : string; +            angular['String']['toDate'](string) : string;          }});        return;      } else { @@ -346,11 +346,11 @@ Parser.prototype.filterChain = function(){  };  Parser.prototype.filter = function(){ -  return this._pipeFunction(angular.filter); +  return this._pipeFunction(angular['filter']);  };  Parser.prototype.validator = function(){ -  return this._pipeFunction(angular.validator); +  return this._pipeFunction(angular['validator']);  };  Parser.prototype._pipeFunction = function(fnScope){ @@ -697,7 +697,7 @@ Parser.prototype.entityDecl = function () {        self.scope.set(instance, document);        return "$anchor." + instance + ":{" +             instance + "=" + entity + ".load($anchor." + instance + ");" + -          instance + ".$$anchor=" + angular.String.quote(instance) + ";" +  +          instance + ".$$anchor=" + angular['String']['quote'](instance) + ";" +           "};";      } else {        return ""; diff --git a/src/Scope.js b/src/Scope.js index e3634cee..dff3bfbd 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -55,7 +55,7 @@ Scope.getter = function(instance, path) {        instance = instance[key];      }      if (_.isUndefined(instance)  && key.charAt(0) == '$') { -      var type = angular.Global.typeOf(lastInstance); +      var type = angular['Global']['typeOf'](lastInstance);        type = angular[type.charAt(0).toUpperCase()+type.substring(1)];        var fn = type ? type[[key.substring(1)]] : undefined;        if (fn) { diff --git a/src/Widgets.js b/src/Widgets.js index 3a0f2845..4e4facf8 100644 --- a/src/Widgets.js +++ b/src/Widgets.js @@ -5,7 +5,13 @@ WidgetFactory = function(serverUrl, database) {    this.nextUploadId = 0;    this.serverUrl = serverUrl;    this.database = database; -  this.createSWF = swfobject.createSWF; +  if (window.swfobject) { +    this.createSWF = swfobject.createSWF; +  } else { +    this.createSWF = function(){ +      alert("ERROR: swfobject not loaded!"); +    }; +  }    this.onChangeListener = function(){};  }; @@ -145,7 +151,7 @@ FileController.prototype._on_uploadCompleteData = function(data) {  FileController.prototype._on_select = function(name, size, type) {    this.name = name;    this.view.find("a").text(name).attr('href', name); -  this.view.find("span").text(angular.filter.bytes(size)); +  this.view.find("span").text(angular['filter']['bytes'](size));    this.upload();  }; @@ -167,7 +173,7 @@ FileController.prototype.updateView = function(scope) {      this.view.find("a").        attr("href", this.value.url).        text(this.value.text); -    this.view.find("span").text(angular.filter.bytes(this.value.size)); +    this.view.find("span").text(angular['filter']['bytes'](this.value.size));    }    this.view.find("input").attr('checked', !!modelValue);  }; @@ -677,8 +683,8 @@ RepeaterUpdater.prototype.updateView = function(scope) {      });      // shrink children      for ( var r = childrenLength; r > iteratorLength; --r) { -      var unneeded = this.children.pop(); -      unneeded.element.removeNode(); +      var unneeded = this.children.pop().element[0]; +      unneeded.parentNode.removeChild(unneeded);      }      // Special case for option in select      if (child && child.element[0].nodeName === "OPTION") { diff --git a/src/test/Runner.js b/src/test/Runner.js index 5840282e..c6684951 100644 --- a/src/test/Runner.js +++ b/src/test/Runner.js @@ -110,7 +110,7 @@ test.Scenario.prototype = {    },    verb:function(step){      var fn = null; -  if (!step) fn = function (){ throw "Step is null!"; } +  if (!step) fn = function (){ throw "Step is null!"; };    else if (step.Given) fn = angular.test.GIVEN[step.Given];    else if (step.When) fn = angular.test.WHEN[step.When];    else if (step.Then) fn = angular.test.THEN[step.Then]; diff --git a/src/test/_namespace.js b/src/test/_namespace.js index 78f430f1..e29ae72a 100644 --- a/src/test/_namespace.js +++ b/src/test/_namespace.js @@ -1,5 +1,5 @@ -if (!angular)             angular = {}; -if (!angular.test)        angular.test = {}; -if (!angular.test.GIVEN)  angular.test.GIVEN = {}; -if (!angular.test.WHEN)   angular.test.WHEN = {}; -if (!angular.test.THEN)   angular.test.THEN = {}; +if (!angular)                   var angular = window['angular'] = {}; +if (!angular['test'])           var angularTest = angular['test'] = {}; +if (!angular['test']['GIVEN'])  angularTest['GIVEN'] = {}; +if (!angular['test']['WHEN'])   angularTest['WHEN'] = {}; +if (!angular['test']['THEN'])   angularTest['THEN'] = {};  | 
