ember-source 1.7.0.beta.1 → 1.7.0.beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
}
|