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
data/dist/ember.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() {
|
@@ -1854,7 +1854,7 @@ define("ember-application",
|
|
1854
1854
|
|
1855
1855
|
var DAG = __dependency3__["default"];
|
1856
1856
|
var Resolver = __dependency4__.Resolver;
|
1857
|
-
var DefaultResolver = __dependency4__
|
1857
|
+
var DefaultResolver = __dependency4__["default"];
|
1858
1858
|
var Application = __dependency5__["default"];
|
1859
1859
|
// side effect of extending ControllerMixin
|
1860
1860
|
|
@@ -7482,7 +7482,7 @@ define("ember-handlebars/helpers/binding",
|
|
7482
7482
|
localizedOptions.hash.keywordPath = contextPath;
|
7483
7483
|
|
7484
7484
|
bindContext = this;
|
7485
|
-
context =
|
7485
|
+
context = contextPath;
|
7486
7486
|
options = localizedOptions;
|
7487
7487
|
preserveContext = true;
|
7488
7488
|
} else {
|
@@ -9441,11 +9441,11 @@ define("ember-handlebars/helpers/view",
|
|
9441
9441
|
Ember.assert("The view helper only takes a single argument", arguments.length <= 2);
|
9442
9442
|
|
9443
9443
|
// If no path is provided, treat path param as options
|
9444
|
-
// and get an instance of the registered `view:
|
9444
|
+
// and get an instance of the registered `view:toplevel`
|
9445
9445
|
if (path && path.data && path.data.isRenderData) {
|
9446
9446
|
options = path;
|
9447
9447
|
Ember.assert('{{view}} helper requires parent view to have a container but none was found. This usually happens when you are manually-managing views.', !!options.data.view.container);
|
9448
|
-
path = options.data.view.container.lookupFactory('view:
|
9448
|
+
path = options.data.view.container.lookupFactory('view:toplevel');
|
9449
9449
|
}
|
9450
9450
|
|
9451
9451
|
options.helperName = options.helperName || 'view';
|
@@ -10218,8 +10218,8 @@ define("ember-handlebars/views/metamorph_view",
|
|
10218
10218
|
__exports__._SimpleMetamorphView = _SimpleMetamorphView;__exports__["default"] = View.extend(_Metamorph);
|
10219
10219
|
});
|
10220
10220
|
define("ember-metal",
|
10221
|
-
["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"],
|
10222
|
-
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__) {
|
10221
|
+
["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"],
|
10222
|
+
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__) {
|
10223
10223
|
"use strict";
|
10224
10224
|
/**
|
10225
10225
|
Ember Metal
|
@@ -10321,35 +10321,37 @@ define("ember-metal",
|
|
10321
10321
|
var computed = __dependency24__.computed;
|
10322
10322
|
var cacheFor = __dependency24__.cacheFor;
|
10323
10323
|
|
10324
|
-
|
10325
|
-
|
10326
|
-
var
|
10327
|
-
var
|
10328
|
-
var
|
10329
|
-
var
|
10330
|
-
var
|
10331
|
-
var
|
10332
|
-
var
|
10333
|
-
var
|
10334
|
-
var
|
10335
|
-
var
|
10336
|
-
var
|
10337
|
-
var
|
10338
|
-
var
|
10339
|
-
var
|
10340
|
-
var
|
10341
|
-
var
|
10342
|
-
var
|
10343
|
-
var
|
10344
|
-
var
|
10345
|
-
var
|
10346
|
-
var
|
10347
|
-
var
|
10348
|
-
var
|
10349
|
-
var
|
10350
|
-
var
|
10351
|
-
var
|
10352
|
-
var
|
10324
|
+
// side effect of defining the computed.* macros
|
10325
|
+
|
10326
|
+
var addObserver = __dependency26__.addObserver;
|
10327
|
+
var observersFor = __dependency26__.observersFor;
|
10328
|
+
var removeObserver = __dependency26__.removeObserver;
|
10329
|
+
var addBeforeObserver = __dependency26__.addBeforeObserver;
|
10330
|
+
var _suspendBeforeObserver = __dependency26__._suspendBeforeObserver;
|
10331
|
+
var _suspendObserver = __dependency26__._suspendObserver;
|
10332
|
+
var _suspendBeforeObservers = __dependency26__._suspendBeforeObservers;
|
10333
|
+
var _suspendObservers = __dependency26__._suspendObservers;
|
10334
|
+
var beforeObserversFor = __dependency26__.beforeObserversFor;
|
10335
|
+
var removeBeforeObserver = __dependency26__.removeBeforeObserver;
|
10336
|
+
var IS_BINDING = __dependency27__.IS_BINDING;
|
10337
|
+
var mixin = __dependency27__.mixin;
|
10338
|
+
var Mixin = __dependency27__.Mixin;
|
10339
|
+
var required = __dependency27__.required;
|
10340
|
+
var aliasMethod = __dependency27__.aliasMethod;
|
10341
|
+
var observer = __dependency27__.observer;
|
10342
|
+
var immediateObserver = __dependency27__.immediateObserver;
|
10343
|
+
var beforeObserver = __dependency27__.beforeObserver;
|
10344
|
+
var Binding = __dependency28__.Binding;
|
10345
|
+
var isGlobalPath = __dependency28__.isGlobalPath;
|
10346
|
+
var bind = __dependency28__.bind;
|
10347
|
+
var oneWay = __dependency28__.oneWay;
|
10348
|
+
var run = __dependency29__["default"];
|
10349
|
+
var libraries = __dependency30__["default"];
|
10350
|
+
var isNone = __dependency31__.isNone;
|
10351
|
+
var none = __dependency31__.none;
|
10352
|
+
var isEmpty = __dependency32__.isEmpty;
|
10353
|
+
var empty = __dependency32__.empty;
|
10354
|
+
var isBlank = __dependency33__["default"];
|
10353
10355
|
// END IMPORTS
|
10354
10356
|
|
10355
10357
|
// BEGIN EXPORTS
|
@@ -10532,6 +10534,81 @@ define("ember-metal",
|
|
10532
10534
|
|
10533
10535
|
__exports__["default"] = Ember;
|
10534
10536
|
});
|
10537
|
+
define("ember-metal/alias",
|
10538
|
+
["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"],
|
10539
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __exports__) {
|
10540
|
+
"use strict";
|
10541
|
+
var get = __dependency1__.get;
|
10542
|
+
var set = __dependency2__.set;
|
10543
|
+
var EmberError = __dependency3__["default"];
|
10544
|
+
var Descriptor = __dependency4__.Descriptor;
|
10545
|
+
var defineProperty = __dependency4__.defineProperty;
|
10546
|
+
var create = __dependency5__.create;
|
10547
|
+
var meta = __dependency6__.meta;
|
10548
|
+
var inspect = __dependency6__.inspect;
|
10549
|
+
var addDependentKeys = __dependency7__.addDependentKeys;
|
10550
|
+
var removeDependentKeys = __dependency7__.removeDependentKeys;
|
10551
|
+
|
10552
|
+
function alias(altKey) {
|
10553
|
+
return new AliasedProperty(altKey);
|
10554
|
+
}
|
10555
|
+
|
10556
|
+
__exports__.alias = alias;function AliasedProperty(altKey) {
|
10557
|
+
this.altKey = altKey;
|
10558
|
+
this._dependentKeys = [ altKey ];
|
10559
|
+
}
|
10560
|
+
|
10561
|
+
__exports__.AliasedProperty = AliasedProperty;AliasedProperty.prototype = create(Descriptor.prototype);
|
10562
|
+
|
10563
|
+
AliasedProperty.prototype.get = function AliasedProperty_get(obj, keyName) {
|
10564
|
+
return get(obj, this.altKey);
|
10565
|
+
};
|
10566
|
+
|
10567
|
+
AliasedProperty.prototype.set = function AliasedProperty_set(obj, keyName, value) {
|
10568
|
+
return set(obj, this.altKey, value);
|
10569
|
+
};
|
10570
|
+
|
10571
|
+
AliasedProperty.prototype.willWatch = function(obj, keyName) {
|
10572
|
+
addDependentKeys(this, obj, keyName, meta(obj));
|
10573
|
+
};
|
10574
|
+
|
10575
|
+
AliasedProperty.prototype.didUnwatch = function(obj, keyName) {
|
10576
|
+
removeDependentKeys(this, obj, keyName, meta(obj));
|
10577
|
+
};
|
10578
|
+
|
10579
|
+
AliasedProperty.prototype.setup = function(obj, keyName) {
|
10580
|
+
var m = meta(obj);
|
10581
|
+
if (m.watching[keyName]) {
|
10582
|
+
addDependentKeys(this, obj, keyName, m);
|
10583
|
+
}
|
10584
|
+
};
|
10585
|
+
|
10586
|
+
AliasedProperty.prototype.teardown = function(obj, keyName) {
|
10587
|
+
var m = meta(obj);
|
10588
|
+
if (m.watching[keyName]) {
|
10589
|
+
removeDependentKeys(this, obj, keyName, m);
|
10590
|
+
}
|
10591
|
+
};
|
10592
|
+
|
10593
|
+
AliasedProperty.prototype.readOnly = function() {
|
10594
|
+
this.set = AliasedProperty_readOnlySet;
|
10595
|
+
return this;
|
10596
|
+
};
|
10597
|
+
|
10598
|
+
function AliasedProperty_readOnlySet(obj, keyName, value) {
|
10599
|
+
throw new EmberError('Cannot set read-only property "' + keyName + '" on object: ' + inspect(obj));
|
10600
|
+
}
|
10601
|
+
|
10602
|
+
AliasedProperty.prototype.oneWay = function() {
|
10603
|
+
this.set = AliasedProperty_oneWaySet;
|
10604
|
+
return this;
|
10605
|
+
};
|
10606
|
+
|
10607
|
+
function AliasedProperty_oneWaySet(obj, keyName, value) {
|
10608
|
+
defineProperty(obj, keyName, null);
|
10609
|
+
return set(obj, keyName, value);
|
10610
|
+
}
|
10611
|
+
});
|
10535
10612
|
define("ember-metal/array",
|
10536
10613
|
["exports"],
|
10537
10614
|
function(__exports__) {
|
@@ -11479,29 +11556,23 @@ define("ember-metal/chains",
|
|
11479
11556
|
__exports__.ChainNode = ChainNode;
|
11480
11557
|
});
|
11481
11558
|
define("ember-metal/computed",
|
11482
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/
|
11483
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__,
|
11559
|
+
["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"],
|
11560
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
|
11484
11561
|
"use strict";
|
11485
11562
|
var Ember = __dependency1__["default"];
|
11486
11563
|
var get = __dependency2__.get;
|
11487
11564
|
var set = __dependency3__.set;
|
11488
11565
|
var meta = __dependency4__.meta;
|
11489
11566
|
var META_KEY = __dependency4__.META_KEY;
|
11490
|
-
var guidFor = __dependency4__.guidFor;
|
11491
|
-
var typeOf = __dependency4__.typeOf;
|
11492
11567
|
var inspect = __dependency4__.inspect;
|
11493
|
-
var
|
11494
|
-
var
|
11495
|
-
var
|
11496
|
-
var
|
11497
|
-
var
|
11498
|
-
var
|
11499
|
-
var
|
11500
|
-
var
|
11501
|
-
var propertyWillChange = __dependency11__.propertyWillChange;
|
11502
|
-
var propertyDidChange = __dependency11__.propertyDidChange;
|
11503
|
-
var isEmpty = __dependency12__["default"];
|
11504
|
-
var isNone = __dependency13__.isNone;
|
11568
|
+
var expandProperties = __dependency5__["default"];
|
11569
|
+
var EmberError = __dependency6__["default"];
|
11570
|
+
var Descriptor = __dependency7__.Descriptor;
|
11571
|
+
var defineProperty = __dependency7__.defineProperty;
|
11572
|
+
var propertyWillChange = __dependency8__.propertyWillChange;
|
11573
|
+
var propertyDidChange = __dependency8__.propertyDidChange;
|
11574
|
+
var addDependentKeys = __dependency9__.addDependentKeys;
|
11575
|
+
var removeDependentKeys = __dependency9__.removeDependentKeys;
|
11505
11576
|
|
11506
11577
|
/**
|
11507
11578
|
@module ember-metal
|
@@ -11511,84 +11582,10 @@ define("ember-metal/computed",
|
|
11511
11582
|
|
11512
11583
|
|
11513
11584
|
var metaFor = meta,
|
11514
|
-
a_slice = [].slice
|
11515
|
-
o_create = create;
|
11585
|
+
a_slice = [].slice;
|
11516
11586
|
|
11517
11587
|
function UNDEFINED() { }
|
11518
11588
|
|
11519
|
-
var lengthPattern = /\.(length|\[\])$/;
|
11520
|
-
|
11521
|
-
// ..........................................................
|
11522
|
-
// DEPENDENT KEYS
|
11523
|
-
//
|
11524
|
-
|
11525
|
-
// data structure:
|
11526
|
-
// meta.deps = {
|
11527
|
-
// 'depKey': {
|
11528
|
-
// 'keyName': count,
|
11529
|
-
// }
|
11530
|
-
// }
|
11531
|
-
|
11532
|
-
/*
|
11533
|
-
This function returns a map of unique dependencies for a
|
11534
|
-
given object and key.
|
11535
|
-
*/
|
11536
|
-
function keysForDep(depsMeta, depKey) {
|
11537
|
-
var keys = depsMeta[depKey];
|
11538
|
-
if (!keys) {
|
11539
|
-
// if there are no dependencies yet for a the given key
|
11540
|
-
// create a new empty list of dependencies for the key
|
11541
|
-
keys = depsMeta[depKey] = {};
|
11542
|
-
} else if (!depsMeta.hasOwnProperty(depKey)) {
|
11543
|
-
// otherwise if the dependency list is inherited from
|
11544
|
-
// a superclass, clone the hash
|
11545
|
-
keys = depsMeta[depKey] = o_create(keys);
|
11546
|
-
}
|
11547
|
-
return keys;
|
11548
|
-
}
|
11549
|
-
|
11550
|
-
function metaForDeps(meta) {
|
11551
|
-
return keysForDep(meta, 'deps');
|
11552
|
-
}
|
11553
|
-
|
11554
|
-
function addDependentKeys(desc, obj, keyName, meta) {
|
11555
|
-
// the descriptor has a list of dependent keys, so
|
11556
|
-
// add all of its dependent keys.
|
11557
|
-
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
11558
|
-
if (!depKeys) return;
|
11559
|
-
|
11560
|
-
depsMeta = metaForDeps(meta);
|
11561
|
-
|
11562
|
-
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
11563
|
-
depKey = depKeys[idx];
|
11564
|
-
// Lookup keys meta for depKey
|
11565
|
-
keys = keysForDep(depsMeta, depKey);
|
11566
|
-
// Increment the number of times depKey depends on keyName.
|
11567
|
-
keys[keyName] = (keys[keyName] || 0) + 1;
|
11568
|
-
// Watch the depKey
|
11569
|
-
watch(obj, depKey, meta);
|
11570
|
-
}
|
11571
|
-
}
|
11572
|
-
|
11573
|
-
function removeDependentKeys(desc, obj, keyName, meta) {
|
11574
|
-
// the descriptor has a list of dependent keys, so
|
11575
|
-
// remove all of its dependent keys.
|
11576
|
-
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
11577
|
-
if (!depKeys) return;
|
11578
|
-
|
11579
|
-
depsMeta = metaForDeps(meta);
|
11580
|
-
|
11581
|
-
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
11582
|
-
depKey = depKeys[idx];
|
11583
|
-
// Lookup keys meta for depKey
|
11584
|
-
keys = keysForDep(depsMeta, depKey);
|
11585
|
-
// Decrement the number of times depKey depends on keyName.
|
11586
|
-
keys[keyName] = (keys[keyName] || 0) - 1;
|
11587
|
-
// Unwatch the depKey
|
11588
|
-
unwatch(obj, depKey, meta);
|
11589
|
-
}
|
11590
|
-
}
|
11591
|
-
|
11592
11589
|
// ..........................................................
|
11593
11590
|
// COMPUTED PROPERTY
|
11594
11591
|
//
|
@@ -11726,7 +11723,7 @@ define("ember-metal/computed",
|
|
11726
11723
|
@return {Ember.ComputedProperty} this
|
11727
11724
|
@chainable
|
11728
11725
|
*/
|
11729
|
-
ComputedPropertyPrototype
|
11726
|
+
ComputedPropertyPrototype["volatile"] = function() {
|
11730
11727
|
return this.cacheable(false);
|
11731
11728
|
};
|
11732
11729
|
|
@@ -12082,6 +12079,28 @@ define("ember-metal/computed",
|
|
12082
12079
|
cache[key] = undefined;
|
12083
12080
|
};
|
12084
12081
|
|
12082
|
+
__exports__.ComputedProperty = ComputedProperty;
|
12083
|
+
__exports__.computed = computed;
|
12084
|
+
__exports__.cacheFor = cacheFor;
|
12085
|
+
});
|
12086
|
+
define("ember-metal/computed_macros",
|
12087
|
+
["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"],
|
12088
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__) {
|
12089
|
+
"use strict";
|
12090
|
+
var Ember = __dependency1__["default"];
|
12091
|
+
var get = __dependency2__.get;
|
12092
|
+
var set = __dependency3__.set;
|
12093
|
+
var computed = __dependency4__.computed;
|
12094
|
+
var isEmpty = __dependency5__["default"];
|
12095
|
+
var isNone = __dependency6__.isNone;
|
12096
|
+
var alias = __dependency7__.alias;
|
12097
|
+
|
12098
|
+
/**
|
12099
|
+
@module ember-metal
|
12100
|
+
*/
|
12101
|
+
|
12102
|
+
var a_slice = [].slice;
|
12103
|
+
|
12085
12104
|
function getProperties(self, propertyNames) {
|
12086
12105
|
var ret = {};
|
12087
12106
|
for(var i = 0; i < propertyNames.length; i++) {
|
@@ -12619,15 +12638,7 @@ define("ember-metal/computed",
|
|
12619
12638
|
@return {Ember.ComputedProperty} computed property which creates an
|
12620
12639
|
alias to the original value for property.
|
12621
12640
|
*/
|
12622
|
-
computed.alias =
|
12623
|
-
return computed(dependentKey, function(key, value) {
|
12624
|
-
if (arguments.length > 1) {
|
12625
|
-
set(this, dependentKey, value);
|
12626
|
-
}
|
12627
|
-
|
12628
|
-
return get(this, dependentKey);
|
12629
|
-
});
|
12630
|
-
};
|
12641
|
+
computed.alias = alias;
|
12631
12642
|
|
12632
12643
|
/**
|
12633
12644
|
Where `computed.alias` aliases `get` and `set`, and allows for bidirectional
|
@@ -12662,9 +12673,7 @@ define("ember-metal/computed",
|
|
12662
12673
|
one way computed property to the original value for property.
|
12663
12674
|
*/
|
12664
12675
|
computed.oneWay = function(dependentKey) {
|
12665
|
-
return
|
12666
|
-
return get(this, dependentKey);
|
12667
|
-
});
|
12676
|
+
return alias(dependentKey).oneWay();
|
12668
12677
|
};
|
12669
12678
|
|
12670
12679
|
|
@@ -12716,9 +12725,7 @@ define("ember-metal/computed",
|
|
12716
12725
|
@since 1.5.0
|
12717
12726
|
*/
|
12718
12727
|
computed.readOnly = function(dependentKey) {
|
12719
|
-
return
|
12720
|
-
return get(this, dependentKey);
|
12721
|
-
}).readOnly();
|
12728
|
+
return alias(dependentKey).readOnly();
|
12722
12729
|
};
|
12723
12730
|
/**
|
12724
12731
|
A computed property that acts like a standard getter and setter,
|
@@ -12780,10 +12787,6 @@ define("ember-metal/computed",
|
|
12780
12787
|
}
|
12781
12788
|
});
|
12782
12789
|
};
|
12783
|
-
|
12784
|
-
__exports__.ComputedProperty = ComputedProperty;
|
12785
|
-
__exports__.computed = computed;
|
12786
|
-
__exports__.cacheFor = cacheFor;
|
12787
12790
|
});
|
12788
12791
|
define("ember-metal/core",
|
12789
12792
|
["exports"],
|
@@ -12813,7 +12816,7 @@ define("ember-metal/core",
|
|
12813
12816
|
|
12814
12817
|
@class Ember
|
12815
12818
|
@static
|
12816
|
-
@version 1.7.0-beta.
|
12819
|
+
@version 1.7.0-beta.2
|
12817
12820
|
*/
|
12818
12821
|
|
12819
12822
|
if ('undefined' === typeof Ember) {
|
@@ -12840,10 +12843,10 @@ define("ember-metal/core",
|
|
12840
12843
|
/**
|
12841
12844
|
@property VERSION
|
12842
12845
|
@type String
|
12843
|
-
@default '1.7.0-beta.
|
12846
|
+
@default '1.7.0-beta.2'
|
12844
12847
|
@static
|
12845
12848
|
*/
|
12846
|
-
Ember.VERSION = '1.7.0-beta.
|
12849
|
+
Ember.VERSION = '1.7.0-beta.2';
|
12847
12850
|
|
12848
12851
|
/**
|
12849
12852
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -13000,6 +13003,92 @@ define("ember-metal/core",
|
|
13000
13003
|
|
13001
13004
|
__exports__["default"] = Ember;
|
13002
13005
|
});
|
13006
|
+
define("ember-metal/dependent_keys",
|
13007
|
+
["ember-metal/platform","ember-metal/watching","exports"],
|
13008
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
13009
|
+
"use strict";
|
13010
|
+
var create = __dependency1__.create;
|
13011
|
+
var watch = __dependency2__.watch;
|
13012
|
+
var unwatch = __dependency2__.unwatch;
|
13013
|
+
|
13014
|
+
/**
|
13015
|
+
@module ember-metal
|
13016
|
+
*/
|
13017
|
+
|
13018
|
+
var o_create = create;
|
13019
|
+
|
13020
|
+
// ..........................................................
|
13021
|
+
// DEPENDENT KEYS
|
13022
|
+
//
|
13023
|
+
|
13024
|
+
// data structure:
|
13025
|
+
// meta.deps = {
|
13026
|
+
// 'depKey': {
|
13027
|
+
// 'keyName': count,
|
13028
|
+
// }
|
13029
|
+
// }
|
13030
|
+
|
13031
|
+
/*
|
13032
|
+
This function returns a map of unique dependencies for a
|
13033
|
+
given object and key.
|
13034
|
+
*/
|
13035
|
+
function keysForDep(depsMeta, depKey) {
|
13036
|
+
var keys = depsMeta[depKey];
|
13037
|
+
if (!keys) {
|
13038
|
+
// if there are no dependencies yet for a the given key
|
13039
|
+
// create a new empty list of dependencies for the key
|
13040
|
+
keys = depsMeta[depKey] = {};
|
13041
|
+
} else if (!depsMeta.hasOwnProperty(depKey)) {
|
13042
|
+
// otherwise if the dependency list is inherited from
|
13043
|
+
// a superclass, clone the hash
|
13044
|
+
keys = depsMeta[depKey] = o_create(keys);
|
13045
|
+
}
|
13046
|
+
return keys;
|
13047
|
+
}
|
13048
|
+
|
13049
|
+
function metaForDeps(meta) {
|
13050
|
+
return keysForDep(meta, 'deps');
|
13051
|
+
}
|
13052
|
+
|
13053
|
+
function addDependentKeys(desc, obj, keyName, meta) {
|
13054
|
+
// the descriptor has a list of dependent keys, so
|
13055
|
+
// add all of its dependent keys.
|
13056
|
+
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
13057
|
+
if (!depKeys) return;
|
13058
|
+
|
13059
|
+
depsMeta = metaForDeps(meta);
|
13060
|
+
|
13061
|
+
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
13062
|
+
depKey = depKeys[idx];
|
13063
|
+
// Lookup keys meta for depKey
|
13064
|
+
keys = keysForDep(depsMeta, depKey);
|
13065
|
+
// Increment the number of times depKey depends on keyName.
|
13066
|
+
keys[keyName] = (keys[keyName] || 0) + 1;
|
13067
|
+
// Watch the depKey
|
13068
|
+
watch(obj, depKey, meta);
|
13069
|
+
}
|
13070
|
+
}
|
13071
|
+
|
13072
|
+
__exports__.addDependentKeys = addDependentKeys;function removeDependentKeys(desc, obj, keyName, meta) {
|
13073
|
+
// the descriptor has a list of dependent keys, so
|
13074
|
+
// remove all of its dependent keys.
|
13075
|
+
var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
|
13076
|
+
if (!depKeys) return;
|
13077
|
+
|
13078
|
+
depsMeta = metaForDeps(meta);
|
13079
|
+
|
13080
|
+
for(idx = 0, len = depKeys.length; idx < len; idx++) {
|
13081
|
+
depKey = depKeys[idx];
|
13082
|
+
// Lookup keys meta for depKey
|
13083
|
+
keys = keysForDep(depsMeta, depKey);
|
13084
|
+
// Decrement the number of times depKey depends on keyName.
|
13085
|
+
keys[keyName] = (keys[keyName] || 0) - 1;
|
13086
|
+
// Unwatch the depKey
|
13087
|
+
unwatch(obj, depKey, meta);
|
13088
|
+
}
|
13089
|
+
}
|
13090
|
+
__exports__.removeDependentKeys = removeDependentKeys;
|
13091
|
+
});
|
13003
13092
|
define("ember-metal/enumerable_utils",
|
13004
13093
|
["ember-metal/array","exports"],
|
13005
13094
|
function(__dependency1__, __exports__) {
|
@@ -16033,6 +16122,7 @@ define("ember-metal/properties",
|
|
16033
16122
|
} else {
|
16034
16123
|
obj[keyName] = undefined; // make enumerable
|
16035
16124
|
}
|
16125
|
+
if (desc.setup) { desc.setup(obj, keyName); }
|
16036
16126
|
} else {
|
16037
16127
|
descs[keyName] = undefined; // shadow descriptor in proto
|
16038
16128
|
if (desc == null) {
|
@@ -18149,6 +18239,9 @@ define("ember-metal/watch_key",
|
|
18149
18239
|
if (!watching[keyName]) {
|
18150
18240
|
watching[keyName] = 1;
|
18151
18241
|
|
18242
|
+
var desc = m.descs[keyName];
|
18243
|
+
if (desc && desc.willWatch) { desc.willWatch(obj, keyName); }
|
18244
|
+
|
18152
18245
|
if ('function' === typeof obj.willWatchProperty) {
|
18153
18246
|
obj.willWatchProperty(keyName);
|
18154
18247
|
}
|
@@ -18173,6 +18266,9 @@ define("ember-metal/watch_key",
|
|
18173
18266
|
if (watching[keyName] === 1) {
|
18174
18267
|
watching[keyName] = 0;
|
18175
18268
|
|
18269
|
+
var desc = m.descs[keyName];
|
18270
|
+
if (desc && desc.didUnwatch) { desc.didUnwatch(obj, keyName); }
|
18271
|
+
|
18176
18272
|
if ('function' === typeof obj.didUnwatchProperty) {
|
18177
18273
|
obj.didUnwatchProperty(keyName);
|
18178
18274
|
}
|
@@ -19845,7 +19941,7 @@ define("ember-routing-handlebars/helpers/render",
|
|
19845
19941
|
var set = __dependency4__.set;
|
19846
19942
|
var camelize = __dependency5__.camelize;
|
19847
19943
|
var generateControllerFactory = __dependency6__.generateControllerFactory;
|
19848
|
-
var generateController = __dependency6__
|
19944
|
+
var generateController = __dependency6__["default"];
|
19849
19945
|
var handlebarsGet = __dependency7__.handlebarsGet;
|
19850
19946
|
var viewHelper = __dependency8__.viewHelper;
|
19851
19947
|
|
@@ -20108,8 +20204,8 @@ define("ember-routing-handlebars/helpers/shared",
|
|
20108
20204
|
__exports__.resolvePaths = resolvePaths;
|
20109
20205
|
});
|
20110
20206
|
define("ember-routing",
|
20111
|
-
["ember-handlebars","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],
|
20112
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __exports__) {
|
20207
|
+
["ember-handlebars","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/generate_controller","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],
|
20208
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __exports__) {
|
20113
20209
|
"use strict";
|
20114
20210
|
/**
|
20115
20211
|
Ember Routing
|
@@ -20130,12 +20226,12 @@ define("ember-routing",
|
|
20130
20226
|
var HistoryLocation = __dependency9__["default"];
|
20131
20227
|
var AutoLocation = __dependency10__["default"];
|
20132
20228
|
|
20133
|
-
var controllerFor = __dependency11__.controllerFor;
|
20134
20229
|
var generateControllerFactory = __dependency11__.generateControllerFactory;
|
20135
|
-
var generateController = __dependency11__
|
20136
|
-
var
|
20137
|
-
var
|
20138
|
-
var
|
20230
|
+
var generateController = __dependency11__["default"];
|
20231
|
+
var controllerFor = __dependency12__["default"];
|
20232
|
+
var RouterDSL = __dependency13__["default"];
|
20233
|
+
var Router = __dependency14__["default"];
|
20234
|
+
var Route = __dependency15__["default"];
|
20139
20235
|
|
20140
20236
|
Ember.Location = EmberLocation;
|
20141
20237
|
Ember.AutoLocation = AutoLocation;
|
@@ -23233,55 +23329,122 @@ define("ember-routing/system/route",
|
|
23233
23329
|
},
|
23234
23330
|
|
23235
23331
|
/**
|
23236
|
-
|
23332
|
+
`render` is used to render a template into a region of another template
|
23333
|
+
(indicated by an `{{outlet}}`). `render` is used both during the entry
|
23334
|
+
phase of routing (via the `renderTemplate` hook) and later in response to
|
23335
|
+
user interaction.
|
23237
23336
|
|
23238
|
-
|
23239
|
-
route specified in the router.
|
23337
|
+
For example, given the following minimal router and templates:
|
23240
23338
|
|
23241
|
-
|
23339
|
+
```js
|
23340
|
+
Router.map(function() {
|
23341
|
+
this.resource('photos');
|
23342
|
+
});
|
23343
|
+
```
|
23344
|
+
|
23345
|
+
```handlebars
|
23346
|
+
<!-- application.hbs -->
|
23347
|
+
<div class='something-in-the-app-hbs'>
|
23348
|
+
{{outlet "anOutletName"}}
|
23349
|
+
</div>
|
23350
|
+
```
|
23351
|
+
|
23352
|
+
```handlebars
|
23353
|
+
<!-- photos.hbs -->
|
23354
|
+
<h1>Photos</h1>
|
23355
|
+
```
|
23356
|
+
|
23357
|
+
You can render `photos.hbs` into the `"anOutletName"` outlet of
|
23358
|
+
`application.hbs` by calling `render`:
|
23242
23359
|
|
23243
23360
|
```js
|
23244
|
-
|
23245
|
-
|
23246
|
-
|
23361
|
+
// posts route
|
23362
|
+
Ember.Route.extend({
|
23363
|
+
renderTemplate: function(){
|
23364
|
+
this.render('posts', {
|
23365
|
+
into: 'application',
|
23366
|
+
outlet: 'anOutletName'
|
23367
|
+
})
|
23368
|
+
}
|
23247
23369
|
});
|
23370
|
+
```
|
23248
23371
|
|
23249
|
-
|
23250
|
-
|
23251
|
-
|
23372
|
+
`render` additionally allows you to supply which `view`, `controller`, and
|
23373
|
+
`model` objects should be loaded and associated with the rendered template.
|
23374
|
+
|
23375
|
+
|
23376
|
+
```js
|
23377
|
+
// posts route
|
23378
|
+
Ember.Route.extend({
|
23379
|
+
renderTemplate: function(controller, model){
|
23380
|
+
this.render('posts', { // the template to render, referenced by name
|
23381
|
+
into: 'application', // the template to render into, referenced by name
|
23382
|
+
outlet: 'anOutletName', // the outlet inside `options.template` to render into.
|
23383
|
+
view: 'aViewName', // the view to use for this template, referenced by name
|
23384
|
+
controller: 'someControllerName', // the controller to use for this template, referenced by name
|
23385
|
+
model: model // the model to set on `options.controller`.
|
23386
|
+
})
|
23252
23387
|
}
|
23253
23388
|
});
|
23254
23389
|
```
|
23255
23390
|
|
23256
|
-
The
|
23391
|
+
The string values provided for the template name, view, and controller
|
23392
|
+
will eventually pass through to the resolver for lookup. See
|
23393
|
+
Ember.Resolver for how these are mapped to JavaScript objects in your
|
23394
|
+
application.
|
23257
23395
|
|
23258
|
-
|
23396
|
+
Not all options need to be passed to `render`. Default values will be used
|
23397
|
+
based on the name of the route specified in the router or the Route's
|
23398
|
+
`controllerName`, `viewName` and and `templateName` properties.
|
23259
23399
|
|
23260
|
-
|
23261
|
-
* with the `post` view (`PostView`) for event handling, if one exists
|
23262
|
-
* and the `post` controller (`PostController`), if one exists
|
23263
|
-
* into the `main` outlet of the `application` template
|
23400
|
+
For example:
|
23264
23401
|
|
23265
|
-
|
23402
|
+
```js
|
23403
|
+
// router
|
23404
|
+
Router.map(function() {
|
23405
|
+
this.route('index');
|
23406
|
+
this.resource('post', {path: '/posts/:post_id'});
|
23407
|
+
});
|
23408
|
+
```
|
23266
23409
|
|
23267
23410
|
```js
|
23268
|
-
|
23411
|
+
// post route
|
23412
|
+
PostRoute = App.Route.extend({
|
23269
23413
|
renderTemplate: function() {
|
23270
|
-
this.render(
|
23271
|
-
into: 'index', // the template to render into
|
23272
|
-
outlet: 'detail', // the name of the outlet in that template
|
23273
|
-
controller: 'blogPost' // the controller to use for the template
|
23274
|
-
});
|
23414
|
+
this.render(); // all defaults apply
|
23275
23415
|
}
|
23276
23416
|
});
|
23277
23417
|
```
|
23278
23418
|
|
23279
|
-
|
23280
|
-
|
23419
|
+
The name of the `PostRoute`, defined by the router, is `post`.
|
23420
|
+
|
23421
|
+
The following equivalent default options will be applied when
|
23422
|
+
the Route calls `render`:
|
23423
|
+
|
23424
|
+
```js
|
23425
|
+
//
|
23426
|
+
this.render('post', { // the template name associated with 'post' Route
|
23427
|
+
into: 'application', // the parent route to 'post' Route
|
23428
|
+
outlet: 'main', // {{outlet}} and {{outlet 'main' are synonymous}},
|
23429
|
+
view: 'post', // the view associated with the 'post' Route
|
23430
|
+
controller: 'post', // the controller associated with the 'post' Route
|
23431
|
+
})
|
23432
|
+
```
|
23433
|
+
|
23434
|
+
By default the controller's `model` will be the route's model, so it does not
|
23435
|
+
need to be passed unless you wish to change which model is being used.
|
23281
23436
|
|
23282
23437
|
@method render
|
23283
23438
|
@param {String} name the name of the template to render
|
23284
23439
|
@param {Object} options the options
|
23440
|
+
@param {String} options.into the template to render into,
|
23441
|
+
referenced by name. Defaults to the parent template
|
23442
|
+
@param {String} options.outlet the outlet inside `options.template` to render into.
|
23443
|
+
Defaults to 'main'
|
23444
|
+
@param {String} options.controller the controller to use for this template,
|
23445
|
+
referenced by name. Defaults to the Route's paired controller
|
23446
|
+
@param {String} options.model the model object to set on `options.controller`
|
23447
|
+
Defaults to the return value of the Route's model hook
|
23285
23448
|
*/
|
23286
23449
|
render: function(name, options) {
|
23287
23450
|
Ember.assert("The name in the given arguments is undefined", arguments.length > 0 ? !isNone(arguments[0]) : true);
|
@@ -23294,6 +23457,7 @@ define("ember-routing/system/route",
|
|
23294
23457
|
}
|
23295
23458
|
|
23296
23459
|
options = options || {};
|
23460
|
+
options.namePassed = namePassed;
|
23297
23461
|
|
23298
23462
|
var templateName;
|
23299
23463
|
|
@@ -23723,10 +23887,10 @@ define("ember-routing/system/route",
|
|
23723
23887
|
|
23724
23888
|
if (options.controller) {
|
23725
23889
|
controller = options.controller;
|
23726
|
-
} else if (
|
23727
|
-
controller =
|
23890
|
+
} else if (options.namePassed) {
|
23891
|
+
controller = route.container.lookup('controller:' + name) || route.controllerName || route.routeName;
|
23728
23892
|
} else {
|
23729
|
-
controller = route.controllerName || route.
|
23893
|
+
controller = route.controllerName || route.container.lookup('controller:' + name);
|
23730
23894
|
}
|
23731
23895
|
|
23732
23896
|
if (typeof controller === 'string') {
|
@@ -24095,7 +24259,7 @@ define("ember-routing/system/router",
|
|
24095
24259
|
var location = get(this, 'location');
|
24096
24260
|
var rootURL = get(this, 'rootURL');
|
24097
24261
|
|
24098
|
-
if (rootURL && !this.container.has('-location-setting:root-url')) {
|
24262
|
+
if (rootURL && this.container && !this.container.has('-location-setting:root-url')) {
|
24099
24263
|
this.container.register('-location-setting:root-url', rootURL, { instantiate: false });
|
24100
24264
|
}
|
24101
24265
|
|
@@ -24417,16 +24581,7 @@ define("ember-routing/system/router",
|
|
24417
24581
|
return;
|
24418
24582
|
}
|
24419
24583
|
|
24420
|
-
|
24421
|
-
|
24422
|
-
if (error) {
|
24423
|
-
if (error.message) { errorArgs.push(error.message); }
|
24424
|
-
if (error.stack) { errorArgs.push(error.stack); }
|
24425
|
-
|
24426
|
-
if (typeof error === "string") { errorArgs.push(error); }
|
24427
|
-
}
|
24428
|
-
|
24429
|
-
Ember.Logger.error.apply(this, errorArgs);
|
24584
|
+
logError(error, 'Error while processing route: ' + transition.targetName);
|
24430
24585
|
},
|
24431
24586
|
|
24432
24587
|
loading: function(transition, originRoute) {
|
@@ -24457,6 +24612,21 @@ define("ember-routing/system/router",
|
|
24457
24612
|
}
|
24458
24613
|
};
|
24459
24614
|
|
24615
|
+
function logError(error, initialMessage) {
|
24616
|
+
var errorArgs = [];
|
24617
|
+
|
24618
|
+
if (initialMessage) { errorArgs.push(initialMessage); }
|
24619
|
+
|
24620
|
+
if (error) {
|
24621
|
+
if (error.message) { errorArgs.push(error.message); }
|
24622
|
+
if (error.stack) { errorArgs.push(error.stack); }
|
24623
|
+
|
24624
|
+
if (typeof error === "string") { errorArgs.push(error); }
|
24625
|
+
}
|
24626
|
+
|
24627
|
+
Ember.Logger.error.apply(this, errorArgs);
|
24628
|
+
}
|
24629
|
+
|
24460
24630
|
function findChildRouteName(parentRoute, originatingChildRoute, name) {
|
24461
24631
|
var router = parentRoute.router;
|
24462
24632
|
var childName;
|
@@ -24629,7 +24799,7 @@ define("ember-routing/system/router",
|
|
24629
24799
|
} else if (error.name === 'TransitionAborted') {
|
24630
24800
|
// just ignore TransitionAborted here
|
24631
24801
|
} else {
|
24632
|
-
|
24802
|
+
logError(error);
|
24633
24803
|
}
|
24634
24804
|
|
24635
24805
|
return error;
|
@@ -35173,11 +35343,11 @@ define("ember-testing/helpers",
|
|
35173
35343
|
run(app, app.handleURL, url);
|
35174
35344
|
}
|
35175
35345
|
|
35176
|
-
return wait(
|
35346
|
+
return app.testHelpers.wait();
|
35177
35347
|
}
|
35178
35348
|
|
35179
35349
|
function click(app, selector, context) {
|
35180
|
-
var $el = findWithAssert(
|
35350
|
+
var $el = app.testHelpers.findWithAssert(selector, context);
|
35181
35351
|
run($el, 'mousedown');
|
35182
35352
|
|
35183
35353
|
if ($el.is(':input')) {
|
@@ -35199,11 +35369,12 @@ define("ember-testing/helpers",
|
|
35199
35369
|
run($el, 'mouseup');
|
35200
35370
|
run($el, 'click');
|
35201
35371
|
|
35202
|
-
return wait(
|
35372
|
+
return app.testHelpers.wait();
|
35203
35373
|
}
|
35204
35374
|
|
35205
35375
|
function triggerEvent(app, selector, context, type, options){
|
35206
35376
|
if (arguments.length === 3) {
|
35377
|
+
options = type;
|
35207
35378
|
type = context;
|
35208
35379
|
context = null;
|
35209
35380
|
}
|
@@ -35212,13 +35383,13 @@ define("ember-testing/helpers",
|
|
35212
35383
|
options = {};
|
35213
35384
|
}
|
35214
35385
|
|
35215
|
-
var $el = findWithAssert(
|
35386
|
+
var $el = app.testHelpers.findWithAssert(selector, context);
|
35216
35387
|
|
35217
35388
|
var event = jQuery.Event(type, options);
|
35218
35389
|
|
35219
35390
|
run($el, 'trigger', event);
|
35220
35391
|
|
35221
|
-
return wait(
|
35392
|
+
return app.testHelpers.wait();
|
35222
35393
|
}
|
35223
35394
|
|
35224
35395
|
function keyEvent(app, selector, context, type, keyCode) {
|
@@ -35228,7 +35399,7 @@ define("ember-testing/helpers",
|
|
35228
35399
|
context = null;
|
35229
35400
|
}
|
35230
35401
|
|
35231
|
-
return triggerEvent(
|
35402
|
+
return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
|
35232
35403
|
}
|
35233
35404
|
|
35234
35405
|
function fillIn(app, selector, context, text) {
|
@@ -35237,15 +35408,15 @@ define("ember-testing/helpers",
|
|
35237
35408
|
text = context;
|
35238
35409
|
context = null;
|
35239
35410
|
}
|
35240
|
-
$el = findWithAssert(
|
35411
|
+
$el = app.testHelpers.findWithAssert(selector, context);
|
35241
35412
|
run(function() {
|
35242
35413
|
$el.val(text).change();
|
35243
35414
|
});
|
35244
|
-
return wait(
|
35415
|
+
return app.testHelpers.wait();
|
35245
35416
|
}
|
35246
35417
|
|
35247
35418
|
function findWithAssert(app, selector, context) {
|
35248
|
-
var $el = find(
|
35419
|
+
var $el = app.testHelpers.find(selector, context);
|
35249
35420
|
if ($el.length === 0) {
|
35250
35421
|
throw new EmberError("Element " + selector + " not found.");
|
35251
35422
|
}
|
@@ -35261,7 +35432,7 @@ define("ember-testing/helpers",
|
|
35261
35432
|
}
|
35262
35433
|
|
35263
35434
|
function andThen(app, callback) {
|
35264
|
-
return wait(
|
35435
|
+
return app.testHelpers.wait(callback(app));
|
35265
35436
|
}
|
35266
35437
|
|
35267
35438
|
function wait(app, value) {
|
@@ -35428,7 +35599,7 @@ define("ember-testing/helpers",
|
|
35428
35599
|
.fillIn('#password', username)
|
35429
35600
|
.click('.submit')
|
35430
35601
|
|
35431
|
-
return wait();
|
35602
|
+
return app.testHelpers.wait();
|
35432
35603
|
});
|
35433
35604
|
|
35434
35605
|
@method wait
|
@@ -35497,7 +35668,7 @@ define("ember-testing/helpers",
|
|
35497
35668
|
helper('currentURL', currentURL);
|
35498
35669
|
|
35499
35670
|
/**
|
35500
|
-
Triggers the given event on the element identified by the provided selector.
|
35671
|
+
Triggers the given DOM event on the element identified by the provided selector.
|
35501
35672
|
|
35502
35673
|
Example:
|
35503
35674
|
|
@@ -35513,8 +35684,10 @@ define("ember-testing/helpers",
|
|
35513
35684
|
|
35514
35685
|
@method triggerEvent
|
35515
35686
|
@param {String} selector jQuery selector for finding element on the DOM
|
35687
|
+
@param {String} [context] jQuery selector that will limit the selector
|
35688
|
+
argument to find only within the context's children
|
35516
35689
|
@param {String} type The event type to be triggered.
|
35517
|
-
@param {
|
35690
|
+
@param {Object} options The options to be passed to jQuery.Event.
|
35518
35691
|
@return {RSVP.Promise}
|
35519
35692
|
@since 1.5.0
|
35520
35693
|
*/
|
@@ -35689,6 +35862,13 @@ define("ember-testing/test",
|
|
35689
35862
|
@namespace Ember
|
35690
35863
|
*/
|
35691
35864
|
var Test = {
|
35865
|
+
/**
|
35866
|
+
Hash containing all known test helpers.
|
35867
|
+
|
35868
|
+
@property _helpers
|
35869
|
+
@private
|
35870
|
+
*/
|
35871
|
+
_helpers: helpers,
|
35692
35872
|
|
35693
35873
|
/**
|
35694
35874
|
`registerHelper` is used to register a test helper that will be injected
|
@@ -38387,7 +38567,7 @@ define("ember-views/views/container_view",
|
|
38387
38567
|
|
38388
38568
|
length: computed(function () {
|
38389
38569
|
return this._childViews.length;
|
38390
|
-
})
|
38570
|
+
})["volatile"](),
|
38391
38571
|
|
38392
38572
|
/**
|
38393
38573
|
Instructs each child view to render to the passed render buffer.
|
@@ -40040,7 +40220,7 @@ define("ember-views/views/view",
|
|
40040
40220
|
} else {
|
40041
40221
|
return get(this, '_context');
|
40042
40222
|
}
|
40043
|
-
})
|
40223
|
+
})["volatile"](),
|
40044
40224
|
|
40045
40225
|
/**
|
40046
40226
|
Private copy of the view's template context. This can be set directly
|
@@ -41594,7 +41774,12 @@ define("ember-views/views/view",
|
|
41594
41774
|
if (isNone(value) || value === false) {
|
41595
41775
|
// `null`, `undefined` or `false` should remove attribute
|
41596
41776
|
elem.removeAttr(name);
|
41597
|
-
|
41777
|
+
// In IE8 `prop` couldn't remove attribute when name is `required`.
|
41778
|
+
if (name === 'required') {
|
41779
|
+
elem.removeProp(name);
|
41780
|
+
} else {
|
41781
|
+
elem.prop(name, '');
|
41782
|
+
}
|
41598
41783
|
} else if (value !== elem.prop(name)) {
|
41599
41784
|
// value should always be properties
|
41600
41785
|
elem.prop(name, value);
|
@@ -43824,7 +44009,7 @@ define("router/router",
|
|
43824
44009
|
// Resolve with the final handler.
|
43825
44010
|
return handlerInfos[handlerInfos.length - 1].handler;
|
43826
44011
|
} catch(e) {
|
43827
|
-
if (!(e instanceof TransitionAborted)) {
|
44012
|
+
if (!((e instanceof TransitionAborted))) {
|
43828
44013
|
//var erroneousHandler = handlerInfos.pop();
|
43829
44014
|
var infos = transition.state.handlerInfos;
|
43830
44015
|
transition.trigger(true, 'error', e, transition, infos[infos.length-1].handler);
|