ember-source 1.7.0.beta.1 → 1.7.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +242 -146
- data/dist/ember-tests.js +499 -118
- data/dist/ember.js +400 -215
- data/dist/ember.min.js +18 -17
- data/dist/ember.prod.js +400 -215
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0734bda9158778ba3f4a5cf4f152fb67ad244cc7
|
4
|
+
data.tar.gz: 1a0866dd50e5dbefadc602a69dc17f8d66f2f296
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5605198d3801765d0c0e9a71266422c8fc182df558f3f801406635b200716537db4ee3aa5a461a57bde4fe5fead3b3e908f934edb2c0dee42bdb15c069f7f883
|
7
|
+
data.tar.gz: 2c7795fdf9280d563f1f8aa668dc8b45c7485762dccb6ec3d62f63729b0aa297e90241d5101459fb83876696f64ef67b1e6e4fa022af2a922f0d10a1ad964001
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.7.0-beta.
|
1
|
+
1.7.0-beta.2
|
data/dist/ember-runtime.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.7.0-beta.
|
8
|
+
* @version 1.7.0-beta.2
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -1838,8 +1838,8 @@ define("container/inheriting_dict",
|
|
1838
1838
|
__exports__["default"] = InheritingDict;
|
1839
1839
|
});
|
1840
1840
|
define("ember-metal",
|
1841
|
-
["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","exports"],
|
1842
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __dependency18__, __dependency19__, __dependency20__, __dependency21__, __dependency22__, __dependency23__, __dependency24__, __dependency25__, __dependency26__, __dependency27__, __dependency28__, __dependency29__, __dependency30__, __dependency31__, __dependency32__, __exports__) {
|
1841
|
+
["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","exports"],
|
1842
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __dependency18__, __dependency19__, __dependency20__, __dependency21__, __dependency22__, __dependency23__, __dependency24__, __dependency25__, __dependency26__, __dependency27__, __dependency28__, __dependency29__, __dependency30__, __dependency31__, __dependency32__, __dependency33__, __exports__) {
|
1843
1843
|
"use strict";
|
1844
1844
|
/**
|
1845
1845
|
Ember Metal
|
@@ -1941,35 +1941,37 @@ define("ember-metal",
|
|
1941
1941
|
var computed = __dependency24__.computed;
|
1942
1942
|
var cacheFor = __dependency24__.cacheFor;
|
1943
1943
|
|
1944
|
-
|
1945
|
-
|
1946
|
-
var
|
1947
|
-
var
|
1948
|
-
var
|
1949
|
-
var
|
1950
|
-
var
|
1951
|
-
var
|
1952
|
-
var
|
1953
|
-
var
|
1954
|
-
var
|
1955
|
-
var
|
1956
|
-
var
|
1957
|
-
var
|
1958
|
-
var
|
1959
|
-
var
|
1960
|
-
var
|
1961
|
-
var
|
1962
|
-
var
|
1963
|
-
var
|
1964
|
-
var
|
1965
|
-
var
|
1966
|
-
var
|
1967
|
-
var
|
1968
|
-
var
|
1969
|
-
var
|
1970
|
-
var
|
1971
|
-
var
|
1972
|
-
var
|
1944
|
+
// side effect of defining the computed.* macros
|
1945
|
+
|
1946
|
+
var addObserver = __dependency26__.addObserver;
|
1947
|
+
var observersFor = __dependency26__.observersFor;
|
1948
|
+
var removeObserver = __dependency26__.removeObserver;
|
1949
|
+
var addBeforeObserver = __dependency26__.addBeforeObserver;
|
1950
|
+
var _suspendBeforeObserver = __dependency26__._suspendBeforeObserver;
|
1951
|
+
var _suspendObserver = __dependency26__._suspendObserver;
|
1952
|
+
var _suspendBeforeObservers = __dependency26__._suspendBeforeObservers;
|
1953
|
+
var _suspendObservers = __dependency26__._suspendObservers;
|
1954
|
+
var beforeObserversFor = __dependency26__.beforeObserversFor;
|
1955
|
+
var removeBeforeObserver = __dependency26__.removeBeforeObserver;
|
1956
|
+
var IS_BINDING = __dependency27__.IS_BINDING;
|
1957
|
+
var mixin = __dependency27__.mixin;
|
1958
|
+
var Mixin = __dependency27__.Mixin;
|
1959
|
+
var required = __dependency27__.required;
|
1960
|
+
var aliasMethod = __dependency27__.aliasMethod;
|
1961
|
+
var observer = __dependency27__.observer;
|
1962
|
+
var immediateObserver = __dependency27__.immediateObserver;
|
1963
|
+
var beforeObserver = __dependency27__.beforeObserver;
|
1964
|
+
var Binding = __dependency28__.Binding;
|
1965
|
+
var isGlobalPath = __dependency28__.isGlobalPath;
|
1966
|
+
var bind = __dependency28__.bind;
|
1967
|
+
var oneWay = __dependency28__.oneWay;
|
1968
|
+
var run = __dependency29__["default"];
|
1969
|
+
var libraries = __dependency30__["default"];
|
1970
|
+
var isNone = __dependency31__.isNone;
|
1971
|
+
var none = __dependency31__.none;
|
1972
|
+
var isEmpty = __dependency32__.isEmpty;
|
1973
|
+
var empty = __dependency32__.empty;
|
1974
|
+
var isBlank = __dependency33__["default"];
|
1973
1975
|
// END IMPORTS
|
1974
1976
|
|
1975
1977
|
// BEGIN EXPORTS
|
@@ -2152,6 +2154,81 @@ define("ember-metal",
|
|
2152
2154
|
|
2153
2155
|
__exports__["default"] = Ember;
|
2154
2156
|
});
|
2157
|
+
define("ember-metal/alias",
|
2158
|
+
["ember-metal/property_get","ember-metal/property_set","ember-metal/error","ember-metal/properties","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],
|
2159
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __exports__) {
|
2160
|
+
"use strict";
|
2161
|
+
var get = __dependency1__.get;
|
2162
|
+
var set = __dependency2__.set;
|
2163
|
+
var EmberError = __dependency3__["default"];
|
2164
|
+
var Descriptor = __dependency4__.Descriptor;
|
2165
|
+
var defineProperty = __dependency4__.defineProperty;
|
2166
|
+
var create = __dependency5__.create;
|
2167
|
+
var meta = __dependency6__.meta;
|
2168
|
+
var inspect = __dependency6__.inspect;
|
2169
|
+
var addDependentKeys = __dependency7__.addDependentKeys;
|
2170
|
+
var removeDependentKeys = __dependency7__.removeDependentKeys;
|
2171
|
+
|
2172
|
+
function alias(altKey) {
|
2173
|
+
return new AliasedProperty(altKey);
|
2174
|
+
}
|
2175
|
+
|
2176
|
+
__exports__.alias = alias;function AliasedProperty(altKey) {
|
2177
|
+
this.altKey = altKey;
|
2178
|
+
this._dependentKeys = [ altKey ];
|
2179
|
+
}
|
2180
|
+
|
2181
|
+
__exports__.AliasedProperty = AliasedProperty;AliasedProperty.prototype = create(Descriptor.prototype);
|
2182
|
+
|
2183
|
+
AliasedProperty.prototype.get = function AliasedProperty_get(obj, keyName) {
|
2184
|
+
return get(obj, this.altKey);
|
2185
|
+
};
|
2186
|
+
|
2187
|
+
AliasedProperty.prototype.set = function AliasedProperty_set(obj, keyName, value) {
|
2188
|
+
return set(obj, this.altKey, value);
|
2189
|
+
};
|
2190
|
+
|
2191
|
+
AliasedProperty.prototype.willWatch = function(obj, keyName) {
|
2192
|
+
addDependentKeys(this, obj, keyName, meta(obj));
|
2193
|
+
};
|
2194
|
+
|
2195
|
+
AliasedProperty.prototype.didUnwatch = function(obj, keyName) {
|
2196
|
+
removeDependentKeys(this, obj, keyName, meta(obj));
|
2197
|
+
};
|
2198
|
+
|
2199
|
+
AliasedProperty.prototype.setup = function(obj, keyName) {
|
2200
|
+
var m = meta(obj);
|
2201
|
+
if (m.watching[keyName]) {
|
2202
|
+
addDependentKeys(this, obj, keyName, m);
|
2203
|
+
}
|
2204
|
+
};
|
2205
|
+
|
2206
|
+
AliasedProperty.prototype.teardown = function(obj, keyName) {
|
2207
|
+
var m = meta(obj);
|
2208
|
+
if (m.watching[keyName]) {
|
2209
|
+
removeDependentKeys(this, obj, keyName, m);
|
2210
|
+
}
|
2211
|
+
};
|
2212
|
+
|
2213
|
+
AliasedProperty.prototype.readOnly = function() {
|
2214
|
+
this.set = AliasedProperty_readOnlySet;
|
2215
|
+
return this;
|
2216
|
+
};
|
2217
|
+
|
2218
|
+
function AliasedProperty_readOnlySet(obj, keyName, value) {
|
2219
|
+
throw new EmberError('Cannot set read-only property "' + keyName + '" on object: ' + inspect(obj));
|
2220
|
+
}
|
2221
|
+
|
2222
|
+
AliasedProperty.prototype.oneWay = function() {
|
2223
|
+
this.set = AliasedProperty_oneWaySet;
|
2224
|
+
return this;
|
2225
|
+
};
|
2226
|
+
|
2227
|
+
function AliasedProperty_oneWaySet(obj, keyName, value) {
|
2228
|
+
defineProperty(obj, keyName, null);
|
2229
|
+
return set(obj, keyName, value);
|
2230
|
+
}
|
2231
|
+
});
|
2155
2232
|
define("ember-metal/array",
|
2156
2233
|
["exports"],
|
2157
2234
|
function(__exports__) {
|
@@ -3099,29 +3176,23 @@ define("ember-metal/chains",
|
|
3099
3176
|
__exports__.ChainNode = ChainNode;
|
3100
3177
|
});
|
3101
3178
|
define("ember-metal/computed",
|
3102
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/
|
3103
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__,
|
3179
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys","exports"],
|
3180
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
|
3104
3181
|
"use strict";
|
3105
3182
|
var Ember = __dependency1__["default"];
|
3106
3183
|
var get = __dependency2__.get;
|
3107
3184
|
var set = __dependency3__.set;
|
3108
3185
|
var meta = __dependency4__.meta;
|
3109
3186
|
var META_KEY = __dependency4__.META_KEY;
|
3110
|
-
var guidFor = __dependency4__.guidFor;
|
3111
|
-
var typeOf = __dependency4__.typeOf;
|
3112
3187
|
var inspect = __dependency4__.inspect;
|
3113
|
-
var
|
3114
|
-
var
|
3115
|
-
var
|
3116
|
-
var
|
3117
|
-
var
|
3118
|
-
var
|
3119
|
-
var
|
3120
|
-
var
|
3121
|
-
var propertyWillChange = __dependency11__.propertyWillChange;
|
3122
|
-
var propertyDidChange = __dependency11__.propertyDidChange;
|
3123
|
-
var isEmpty = __dependency12__["default"];
|
3124
|
-
var isNone = __dependency13__.isNone;
|
3188
|
+
var expandProperties = __dependency5__["default"];
|
3189
|
+
var EmberError = __dependency6__["default"];
|
3190
|
+
var Descriptor = __dependency7__.Descriptor;
|
3191
|
+
var defineProperty = __dependency7__.defineProperty;
|
3192
|
+
var propertyWillChange = __dependency8__.propertyWillChange;
|
3193
|
+
var propertyDidChange = __dependency8__.propertyDidChange;
|
3194
|
+
var addDependentKeys = __dependency9__.addDependentKeys;
|
3195
|
+
var removeDependentKeys = __dependency9__.removeDependentKeys;
|
3125
3196
|
|
3126
3197
|
/**
|
3127
3198
|
@module ember-metal
|
@@ -3131,84 +3202,10 @@ define("ember-metal/computed",
|
|
3131
3202
|
|
3132
3203
|
|
3133
3204
|
var metaFor = meta,
|
3134
|
-
a_slice = [].slice
|
3135
|
-
o_create = create;
|
3205
|
+
a_slice = [].slice;
|
3136
3206
|
|
3137
3207
|
function UNDEFINED() { }
|
3138
3208
|
|
3139
|
-
var lengthPattern = /\.(length|\[\])$/;
|
3140
|
-
|
3141
|
-
// ..........................................................
|
3142
|
-
// DEPENDENT KEYS
|
3143
|
-
//
|
3144
|
-
|
3145
|
-
// data structure:
|
3146
|
-
// meta.deps = {
|
3147
|
-
// 'depKey': {
|
3148
|
-
// 'keyName': count,
|
3149
|
-
// }
|
3150
|
-
// }
|
3151
|
-
|
3152
|
-
/*
|
3153
|
-
This function returns a map of unique dependencies for a
|
3154
|
-
given object and key.
|
3155
|
-
*/
|
3156
|
-
function keysForDep(depsMeta, depKey) {
|
3157
|
-
var keys = depsMeta[depKey];
|
3158
|
-
if (!keys) {
|
3159
|
-
// if there are no dependencies yet for a the given key
|
3160
|
-
// create a new empty list of dependencies for the key
|
3161
|
-
keys = depsMeta[depKey] = {};
|
3162
|
-
} else if (!depsMeta.hasOwnProperty(depKey)) {
|
3163
|
-
// otherwise if the dependency list is inherited from
|
3164
|
-
// a superclass, clone the hash
|
3165
|
-
keys = depsMeta[depKey] = o_create(keys);
|
3166
|
-
}
|
3167
|
-
return keys;
|
3168
|
-
}
|
3169
|
-
|
3170
|
-
function metaForDeps(meta) {
|
3171
|
-
return keysForDep(meta, 'deps');
|
3172
|
-
}
|
3173
|
-
|
3174
|
-
function addDependentKeys(desc, obj, keyName, meta) {
|
3175
|
-
// the descriptor has a list of dependent keys, so
|
3176
|
-
// add all of its dependent keys.
|
3177
|
-
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
3178
|
-
if (!depKeys) return;
|
3179
|
-
|
3180
|
-
depsMeta = metaForDeps(meta);
|
3181
|
-
|
3182
|
-
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
3183
|
-
depKey = depKeys[idx];
|
3184
|
-
// Lookup keys meta for depKey
|
3185
|
-
keys = keysForDep(depsMeta, depKey);
|
3186
|
-
// Increment the number of times depKey depends on keyName.
|
3187
|
-
keys[keyName] = (keys[keyName] || 0) + 1;
|
3188
|
-
// Watch the depKey
|
3189
|
-
watch(obj, depKey, meta);
|
3190
|
-
}
|
3191
|
-
}
|
3192
|
-
|
3193
|
-
function removeDependentKeys(desc, obj, keyName, meta) {
|
3194
|
-
// the descriptor has a list of dependent keys, so
|
3195
|
-
// remove all of its dependent keys.
|
3196
|
-
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
3197
|
-
if (!depKeys) return;
|
3198
|
-
|
3199
|
-
depsMeta = metaForDeps(meta);
|
3200
|
-
|
3201
|
-
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
3202
|
-
depKey = depKeys[idx];
|
3203
|
-
// Lookup keys meta for depKey
|
3204
|
-
keys = keysForDep(depsMeta, depKey);
|
3205
|
-
// Decrement the number of times depKey depends on keyName.
|
3206
|
-
keys[keyName] = (keys[keyName] || 0) - 1;
|
3207
|
-
// Unwatch the depKey
|
3208
|
-
unwatch(obj, depKey, meta);
|
3209
|
-
}
|
3210
|
-
}
|
3211
|
-
|
3212
3209
|
// ..........................................................
|
3213
3210
|
// COMPUTED PROPERTY
|
3214
3211
|
//
|
@@ -3346,7 +3343,7 @@ define("ember-metal/computed",
|
|
3346
3343
|
@return {Ember.ComputedProperty} this
|
3347
3344
|
@chainable
|
3348
3345
|
*/
|
3349
|
-
ComputedPropertyPrototype
|
3346
|
+
ComputedPropertyPrototype["volatile"] = function() {
|
3350
3347
|
return this.cacheable(false);
|
3351
3348
|
};
|
3352
3349
|
|
@@ -3702,6 +3699,28 @@ define("ember-metal/computed",
|
|
3702
3699
|
cache[key] = undefined;
|
3703
3700
|
};
|
3704
3701
|
|
3702
|
+
__exports__.ComputedProperty = ComputedProperty;
|
3703
|
+
__exports__.computed = computed;
|
3704
|
+
__exports__.cacheFor = cacheFor;
|
3705
|
+
});
|
3706
|
+
define("ember-metal/computed_macros",
|
3707
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],
|
3708
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__) {
|
3709
|
+
"use strict";
|
3710
|
+
var Ember = __dependency1__["default"];
|
3711
|
+
var get = __dependency2__.get;
|
3712
|
+
var set = __dependency3__.set;
|
3713
|
+
var computed = __dependency4__.computed;
|
3714
|
+
var isEmpty = __dependency5__["default"];
|
3715
|
+
var isNone = __dependency6__.isNone;
|
3716
|
+
var alias = __dependency7__.alias;
|
3717
|
+
|
3718
|
+
/**
|
3719
|
+
@module ember-metal
|
3720
|
+
*/
|
3721
|
+
|
3722
|
+
var a_slice = [].slice;
|
3723
|
+
|
3705
3724
|
function getProperties(self, propertyNames) {
|
3706
3725
|
var ret = {};
|
3707
3726
|
for(var i = 0; i < propertyNames.length; i++) {
|
@@ -4239,15 +4258,7 @@ define("ember-metal/computed",
|
|
4239
4258
|
@return {Ember.ComputedProperty} computed property which creates an
|
4240
4259
|
alias to the original value for property.
|
4241
4260
|
*/
|
4242
|
-
computed.alias =
|
4243
|
-
return computed(dependentKey, function(key, value) {
|
4244
|
-
if (arguments.length > 1) {
|
4245
|
-
set(this, dependentKey, value);
|
4246
|
-
}
|
4247
|
-
|
4248
|
-
return get(this, dependentKey);
|
4249
|
-
});
|
4250
|
-
};
|
4261
|
+
computed.alias = alias;
|
4251
4262
|
|
4252
4263
|
/**
|
4253
4264
|
Where `computed.alias` aliases `get` and `set`, and allows for bidirectional
|
@@ -4282,9 +4293,7 @@ define("ember-metal/computed",
|
|
4282
4293
|
one way computed property to the original value for property.
|
4283
4294
|
*/
|
4284
4295
|
computed.oneWay = function(dependentKey) {
|
4285
|
-
return
|
4286
|
-
return get(this, dependentKey);
|
4287
|
-
});
|
4296
|
+
return alias(dependentKey).oneWay();
|
4288
4297
|
};
|
4289
4298
|
|
4290
4299
|
|
@@ -4336,9 +4345,7 @@ define("ember-metal/computed",
|
|
4336
4345
|
@since 1.5.0
|
4337
4346
|
*/
|
4338
4347
|
computed.readOnly = function(dependentKey) {
|
4339
|
-
return
|
4340
|
-
return get(this, dependentKey);
|
4341
|
-
}).readOnly();
|
4348
|
+
return alias(dependentKey).readOnly();
|
4342
4349
|
};
|
4343
4350
|
/**
|
4344
4351
|
A computed property that acts like a standard getter and setter,
|
@@ -4400,10 +4407,6 @@ define("ember-metal/computed",
|
|
4400
4407
|
}
|
4401
4408
|
});
|
4402
4409
|
};
|
4403
|
-
|
4404
|
-
__exports__.ComputedProperty = ComputedProperty;
|
4405
|
-
__exports__.computed = computed;
|
4406
|
-
__exports__.cacheFor = cacheFor;
|
4407
4410
|
});
|
4408
4411
|
define("ember-metal/core",
|
4409
4412
|
["exports"],
|
@@ -4433,7 +4436,7 @@ define("ember-metal/core",
|
|
4433
4436
|
|
4434
4437
|
@class Ember
|
4435
4438
|
@static
|
4436
|
-
@version 1.7.0-beta.
|
4439
|
+
@version 1.7.0-beta.2
|
4437
4440
|
*/
|
4438
4441
|
|
4439
4442
|
if ('undefined' === typeof Ember) {
|
@@ -4460,10 +4463,10 @@ define("ember-metal/core",
|
|
4460
4463
|
/**
|
4461
4464
|
@property VERSION
|
4462
4465
|
@type String
|
4463
|
-
@default '1.7.0-beta.
|
4466
|
+
@default '1.7.0-beta.2'
|
4464
4467
|
@static
|
4465
4468
|
*/
|
4466
|
-
Ember.VERSION = '1.7.0-beta.
|
4469
|
+
Ember.VERSION = '1.7.0-beta.2';
|
4467
4470
|
|
4468
4471
|
/**
|
4469
4472
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -4620,6 +4623,92 @@ define("ember-metal/core",
|
|
4620
4623
|
|
4621
4624
|
__exports__["default"] = Ember;
|
4622
4625
|
});
|
4626
|
+
define("ember-metal/dependent_keys",
|
4627
|
+
["ember-metal/platform","ember-metal/watching","exports"],
|
4628
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
4629
|
+
"use strict";
|
4630
|
+
var create = __dependency1__.create;
|
4631
|
+
var watch = __dependency2__.watch;
|
4632
|
+
var unwatch = __dependency2__.unwatch;
|
4633
|
+
|
4634
|
+
/**
|
4635
|
+
@module ember-metal
|
4636
|
+
*/
|
4637
|
+
|
4638
|
+
var o_create = create;
|
4639
|
+
|
4640
|
+
// ..........................................................
|
4641
|
+
// DEPENDENT KEYS
|
4642
|
+
//
|
4643
|
+
|
4644
|
+
// data structure:
|
4645
|
+
// meta.deps = {
|
4646
|
+
// 'depKey': {
|
4647
|
+
// 'keyName': count,
|
4648
|
+
// }
|
4649
|
+
// }
|
4650
|
+
|
4651
|
+
/*
|
4652
|
+
This function returns a map of unique dependencies for a
|
4653
|
+
given object and key.
|
4654
|
+
*/
|
4655
|
+
function keysForDep(depsMeta, depKey) {
|
4656
|
+
var keys = depsMeta[depKey];
|
4657
|
+
if (!keys) {
|
4658
|
+
// if there are no dependencies yet for a the given key
|
4659
|
+
// create a new empty list of dependencies for the key
|
4660
|
+
keys = depsMeta[depKey] = {};
|
4661
|
+
} else if (!depsMeta.hasOwnProperty(depKey)) {
|
4662
|
+
// otherwise if the dependency list is inherited from
|
4663
|
+
// a superclass, clone the hash
|
4664
|
+
keys = depsMeta[depKey] = o_create(keys);
|
4665
|
+
}
|
4666
|
+
return keys;
|
4667
|
+
}
|
4668
|
+
|
4669
|
+
function metaForDeps(meta) {
|
4670
|
+
return keysForDep(meta, 'deps');
|
4671
|
+
}
|
4672
|
+
|
4673
|
+
function addDependentKeys(desc, obj, keyName, meta) {
|
4674
|
+
// the descriptor has a list of dependent keys, so
|
4675
|
+
// add all of its dependent keys.
|
4676
|
+
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
4677
|
+
if (!depKeys) return;
|
4678
|
+
|
4679
|
+
depsMeta = metaForDeps(meta);
|
4680
|
+
|
4681
|
+
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
4682
|
+
depKey = depKeys[idx];
|
4683
|
+
// Lookup keys meta for depKey
|
4684
|
+
keys = keysForDep(depsMeta, depKey);
|
4685
|
+
// Increment the number of times depKey depends on keyName.
|
4686
|
+
keys[keyName] = (keys[keyName] || 0) + 1;
|
4687
|
+
// Watch the depKey
|
4688
|
+
watch(obj, depKey, meta);
|
4689
|
+
}
|
4690
|
+
}
|
4691
|
+
|
4692
|
+
__exports__.addDependentKeys = addDependentKeys;function removeDependentKeys(desc, obj, keyName, meta) {
|
4693
|
+
// the descriptor has a list of dependent keys, so
|
4694
|
+
// remove all of its dependent keys.
|
4695
|
+
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
4696
|
+
if (!depKeys) return;
|
4697
|
+
|
4698
|
+
depsMeta = metaForDeps(meta);
|
4699
|
+
|
4700
|
+
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
4701
|
+
depKey = depKeys[idx];
|
4702
|
+
// Lookup keys meta for depKey
|
4703
|
+
keys = keysForDep(depsMeta, depKey);
|
4704
|
+
// Decrement the number of times depKey depends on keyName.
|
4705
|
+
keys[keyName] = (keys[keyName] || 0) - 1;
|
4706
|
+
// Unwatch the depKey
|
4707
|
+
unwatch(obj, depKey, meta);
|
4708
|
+
}
|
4709
|
+
}
|
4710
|
+
__exports__.removeDependentKeys = removeDependentKeys;
|
4711
|
+
});
|
4623
4712
|
define("ember-metal/enumerable_utils",
|
4624
4713
|
["ember-metal/array","exports"],
|
4625
4714
|
function(__dependency1__, __exports__) {
|
@@ -7653,6 +7742,7 @@ define("ember-metal/properties",
|
|
7653
7742
|
} else {
|
7654
7743
|
obj[keyName] = undefined; // make enumerable
|
7655
7744
|
}
|
7745
|
+
if (desc.setup) { desc.setup(obj, keyName); }
|
7656
7746
|
} else {
|
7657
7747
|
descs[keyName] = undefined; // shadow descriptor in proto
|
7658
7748
|
if (desc == null) {
|
@@ -9769,6 +9859,9 @@ define("ember-metal/watch_key",
|
|
9769
9859
|
if (!watching[keyName]) {
|
9770
9860
|
watching[keyName] = 1;
|
9771
9861
|
|
9862
|
+
var desc = m.descs[keyName];
|
9863
|
+
if (desc && desc.willWatch) { desc.willWatch(obj, keyName); }
|
9864
|
+
|
9772
9865
|
if ('function' === typeof obj.willWatchProperty) {
|
9773
9866
|
obj.willWatchProperty(keyName);
|
9774
9867
|
}
|
@@ -9793,6 +9886,9 @@ define("ember-metal/watch_key",
|
|
9793
9886
|
if (watching[keyName] === 1) {
|
9794
9887
|
watching[keyName] = 0;
|
9795
9888
|
|
9889
|
+
var desc = m.descs[keyName];
|
9890
|
+
if (desc && desc.didUnwatch) { desc.didUnwatch(obj, keyName); }
|
9891
|
+
|
9796
9892
|
if ('function' === typeof obj.didUnwatchProperty) {
|
9797
9893
|
obj.didUnwatchProperty(keyName);
|
9798
9894
|
}
|