ember-source 1.0.0.rc6 → 1.0.0.rc6.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +15 -0
- data/dist/ember-data-deps.js +403 -21
- data/dist/ember-data-deps.min.js +6 -6
- data/dist/ember-data-deps.prod.js +399 -17
- data/dist/ember-debug.js +2 -2
- data/dist/ember-old-router.js +503 -41
- data/dist/ember-old-router.min.js +9 -9
- data/dist/ember-old-router.prod.js +497 -35
- data/dist/ember-runtime.js +399 -17
- data/dist/ember-runtime.min.js +4 -4
- data/dist/ember-runtime.prod.js +395 -13
- data/dist/ember-spade.js +1 -1
- data/dist/ember-template-compiler.js +5 -5
- data/dist/ember-template-compiler.min.js +3 -3
- data/dist/ember-template-compiler.prod.js +1 -1
- data/dist/ember-tests.js +1 -1
- data/dist/ember.js +739 -87
- data/dist/ember.min.js +9 -9
- data/dist/ember.prod.js +587 -80
- metadata +8 -11
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NzdiY2QxYjc4YThlZWVmZDE2NmI2ZjQwYTY5OTYyNzA4ZmIwYjljZQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MTI3NzZkNmE4YmU2ZTFlYzU5ZjQ0NmVlZWU2MjFhMTY0NGRiMzZmNA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OTQ0YjBhY2M1ZmQ2YWY5ODk3NmFmZmJjMmQxMWQ4NTgzNTk2YTc5MTExY2Vk
|
10
|
+
NDMwZTkzZmVkZWVhNDA1NTcxMjU2Njc0YzQ1YjM2MjhhN2JmMDliNzU3MDE4
|
11
|
+
YzliZTYxNmM2YmNhYzZjMjY0MjBhY2YxOWVlNDk4OTYxOTYyMTQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YzdiMzIwM2UwOGYwMjhiZjdhZGU1YWQ2ODBlMWU1YjlhMzEzZTM5NDQ5YzAz
|
14
|
+
ZGQ1Njg5MTVhZjFmYzFkOWIyYjQ2NTBhNTk1ZGQ4NmZjMTBhZmNjNWQwMGUz
|
15
|
+
YTMyNzA4OWM0ODFkN2Q1N2QwZWYxYTYyZWRiNWY2MzMzNDhkMTE=
|
data/dist/ember-data-deps.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
// Version: v1.0.0-rc.6-
|
2
|
-
// Last commit:
|
1
|
+
// Version: v1.0.0-rc.6-56-g19271bc
|
2
|
+
// Last commit: 19271bc (2013-06-30 23:18:40 -0700)
|
3
3
|
|
4
4
|
|
5
5
|
(function() {
|
@@ -156,8 +156,8 @@ Ember.deprecateFunc = function(message, func) {
|
|
156
156
|
|
157
157
|
})();
|
158
158
|
|
159
|
-
// Version: v1.0.0-rc.6-
|
160
|
-
// Last commit:
|
159
|
+
// Version: v1.0.0-rc.6-56-g19271bc
|
160
|
+
// Last commit: 19271bc (2013-06-30 23:18:40 -0700)
|
161
161
|
|
162
162
|
|
163
163
|
(function() {
|
@@ -1198,9 +1198,9 @@ var needsFinallyFix = (function() {
|
|
1198
1198
|
@for Ember
|
1199
1199
|
@param {Function} tryable The function to run the try callback
|
1200
1200
|
@param {Function} finalizer The function to run the finally callback
|
1201
|
-
@param [binding]
|
1201
|
+
@param {Object} [binding] The optional calling object. Defaults to 'this'
|
1202
1202
|
@return {*} The return value is the that of the finalizer,
|
1203
|
-
unless that
|
1203
|
+
unless that value is undefined, in which case it is the return value
|
1204
1204
|
of the tryable
|
1205
1205
|
*/
|
1206
1206
|
|
@@ -1249,7 +1249,7 @@ if (needsFinallyFix) {
|
|
1249
1249
|
@param {Function} tryable The function to run the try callback
|
1250
1250
|
@param {Function} catchable The function to run the catchable callback
|
1251
1251
|
@param {Function} finalizer The function to run the finally callback
|
1252
|
-
@param [binding]
|
1252
|
+
@param {Object} [binding] The optional calling object. Defaults to 'this'
|
1253
1253
|
@return {*} The return value is the that of the finalizer,
|
1254
1254
|
unless that value is undefined, in which case it is the return value
|
1255
1255
|
of the tryable.
|
@@ -7311,12 +7311,43 @@ define("container",
|
|
7311
7311
|
[],
|
7312
7312
|
function() {
|
7313
7313
|
|
7314
|
+
/**
|
7315
|
+
A safe and simple inheriting object.
|
7316
|
+
|
7317
|
+
@class InheritingDict
|
7318
|
+
*/
|
7314
7319
|
function InheritingDict(parent) {
|
7315
7320
|
this.parent = parent;
|
7316
7321
|
this.dict = {};
|
7317
7322
|
}
|
7318
7323
|
|
7319
7324
|
InheritingDict.prototype = {
|
7325
|
+
|
7326
|
+
/**
|
7327
|
+
@property parent
|
7328
|
+
@type InheritingDict
|
7329
|
+
@default null
|
7330
|
+
*/
|
7331
|
+
|
7332
|
+
parent: null,
|
7333
|
+
|
7334
|
+
/**
|
7335
|
+
Object used to store the current nodes data.
|
7336
|
+
|
7337
|
+
@property dict
|
7338
|
+
@type Object
|
7339
|
+
@default Object
|
7340
|
+
*/
|
7341
|
+
dict: null,
|
7342
|
+
|
7343
|
+
/**
|
7344
|
+
Retrieve the value given a key, if the value is present at the current
|
7345
|
+
level use it, otherwise walk up the parent hierarchy and try again. If
|
7346
|
+
no matching key is found, return undefined.
|
7347
|
+
|
7348
|
+
@method get
|
7349
|
+
@return {any}
|
7350
|
+
*/
|
7320
7351
|
get: function(key) {
|
7321
7352
|
var dict = this.dict;
|
7322
7353
|
|
@@ -7329,10 +7360,26 @@ define("container",
|
|
7329
7360
|
}
|
7330
7361
|
},
|
7331
7362
|
|
7363
|
+
/**
|
7364
|
+
Set the given value for the given key, at the current level.
|
7365
|
+
|
7366
|
+
@method set
|
7367
|
+
@param {String} key
|
7368
|
+
@param {Any} value
|
7369
|
+
*/
|
7332
7370
|
set: function(key, value) {
|
7333
7371
|
this.dict[key] = value;
|
7334
7372
|
},
|
7335
7373
|
|
7374
|
+
/**
|
7375
|
+
Check for the existence of given a key, if the key is present at the current
|
7376
|
+
level return true, otherwise walk up the parent hierarchy and try again. If
|
7377
|
+
no matching key is found, return false.
|
7378
|
+
|
7379
|
+
@method has
|
7380
|
+
@param {String} key
|
7381
|
+
@returns {Boolean}
|
7382
|
+
*/
|
7336
7383
|
has: function(key) {
|
7337
7384
|
var dict = this.dict;
|
7338
7385
|
|
@@ -7347,6 +7394,13 @@ define("container",
|
|
7347
7394
|
return false;
|
7348
7395
|
},
|
7349
7396
|
|
7397
|
+
/**
|
7398
|
+
Iterate and invoke a callback for each local key-value pair.
|
7399
|
+
|
7400
|
+
@method eachLocal
|
7401
|
+
@param {Function} callback
|
7402
|
+
@param {Object} binding
|
7403
|
+
*/
|
7350
7404
|
eachLocal: function(callback, binding) {
|
7351
7405
|
var dict = this.dict;
|
7352
7406
|
|
@@ -7358,6 +7412,11 @@ define("container",
|
|
7358
7412
|
}
|
7359
7413
|
};
|
7360
7414
|
|
7415
|
+
/**
|
7416
|
+
A lightweight container that helps to assemble and decouple components.
|
7417
|
+
|
7418
|
+
@class Container
|
7419
|
+
*/
|
7361
7420
|
function Container(parent) {
|
7362
7421
|
this.parent = parent;
|
7363
7422
|
this.children = [];
|
@@ -7372,16 +7431,115 @@ define("container",
|
|
7372
7431
|
}
|
7373
7432
|
|
7374
7433
|
Container.prototype = {
|
7434
|
+
|
7435
|
+
/**
|
7436
|
+
@property parent
|
7437
|
+
@type Container
|
7438
|
+
@default null
|
7439
|
+
*/
|
7440
|
+
parent: null,
|
7441
|
+
|
7442
|
+
/**
|
7443
|
+
@property children
|
7444
|
+
@type Array
|
7445
|
+
@default []
|
7446
|
+
*/
|
7447
|
+
children: null,
|
7448
|
+
|
7449
|
+
/**
|
7450
|
+
@property resolver
|
7451
|
+
@type function
|
7452
|
+
*/
|
7453
|
+
resolver: null,
|
7454
|
+
|
7455
|
+
/**
|
7456
|
+
@property registry
|
7457
|
+
@type InheritingDict
|
7458
|
+
*/
|
7459
|
+
registry: null,
|
7460
|
+
|
7461
|
+
/**
|
7462
|
+
@property cache
|
7463
|
+
@type InheritingDict
|
7464
|
+
*/
|
7465
|
+
cache: null,
|
7466
|
+
|
7467
|
+
/**
|
7468
|
+
@property typeInjections
|
7469
|
+
@type InheritingDict
|
7470
|
+
*/
|
7471
|
+
typeInjections: null,
|
7472
|
+
|
7473
|
+
/**
|
7474
|
+
@property injections
|
7475
|
+
@type Object
|
7476
|
+
@default {}
|
7477
|
+
*/
|
7478
|
+
injections: null,
|
7479
|
+
|
7480
|
+
/**
|
7481
|
+
@private
|
7482
|
+
|
7483
|
+
@property _options
|
7484
|
+
@type InheritingDict
|
7485
|
+
@default null
|
7486
|
+
*/
|
7487
|
+
_options: null,
|
7488
|
+
|
7489
|
+
/**
|
7490
|
+
@private
|
7491
|
+
|
7492
|
+
@property _typeOptions
|
7493
|
+
@type InheritingDict
|
7494
|
+
*/
|
7495
|
+
_typeOptions: null,
|
7496
|
+
|
7497
|
+
/**
|
7498
|
+
Returns a new child of the current container. These children are configured
|
7499
|
+
to correctly inherit from the current container.
|
7500
|
+
|
7501
|
+
@method child
|
7502
|
+
@returns {Container}
|
7503
|
+
*/
|
7375
7504
|
child: function() {
|
7376
7505
|
var container = new Container(this);
|
7377
7506
|
this.children.push(container);
|
7378
7507
|
return container;
|
7379
7508
|
},
|
7380
7509
|
|
7510
|
+
/**
|
7511
|
+
Sets a key-value pair on the current container. If a parent container,
|
7512
|
+
has the same key, once set on a child, the parent and child will diverge
|
7513
|
+
as expected.
|
7514
|
+
|
7515
|
+
@method set
|
7516
|
+
@param {Object} obkect
|
7517
|
+
@param {String} key
|
7518
|
+
@param {any} value
|
7519
|
+
*/
|
7381
7520
|
set: function(object, key, value) {
|
7382
7521
|
object[key] = value;
|
7383
7522
|
},
|
7384
7523
|
|
7524
|
+
/**
|
7525
|
+
Registers a factory for later injection.
|
7526
|
+
|
7527
|
+
Example:
|
7528
|
+
|
7529
|
+
```javascript
|
7530
|
+
var container = new Container();
|
7531
|
+
|
7532
|
+
container.register('model:user', Person, {singleton: false });
|
7533
|
+
container.register('fruit:favorite', Orange);
|
7534
|
+
container.register('communication:main', Email, {singleton: false});
|
7535
|
+
```
|
7536
|
+
|
7537
|
+
@method register
|
7538
|
+
@param {String} type
|
7539
|
+
@param {String} name
|
7540
|
+
@param {Function} factory
|
7541
|
+
@param {Object} options
|
7542
|
+
*/
|
7385
7543
|
register: function(type, name, factory, options) {
|
7386
7544
|
var fullName;
|
7387
7545
|
|
@@ -7400,14 +7558,92 @@ define("container",
|
|
7400
7558
|
this._options.set(normalizedName, options || {});
|
7401
7559
|
},
|
7402
7560
|
|
7561
|
+
/**
|
7562
|
+
Given a fullName return the corresponding factory.
|
7563
|
+
|
7564
|
+
By default `resolve` will retreive the factory from
|
7565
|
+
it's containers registry.
|
7566
|
+
|
7567
|
+
```javascript
|
7568
|
+
var container = new Container();
|
7569
|
+
container.register('api:twitter', Twitter);
|
7570
|
+
|
7571
|
+
container.resolve('api:twitter') // => Twitter
|
7572
|
+
```
|
7573
|
+
|
7574
|
+
Optionally the container can be provided with a custom resolver.
|
7575
|
+
If provided, `resolve` will first provide the custom resolver
|
7576
|
+
the oppertunity to resolve the fullName, otherwise it will fallback
|
7577
|
+
to the registry.
|
7578
|
+
|
7579
|
+
```javascript
|
7580
|
+
var container = new Container();
|
7581
|
+
container.resolver = function(fullName) {
|
7582
|
+
// lookup via the module system of choice
|
7583
|
+
};
|
7584
|
+
|
7585
|
+
// the twitter factory is added to the module system
|
7586
|
+
container.resolve('api:twitter') // => Twitter
|
7587
|
+
```
|
7588
|
+
|
7589
|
+
@method resolve
|
7590
|
+
@param {String} fullName
|
7591
|
+
@returns {Function} fullName's factory
|
7592
|
+
*/
|
7403
7593
|
resolve: function(fullName) {
|
7404
7594
|
return this.resolver(fullName) || this.registry.get(fullName);
|
7405
7595
|
},
|
7406
7596
|
|
7597
|
+
/**
|
7598
|
+
A hook to enable custom fullName normalization behaviour
|
7599
|
+
|
7600
|
+
@method normalize
|
7601
|
+
@param {String} fullName
|
7602
|
+
@return {string} normalized fullName
|
7603
|
+
*/
|
7407
7604
|
normalize: function(fullName) {
|
7408
7605
|
return fullName;
|
7409
7606
|
},
|
7410
7607
|
|
7608
|
+
/**
|
7609
|
+
Given a fullName return a corresponding instance.
|
7610
|
+
|
7611
|
+
The default behaviour is for lookup to return a singleton instance.
|
7612
|
+
The singleton is scoped to the container, allowing multiple containers
|
7613
|
+
to all have there own locally scoped singletons.
|
7614
|
+
|
7615
|
+
```javascript
|
7616
|
+
var container = new Container();
|
7617
|
+
container.register('api:twitter', Twitter);
|
7618
|
+
|
7619
|
+
var twitter = container.lookup('api:twitter');
|
7620
|
+
|
7621
|
+
twitter instanceof Twitter; // => true
|
7622
|
+
|
7623
|
+
// by default the container will return singletons
|
7624
|
+
twitter2 = container.lookup('api:twitter');
|
7625
|
+
twitter instanceof Twitter; // => true
|
7626
|
+
|
7627
|
+
twitter === twitter2; //=> true
|
7628
|
+
```
|
7629
|
+
|
7630
|
+
If singletons are not wanted an optional flag can be provided at lookup.
|
7631
|
+
|
7632
|
+
```javascript
|
7633
|
+
var container = new Container();
|
7634
|
+
container.register('api:twitter', Twitter);
|
7635
|
+
|
7636
|
+
var twitter = container.lookup('api:twitter', { singleton: false });
|
7637
|
+
var twitter2 = container.lookup('api:twitter', { singleton: false });
|
7638
|
+
|
7639
|
+
twitter === twitter2; //=> false
|
7640
|
+
```
|
7641
|
+
|
7642
|
+
@method lookup
|
7643
|
+
@param {String} fullName
|
7644
|
+
@param {Object} options
|
7645
|
+
@return {any}
|
7646
|
+
*/
|
7411
7647
|
lookup: function(fullName, options) {
|
7412
7648
|
fullName = this.normalize(fullName);
|
7413
7649
|
|
@@ -7428,10 +7664,25 @@ define("container",
|
|
7428
7664
|
return value;
|
7429
7665
|
},
|
7430
7666
|
|
7667
|
+
/**
|
7668
|
+
Given a fullName return the corresponding factory.
|
7669
|
+
|
7670
|
+
@method lookupFactory
|
7671
|
+
@param {String} fullName
|
7672
|
+
@return {any}
|
7673
|
+
*/
|
7431
7674
|
lookupFactory: function(fullName) {
|
7432
7675
|
return factoryFor(this, fullName);
|
7433
7676
|
},
|
7434
7677
|
|
7678
|
+
/**
|
7679
|
+
Given a fullName check if the container is aware of its factory
|
7680
|
+
or singleton instance.
|
7681
|
+
|
7682
|
+
@method has
|
7683
|
+
@param {String} fullName
|
7684
|
+
@return {Boolean}
|
7685
|
+
*/
|
7435
7686
|
has: function(fullName) {
|
7436
7687
|
if (this.cache.has(fullName)) {
|
7437
7688
|
return true;
|
@@ -7440,27 +7691,144 @@ define("container",
|
|
7440
7691
|
return !!factoryFor(this, fullName);
|
7441
7692
|
},
|
7442
7693
|
|
7694
|
+
/**
|
7695
|
+
Allow registerying options for all factories of a type.
|
7696
|
+
|
7697
|
+
```javascript
|
7698
|
+
var container = new Container();
|
7699
|
+
|
7700
|
+
// if all of type `connection` must not be singletons
|
7701
|
+
container.optionsForType('connection', { singleton: false });
|
7702
|
+
|
7703
|
+
container.register('connection:twitter', TwitterConnection);
|
7704
|
+
container.register('connection:facebook', FacebookConnection);
|
7705
|
+
|
7706
|
+
var twitter = container.lookup('connection:twitter');
|
7707
|
+
var twitter2 = container.lookup('connection:twitter');
|
7708
|
+
|
7709
|
+
twitter === twitter2; // => false
|
7710
|
+
|
7711
|
+
var facebook = container.lookup('connection:facebook');
|
7712
|
+
var facebook2 = container.lookup('connection:facebook');
|
7713
|
+
|
7714
|
+
facebook === facebook2; // => false
|
7715
|
+
```
|
7716
|
+
|
7717
|
+
@method optionsForType
|
7718
|
+
@param {String} type
|
7719
|
+
@param {Object} options
|
7720
|
+
*/
|
7443
7721
|
optionsForType: function(type, options) {
|
7444
7722
|
if (this.parent) { illegalChildOperation('optionsForType'); }
|
7445
7723
|
|
7446
7724
|
this._typeOptions.set(type, options);
|
7447
7725
|
},
|
7448
7726
|
|
7727
|
+
/**
|
7728
|
+
@method options
|
7729
|
+
@param {String} type
|
7730
|
+
@param {Object} options
|
7731
|
+
*/
|
7449
7732
|
options: function(type, options) {
|
7450
7733
|
this.optionsForType(type, options);
|
7451
7734
|
},
|
7452
7735
|
|
7736
|
+
/*
|
7737
|
+
@private
|
7738
|
+
|
7739
|
+
Used only via `injection`.
|
7740
|
+
|
7741
|
+
Provides a specialized form of injection, specifically enabling
|
7742
|
+
all objects of one type to be injected with a reference to another
|
7743
|
+
object.
|
7744
|
+
|
7745
|
+
For example, provided each object of type `controller` needed a `router`.
|
7746
|
+
one would do the following:
|
7747
|
+
|
7748
|
+
```javascript
|
7749
|
+
var container = new Container();
|
7750
|
+
|
7751
|
+
container.register('router:main', Router);
|
7752
|
+
container.register('controller:user', UserController);
|
7753
|
+
container.register('controller:post', PostController);
|
7754
|
+
|
7755
|
+
container.typeInjection('controller', 'router', 'router:main');
|
7756
|
+
|
7757
|
+
var user = container.lookup('controller:user');
|
7758
|
+
var post = container.lookup('controller:post');
|
7759
|
+
|
7760
|
+
user.router instanceof Router; //=> true
|
7761
|
+
post.router instanceof Router; //=> true
|
7762
|
+
|
7763
|
+
// both controllers share the same router
|
7764
|
+
user.router === post.router; //=> true
|
7765
|
+
```
|
7766
|
+
|
7767
|
+
@method typeInjection
|
7768
|
+
@param {String} type
|
7769
|
+
@param {String} property
|
7770
|
+
@param {String} fullName
|
7771
|
+
*/
|
7453
7772
|
typeInjection: function(type, property, fullName) {
|
7454
7773
|
if (this.parent) { illegalChildOperation('typeInjection'); }
|
7455
7774
|
|
7456
7775
|
var injections = this.typeInjections.get(type);
|
7776
|
+
|
7457
7777
|
if (!injections) {
|
7458
7778
|
injections = [];
|
7459
7779
|
this.typeInjections.set(type, injections);
|
7460
7780
|
}
|
7461
|
-
|
7781
|
+
|
7782
|
+
injections.push({
|
7783
|
+
property: property,
|
7784
|
+
fullName: fullName
|
7785
|
+
});
|
7462
7786
|
},
|
7463
7787
|
|
7788
|
+
/*
|
7789
|
+
Defines injection rules.
|
7790
|
+
|
7791
|
+
These rules are used to inject dependencies onto objects when they
|
7792
|
+
are instantiated.
|
7793
|
+
|
7794
|
+
Two forms of injections are possible:
|
7795
|
+
|
7796
|
+
* Injecting one fullName on another fullName
|
7797
|
+
* Injecting one fullName on a type
|
7798
|
+
|
7799
|
+
Example:
|
7800
|
+
|
7801
|
+
```javascript
|
7802
|
+
var container = new Container();
|
7803
|
+
|
7804
|
+
container.register('source:main', Source);
|
7805
|
+
container.register('model:user', User);
|
7806
|
+
container.register('model:post', PostController);
|
7807
|
+
|
7808
|
+
// injecting one fullName on another fullName
|
7809
|
+
// eg. each user model gets a post model
|
7810
|
+
container.injection('model:user', 'post', 'model:post');
|
7811
|
+
|
7812
|
+
// injecting one fullName on another type
|
7813
|
+
container.injection('model', 'source', 'source:main');
|
7814
|
+
|
7815
|
+
var user = container.lookup('model:user');
|
7816
|
+
var post = container.lookup('model:post');
|
7817
|
+
|
7818
|
+
user.source instanceof Source; //=> true
|
7819
|
+
post.source instanceof Source; //=> true
|
7820
|
+
|
7821
|
+
user.post instanceof Post; //=> true
|
7822
|
+
|
7823
|
+
// and both models share the same source
|
7824
|
+
user.source === post.source; //=> true
|
7825
|
+
```
|
7826
|
+
|
7827
|
+
@method injection
|
7828
|
+
@param {String} factoryName
|
7829
|
+
@param {String} property
|
7830
|
+
@param {String} injectionName
|
7831
|
+
*/
|
7464
7832
|
injection: function(factoryName, property, injectionName) {
|
7465
7833
|
if (this.parent) { illegalChildOperation('injection'); }
|
7466
7834
|
|
@@ -7472,6 +7840,12 @@ define("container",
|
|
7472
7840
|
injections.push({ property: property, fullName: injectionName });
|
7473
7841
|
},
|
7474
7842
|
|
7843
|
+
/**
|
7844
|
+
A depth first traversal, destroying the container, its descendant containers and all
|
7845
|
+
their managed objects.
|
7846
|
+
|
7847
|
+
@method destroy
|
7848
|
+
*/
|
7475
7849
|
destroy: function() {
|
7476
7850
|
this.isDestroyed = true;
|
7477
7851
|
|
@@ -7489,6 +7863,9 @@ define("container",
|
|
7489
7863
|
this.isDestroyed = true;
|
7490
7864
|
},
|
7491
7865
|
|
7866
|
+
/**
|
7867
|
+
@method reset
|
7868
|
+
*/
|
7492
7869
|
reset: function() {
|
7493
7870
|
for (var i=0, l=this.children.length; i<l; i++) {
|
7494
7871
|
resetCache(this.children[i]);
|
@@ -7517,7 +7894,12 @@ define("container",
|
|
7517
7894
|
for (var i=0, l=injections.length; i<l; i++) {
|
7518
7895
|
injection = injections[i];
|
7519
7896
|
lookup = container.lookup(injection.fullName);
|
7520
|
-
|
7897
|
+
|
7898
|
+
if (lookup) {
|
7899
|
+
hash[injection.property] = lookup;
|
7900
|
+
} else {
|
7901
|
+
throw new Error('Attempting to inject an unknown injection: `' + injection.fullName + '`');
|
7902
|
+
}
|
7521
7903
|
}
|
7522
7904
|
|
7523
7905
|
return hash;
|
@@ -8706,7 +9088,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
8706
9088
|
@return {Array} The mapped array.
|
8707
9089
|
*/
|
8708
9090
|
map: function(callback, target) {
|
8709
|
-
var ret = Ember.A(
|
9091
|
+
var ret = Ember.A();
|
8710
9092
|
this.forEach(function(x, idx, i) {
|
8711
9093
|
ret[idx] = callback.call(target, x, idx,i);
|
8712
9094
|
});
|
@@ -8756,7 +9138,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
8756
9138
|
@return {Array} A filtered array.
|
8757
9139
|
*/
|
8758
9140
|
filter: function(callback, target) {
|
8759
|
-
var ret = Ember.A(
|
9141
|
+
var ret = Ember.A();
|
8760
9142
|
this.forEach(function(x, idx, i) {
|
8761
9143
|
if (callback.call(target, x, idx, i)) ret.push(x);
|
8762
9144
|
});
|
@@ -9045,7 +9427,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9045
9427
|
@return {Array} return values from calling invoke.
|
9046
9428
|
*/
|
9047
9429
|
invoke: function(methodName) {
|
9048
|
-
var args, ret = Ember.A(
|
9430
|
+
var args, ret = Ember.A();
|
9049
9431
|
if (arguments.length>1) args = a_slice.call(arguments, 1);
|
9050
9432
|
|
9051
9433
|
this.forEach(function(x, idx) {
|
@@ -9066,7 +9448,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9066
9448
|
@return {Array} the enumerable as an array.
|
9067
9449
|
*/
|
9068
9450
|
toArray: function() {
|
9069
|
-
var ret = Ember.A(
|
9451
|
+
var ret = Ember.A();
|
9070
9452
|
this.forEach(function(o, idx) { ret[idx] = o; });
|
9071
9453
|
return ret ;
|
9072
9454
|
},
|
@@ -9102,7 +9484,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9102
9484
|
*/
|
9103
9485
|
without: function(value) {
|
9104
9486
|
if (!this.contains(value)) return this; // nothing to do
|
9105
|
-
var ret = Ember.A(
|
9487
|
+
var ret = Ember.A();
|
9106
9488
|
this.forEach(function(k) {
|
9107
9489
|
if (k !== value) ret[ret.length] = k;
|
9108
9490
|
}) ;
|
@@ -9122,7 +9504,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9122
9504
|
@return {Ember.Enumerable}
|
9123
9505
|
*/
|
9124
9506
|
uniq: function() {
|
9125
|
-
var ret = Ember.A(
|
9507
|
+
var ret = Ember.A();
|
9126
9508
|
this.forEach(function(k){
|
9127
9509
|
if (a_indexOf(ret, k)<0) ret.push(k);
|
9128
9510
|
});
|
@@ -9438,7 +9820,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9438
9820
|
@return {Array} New array with specified slice
|
9439
9821
|
*/
|
9440
9822
|
slice: function(beginIndex, endIndex) {
|
9441
|
-
var ret = Ember.A(
|
9823
|
+
var ret = Ember.A();
|
9442
9824
|
var length = get(this, 'length') ;
|
9443
9825
|
if (isNone(beginIndex)) beginIndex = 0 ;
|
9444
9826
|
if (isNone(endIndex) || (endIndex > length)) endIndex = length ;
|
@@ -11126,7 +11508,7 @@ Ember.Evented = Ember.Mixin.create({
|
|
11126
11508
|
},
|
11127
11509
|
|
11128
11510
|
/**
|
11129
|
-
Cancels subscription for
|
11511
|
+
Cancels subscription for given name, target, and method.
|
11130
11512
|
|
11131
11513
|
@method off
|
11132
11514
|
@param {String} name The name of the event
|
@@ -14837,10 +15219,10 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
14837
15219
|
})
|
14838
15220
|
}),
|
14839
15221
|
stateTwo: Ember.State.create({
|
14840
|
-
|
14841
|
-
|
14842
|
-
|
14843
|
-
|
15222
|
+
anAction: function(manager, context){
|
15223
|
+
// will not be called below because it is
|
15224
|
+
// not a parent of the current state
|
15225
|
+
}
|
14844
15226
|
})
|
14845
15227
|
})
|
14846
15228
|
|