ember-source 2.4.4 → 2.4.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.4.4
9
+ * @version 2.4.5
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, requirejs, Ember;
@@ -204,8 +204,10 @@ enifed('ember-debug/deprecate', ['exports', 'ember-metal/core', 'ember-metal/err
204
204
 
205
205
  /**
206
206
  Display a deprecation warning with the provided message and a stack trace
207
- (Chrome and Firefox only). Ember build tools will remove any calls to
208
- `Ember.deprecate()` when doing a production build.
207
+ (Chrome and Firefox only).
208
+
209
+ * In a production build, this method is defined as an empty function (NOP).
210
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
209
211
 
210
212
  @method deprecate
211
213
  @param {String} message A description of the deprecation.
@@ -312,10 +314,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
312
314
  */
313
315
 
314
316
  /**
315
- Define an assertion that will throw an exception if the condition is not
316
- met. Ember build tools will remove any calls to `Ember.assert()` when
317
- doing an Ember.js framework production build and will make the assertion a
318
- no-op for an application production build. Example:
317
+ Define an assertion that will throw an exception if the condition is not met.
318
+
319
+ * In a production build, this method is defined as an empty function (NOP).
320
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
319
321
 
320
322
  ```javascript
321
323
  // Test for truthiness
@@ -349,8 +351,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
349
351
  });
350
352
 
351
353
  /**
352
- Display a debug notice. Ember build tools will remove any calls to
353
- `Ember.debug()` when doing a production build.
354
+ Display a debug notice.
355
+
356
+ * In a production build, this method is defined as an empty function (NOP).
357
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
354
358
 
355
359
  ```javascript
356
360
  Ember.debug('I\'m a debug notice!');
@@ -367,6 +371,9 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
367
371
  /**
368
372
  Display an info notice.
369
373
 
374
+ * In a production build, this method is defined as an empty function (NOP).
375
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
376
+
370
377
  @method info
371
378
  @private
372
379
  */
@@ -380,8 +387,7 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
380
387
  Display a deprecation warning with the provided message and a stack trace
381
388
  (Chrome and Firefox only) when the assigned method is called.
382
389
 
383
- Ember build tools will not remove calls to `Ember.deprecateFunc()`, though
384
- no warnings will be shown in production.
390
+ * In a production build, this method is defined as an empty function (NOP).
385
391
 
386
392
  ```javascript
387
393
  Ember.oldMethod = Ember.deprecateFunc('Please use the new, updated method', Ember.newMethod);
@@ -432,8 +438,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
432
438
  });
433
439
 
434
440
  /**
435
- Run a function meant for debugging. Ember build tools will remove any calls to
436
- `Ember.runInDebug()` when doing a production build.
441
+ Run a function meant for debugging.
442
+
443
+ * In a production build, this method is defined as an empty function (NOP).
444
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
437
445
 
438
446
  ```javascript
439
447
  Ember.runInDebug(() => {
@@ -473,14 +481,18 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
473
481
  @return {void}
474
482
  */
475
483
 
476
- function _warnIfUsingStrippedFeatureFlags(FEATURES, featuresWereStripped) {
484
+ function _warnIfUsingStrippedFeatureFlags(FEATURES, knownFeatures, featuresWereStripped) {
477
485
  if (featuresWereStripped) {
478
486
  _emberMetalDebug.warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberMetalCore.default.ENV.ENABLE_OPTIONAL_FEATURES, { id: 'ember-debug.feature-flag-with-features-stripped' });
479
487
 
480
- for (var key in FEATURES) {
481
- if (FEATURES.hasOwnProperty(key) && key !== 'isEnabled') {
482
- _emberMetalDebug.warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key], { id: 'ember-debug.feature-flag-with-features-stripped' });
488
+ var keys = Object.keys(FEATURES || {});
489
+ for (var i = 0; i < keys.length; i++) {
490
+ var key = keys[i];
491
+ if (key === 'isEnabled' || !(key in knownFeatures)) {
492
+ continue;
483
493
  }
494
+
495
+ _emberMetalDebug.warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key], { id: 'ember-debug.feature-flag-with-features-stripped' });
484
496
  }
485
497
  }
486
498
  }
@@ -491,7 +503,7 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
491
503
  var featuresWereStripped = true;
492
504
 
493
505
  delete _emberMetalFeatures.FEATURES['features-stripped-test'];
494
- _warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, featuresWereStripped);
506
+ _warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, _emberMetalFeatures.KNOWN_FEATURES, featuresWereStripped);
495
507
 
496
508
  // Inform the developer about the Ember Inspector if not installed.
497
509
  var isFirefox = _emberMetalEnvironment.default.isFirefox;
@@ -629,8 +641,10 @@ enifed('ember-debug/warn', ['exports', 'ember-metal/logger', 'ember-metal/debug'
629
641
  */
630
642
 
631
643
  /**
632
- Display a warning with the provided message. Ember build tools will
633
- remove any calls to `Ember.warn()` when doing a production build.
644
+ Display a warning with the provided message.
645
+
646
+ * In a production build, this method is defined as an empty function (NOP).
647
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
634
648
 
635
649
  @method warn
636
650
  @param {String} message A warning to display.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.4.4
9
+ * @version 2.4.5
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, requirejs, Ember;
@@ -5228,6 +5228,7 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy
5228
5228
  @extends Ember.Object
5229
5229
  @uses RegistryProxyMixin
5230
5230
  @uses ContainerProxyMixin
5231
+ @category ember-application-engines
5231
5232
  */
5232
5233
 
5233
5234
  var EngineInstance = _emberRuntimeSystemObject.default.extend(_emberRuntimeMixinsRegistry_proxy.default, _emberRuntimeMixinsContainer_proxy.default, {
@@ -5314,6 +5315,7 @@ enifed('ember-application/system/engine', ['exports', 'ember-runtime/system/name
5314
5315
  @namespace Ember
5315
5316
  @extends Ember.Namespace
5316
5317
  @uses RegistryProxy
5318
+ @category ember-application-engines
5317
5319
  @public
5318
5320
  */
5319
5321
  var Engine = _emberRuntimeSystemNamespace.default.extend(_emberRuntimeMixinsRegistry_proxy.default, {
@@ -6235,8 +6237,10 @@ enifed('ember-debug/deprecate', ['exports', 'ember-metal/core', 'ember-metal/err
6235
6237
 
6236
6238
  /**
6237
6239
  Display a deprecation warning with the provided message and a stack trace
6238
- (Chrome and Firefox only). Ember build tools will remove any calls to
6239
- `Ember.deprecate()` when doing a production build.
6240
+ (Chrome and Firefox only).
6241
+
6242
+ * In a production build, this method is defined as an empty function (NOP).
6243
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
6240
6244
 
6241
6245
  @method deprecate
6242
6246
  @param {String} message A description of the deprecation.
@@ -6343,10 +6347,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6343
6347
  */
6344
6348
 
6345
6349
  /**
6346
- Define an assertion that will throw an exception if the condition is not
6347
- met. Ember build tools will remove any calls to `Ember.assert()` when
6348
- doing an Ember.js framework production build and will make the assertion a
6349
- no-op for an application production build. Example:
6350
+ Define an assertion that will throw an exception if the condition is not met.
6351
+
6352
+ * In a production build, this method is defined as an empty function (NOP).
6353
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
6350
6354
 
6351
6355
  ```javascript
6352
6356
  // Test for truthiness
@@ -6380,8 +6384,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6380
6384
  });
6381
6385
 
6382
6386
  /**
6383
- Display a debug notice. Ember build tools will remove any calls to
6384
- `Ember.debug()` when doing a production build.
6387
+ Display a debug notice.
6388
+
6389
+ * In a production build, this method is defined as an empty function (NOP).
6390
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
6385
6391
 
6386
6392
  ```javascript
6387
6393
  Ember.debug('I\'m a debug notice!');
@@ -6398,6 +6404,9 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6398
6404
  /**
6399
6405
  Display an info notice.
6400
6406
 
6407
+ * In a production build, this method is defined as an empty function (NOP).
6408
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
6409
+
6401
6410
  @method info
6402
6411
  @private
6403
6412
  */
@@ -6411,8 +6420,7 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6411
6420
  Display a deprecation warning with the provided message and a stack trace
6412
6421
  (Chrome and Firefox only) when the assigned method is called.
6413
6422
 
6414
- Ember build tools will not remove calls to `Ember.deprecateFunc()`, though
6415
- no warnings will be shown in production.
6423
+ * In a production build, this method is defined as an empty function (NOP).
6416
6424
 
6417
6425
  ```javascript
6418
6426
  Ember.oldMethod = Ember.deprecateFunc('Please use the new, updated method', Ember.newMethod);
@@ -6463,8 +6471,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6463
6471
  });
6464
6472
 
6465
6473
  /**
6466
- Run a function meant for debugging. Ember build tools will remove any calls to
6467
- `Ember.runInDebug()` when doing a production build.
6474
+ Run a function meant for debugging.
6475
+
6476
+ * In a production build, this method is defined as an empty function (NOP).
6477
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
6468
6478
 
6469
6479
  ```javascript
6470
6480
  Ember.runInDebug(() => {
@@ -6504,14 +6514,18 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6504
6514
  @return {void}
6505
6515
  */
6506
6516
 
6507
- function _warnIfUsingStrippedFeatureFlags(FEATURES, featuresWereStripped) {
6517
+ function _warnIfUsingStrippedFeatureFlags(FEATURES, knownFeatures, featuresWereStripped) {
6508
6518
  if (featuresWereStripped) {
6509
6519
  _emberMetalDebug.warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberMetalCore.default.ENV.ENABLE_OPTIONAL_FEATURES, { id: 'ember-debug.feature-flag-with-features-stripped' });
6510
6520
 
6511
- for (var key in FEATURES) {
6512
- if (FEATURES.hasOwnProperty(key) && key !== 'isEnabled') {
6513
- _emberMetalDebug.warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key], { id: 'ember-debug.feature-flag-with-features-stripped' });
6521
+ var keys = Object.keys(FEATURES || {});
6522
+ for (var i = 0; i < keys.length; i++) {
6523
+ var key = keys[i];
6524
+ if (key === 'isEnabled' || !(key in knownFeatures)) {
6525
+ continue;
6514
6526
  }
6527
+
6528
+ _emberMetalDebug.warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key], { id: 'ember-debug.feature-flag-with-features-stripped' });
6515
6529
  }
6516
6530
  }
6517
6531
  }
@@ -6522,7 +6536,7 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
6522
6536
  var featuresWereStripped = true;
6523
6537
 
6524
6538
  delete _emberMetalFeatures.FEATURES['features-stripped-test'];
6525
- _warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, featuresWereStripped);
6539
+ _warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, _emberMetalFeatures.KNOWN_FEATURES, featuresWereStripped);
6526
6540
 
6527
6541
  // Inform the developer about the Ember Inspector if not installed.
6528
6542
  var isFirefox = _emberMetalEnvironment.default.isFirefox;
@@ -6660,8 +6674,10 @@ enifed('ember-debug/warn', ['exports', 'ember-metal/logger', 'ember-metal/debug'
6660
6674
  */
6661
6675
 
6662
6676
  /**
6663
- Display a warning with the provided message. Ember build tools will
6664
- remove any calls to `Ember.warn()` when doing a production build.
6677
+ Display a warning with the provided message.
6678
+
6679
+ * In a production build, this method is defined as an empty function (NOP).
6680
+ Uses of this method in Ember itself are stripped from the ember.prod.js build.
6665
6681
 
6666
6682
  @method warn
6667
6683
  @param {String} message A warning to display.
@@ -10436,7 +10452,7 @@ enifed('ember-htmlbars/keywords/mut', ['exports', 'ember-metal/debug', 'ember-me
10436
10452
  To specify that a parameter is mutable, when invoking the child `Component`:
10437
10453
 
10438
10454
  ```handlebars
10439
- <my-child child-click-count={{mut totalClicks}} />
10455
+ {{my-child childClickCount=(mut totalClicks)}}
10440
10456
  ```
10441
10457
 
10442
10458
  The child `Component` can then modify the parent's value as needed:
@@ -10444,12 +10460,32 @@ enifed('ember-htmlbars/keywords/mut', ['exports', 'ember-metal/debug', 'ember-me
10444
10460
  ```javascript
10445
10461
  // my-child.js
10446
10462
  export default Component.extend({
10447
- click: function() {
10448
- this.attrs.childClickCount.update(this.attrs.childClickCount.value + 1);
10463
+ click() {
10464
+ this.get('childClickCount').update(this.get('childClickCount').value + 1);
10465
+ }
10466
+ });
10467
+ ```
10468
+
10469
+ Additionally, the `mut` helper can be combined with the `action` helper to
10470
+ mutate a value. For example:
10471
+
10472
+ ```handlebars
10473
+ {{my-child childClickCount=totalClicks click-count-change=(action (mut "totalClicks"))}}
10474
+ ```
10475
+
10476
+ The child `Component` would invoke the action with the new click value:
10477
+
10478
+ ```javascript
10479
+ // my-child.js
10480
+ export default Component.extend({
10481
+ click() {
10482
+ this.get('clickCountChange')(this.get('childClickCount') + 1);
10449
10483
  }
10450
10484
  });
10451
10485
  ```
10452
10486
 
10487
+ The `mut` helper changes the `totalClicks` value to what was provided as the action argument.
10488
+
10453
10489
  See a [2.0 blog post](http://emberjs.com/blog/2015/05/10/run-up-to-two-oh.html#toc_the-code-mut-code-helper) for
10454
10490
  additional information on using `{{mut}}`.
10455
10491
 
@@ -10521,7 +10557,7 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
10521
10557
 
10522
10558
  'use strict';
10523
10559
 
10524
- _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.4.4';
10560
+ _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.4.5';
10525
10561
 
10526
10562
  /**
10527
10563
  The `{{outlet}}` helper lets you specify where a child routes will render in
@@ -14860,10 +14896,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
14860
14896
 
14861
14897
  var DEEP_EACH_REGEX = /\.@each\.[^.]+\./;
14862
14898
 
14863
- // ..........................................................
14864
- // COMPUTED PROPERTY
14865
- //
14866
-
14867
14899
  /**
14868
14900
  A computed property transforms an object literal with object's accessor function(s) into a property.
14869
14901
 
@@ -14966,7 +14998,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
14966
14998
 
14967
14999
  @class ComputedProperty
14968
15000
  @namespace Ember
14969
- @constructor
14970
15001
  @public
14971
15002
  */
14972
15003
  function ComputedProperty(config, opts) {
@@ -15125,7 +15156,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
15125
15156
  @chainable
15126
15157
  @public
15127
15158
  */
15128
-
15129
15159
  ComputedPropertyPrototype.meta = function (meta) {
15130
15160
  if (arguments.length === 0) {
15131
15161
  return this._meta || {};
@@ -15156,33 +15186,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
15156
15186
  }
15157
15187
  };
15158
15188
 
15159
- /**
15160
- Access the value of the function backing the computed property.
15161
- If this property has already been cached, return the cached result.
15162
- Otherwise, call the function passing the property name as an argument.
15163
-
15164
- ```javascript
15165
- let Person = Ember.Object.extend({
15166
- fullName: Ember.computed('firstName', 'lastName', function(keyName) {
15167
- // the keyName parameter is 'fullName' in this case.
15168
- return this.get('firstName') + ' ' + this.get('lastName');
15169
- })
15170
- });
15171
-
15172
-
15173
- let tom = Person.create({
15174
- firstName: 'Tom',
15175
- lastName: 'Dale'
15176
- });
15177
-
15178
- tom.get('fullName') // 'Tom Dale'
15179
- ```
15180
-
15181
- @method get
15182
- @param {String} keyName The key being accessed.
15183
- @return {Object} The return value of the function backing the CP.
15184
- @public
15185
- */
15186
15189
  ComputedPropertyPrototype.get = function (obj, keyName) {
15187
15190
  if (this._volatile) {
15188
15191
  return this._getter.call(obj, keyName);
@@ -15214,54 +15217,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
15214
15217
  return ret;
15215
15218
  };
15216
15219
 
15217
- /**
15218
- Set the value of a computed property. If the function that backs your
15219
- computed property does not accept arguments then the default action for
15220
- setting would be to define the property on the current object, and set
15221
- the value of the property to the value being set.
15222
-
15223
- Generally speaking if you intend for your computed property to be set
15224
- you should pass `set(key, value)` function in hash as argument to `Ember.computed()` along with `get(key)` function.
15225
-
15226
- ```javascript
15227
- let Person = Ember.Object.extend({
15228
- // these will be supplied by `create`
15229
- firstName: null,
15230
- lastName: null,
15231
-
15232
- fullName: Ember.computed('firstName', 'lastName', {
15233
- // getter
15234
- get() {
15235
- let firstName = this.get('firstName');
15236
- let lastName = this.get('lastName');
15237
-
15238
- return firstName + ' ' + lastName;
15239
- },
15240
- // setter
15241
- set(key, value) {
15242
- let [firstName, lastName] = value.split(' ');
15243
-
15244
- this.set('firstName', firstName);
15245
- this.set('lastName', lastName);
15246
-
15247
- return value;
15248
- }
15249
- })
15250
- });
15251
-
15252
- let person = Person.create();
15253
-
15254
- person.set('fullName', 'Peter Wagenet');
15255
- person.get('firstName'); // 'Peter'
15256
- person.get('lastName'); // 'Wagenet'
15257
- ```
15258
-
15259
- @method set
15260
- @param {String} keyName The key being accessed.
15261
- @param {Object} newValue The new value being assigned.
15262
- @return {Object} The return value of the function backing the CP.
15263
- @public
15264
- */
15265
15220
  ComputedPropertyPrototype.set = function computedPropertySetEntry(obj, keyName, value) {
15266
15221
  if (this._readOnly) {
15267
15222
  this._throwReadOnlyError(obj, keyName);
@@ -16183,8 +16138,6 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
16183
16138
  Ember may overwrite this namespace and therefore, you should avoid adding any
16184
16139
  new properties.
16185
16140
 
16186
- You can also use the shorthand `Em` instead of `Ember`.
16187
-
16188
16141
  At the heart of Ember is Ember-Runtime, a set of core functions that provide
16189
16142
  cross-platform compatibility and object property observing. Ember-Runtime is
16190
16143
  small and performance-focused so you can use it alongside other
@@ -16193,7 +16146,7 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
16193
16146
 
16194
16147
  @class Ember
16195
16148
  @static
16196
- @version 2.4.4
16149
+ @version 2.4.5
16197
16150
  @public
16198
16151
  */
16199
16152
 
@@ -16235,11 +16188,11 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
16235
16188
 
16236
16189
  @property VERSION
16237
16190
  @type String
16238
- @default '2.4.4'
16191
+ @default '2.4.5'
16239
16192
  @static
16240
16193
  @public
16241
16194
  */
16242
- Ember.VERSION = '2.4.4';
16195
+ Ember.VERSION = '2.4.5';
16243
16196
 
16244
16197
  /**
16245
16198
  The hash of environment variables used to control various configuration
@@ -17067,9 +17020,11 @@ enifed('ember-metal/features', ['exports', 'ember-metal/core', 'ember-metal/assi
17067
17020
  @since 1.1.0
17068
17021
  @public
17069
17022
  */
17070
- var FEATURES = _emberMetalAssign.default({}, _emberMetalCore.default.ENV.FEATURES);exports.FEATURES = FEATURES;
17023
+ var KNOWN_FEATURES = {};exports.KNOWN_FEATURES = KNOWN_FEATURES;
17071
17024
  // jshint ignore:line
17025
+ var FEATURES = _emberMetalAssign.default(KNOWN_FEATURES, _emberMetalCore.default.ENV.FEATURES);
17072
17026
 
17027
+ exports.FEATURES = FEATURES;
17073
17028
  /**
17074
17029
  Determine whether the specified `feature` is enabled. Used by Ember's
17075
17030
  build tools to exclude experimental features from beta/stable builds.
@@ -20406,9 +20361,9 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f
20406
20361
  Ember.defineProperty(contact, 'lastName', undefined, 'Jolley');
20407
20362
 
20408
20363
  // define a computed property
20409
- Ember.defineProperty(contact, 'fullName', Ember.computed(function() {
20364
+ Ember.defineProperty(contact, 'fullName', Ember.computed('firstName', 'lastName', function() {
20410
20365
  return this.firstName+' '+this.lastName;
20411
- }).property('firstName', 'lastName'));
20366
+ }));
20412
20367
  ```
20413
20368
 
20414
20369
  @private
@@ -30338,7 +30293,7 @@ enifed('ember-routing-views/components/link-to', ['exports', 'ember-metal/logger
30338
30293
 
30339
30294
  'use strict';
30340
30295
 
30341
- _emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.4.4';
30296
+ _emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.4.5';
30342
30297
 
30343
30298
  /**
30344
30299
  `Ember.LinkComponent` renders an element whose `click` event triggers a
@@ -30841,7 +30796,7 @@ enifed('ember-routing-views/views/outlet', ['exports', 'ember-views/views/view',
30841
30796
 
30842
30797
  'use strict';
30843
30798
 
30844
- _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.4.4';
30799
+ _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.4.5';
30845
30800
 
30846
30801
  var CoreOutletView = _emberViewsViewsView.default.extend({
30847
30802
  defaultTemplate: _emberHtmlbarsTemplatesTopLevelView.default,
@@ -33309,7 +33264,7 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta
33309
33264
  on the array. Just get an equivalent property on this object and it will
33310
33265
  return an enumerable that maps automatically to the named key on the
33311
33266
  member objects.
33312
- @each should only be used in a non-terminal context. Example:
33267
+ `@each` should only be used in a non-terminal context. Example:
33313
33268
  ```javascript
33314
33269
  myMethod: computed('posts.@each.author', function(){
33315
33270
  ...
@@ -33778,6 +33733,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/property_get'
33778
33733
  ```
33779
33734
  @property firstObject
33780
33735
  @return {Object} the object or undefined
33736
+ @readOnly
33781
33737
  @public
33782
33738
  */
33783
33739
  firstObject: _emberMetalComputed.computed('[]', function () {
@@ -33806,6 +33762,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/property_get'
33806
33762
  ```
33807
33763
  @property lastObject
33808
33764
  @return {Object} the last object or undefined
33765
+ @readOnly
33809
33766
  @public
33810
33767
  */
33811
33768
  lastObject: _emberMetalComputed.computed('[]', function () {
@@ -38825,7 +38782,7 @@ enifed('ember-template-compiler/compat', ['exports', 'ember-metal/core', 'ember-
38825
38782
  EmberHandlebars.compile = _emberTemplateCompilerSystemCompile.default;
38826
38783
  EmberHandlebars.template = _emberTemplateCompilerSystemTemplate.default;
38827
38784
  });
38828
- enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-closure-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformClosureComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerCompat) {
38785
+ enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-closure-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/deprecate-render-block', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformClosureComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsDeprecateRenderBlock, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerCompat) {
38829
38786
  'use strict';
38830
38787
 
38831
38788
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldBindingSyntax.default);
@@ -38838,6 +38795,7 @@ enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-templa
38838
38795
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformInputOnToOnEvent.default);
38839
38796
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformTopLevelComponents.default);
38840
38797
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo.default);
38798
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateRenderBlock.default);
38841
38799
 
38842
38800
  if (_emberMetal.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT) {
38843
38801
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformEachIntoCollection.default);
@@ -38980,6 +38938,45 @@ enifed('ember-template-compiler/plugins/assert-no-view-helper', ['exports', 'emb
38980
38938
 
38981
38939
  exports.default = AssertNoViewHelper;
38982
38940
  });
38941
+ enifed('ember-template-compiler/plugins/deprecate-render-block', ['exports', 'ember-metal/debug', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalDebug, _emberTemplateCompilerSystemCalculateLocationDisplay) {
38942
+ 'use strict';
38943
+
38944
+ exports.default = DeprecateRenderBlock;
38945
+
38946
+ function DeprecateRenderBlock(options) {
38947
+ this.syntax = null;
38948
+ this.options = options;
38949
+ }
38950
+
38951
+ DeprecateRenderBlock.prototype.transform = function DeprecateRenderBlock_transform(ast) {
38952
+ var moduleName = this.options.moduleName;
38953
+ var walker = new this.syntax.Walker();
38954
+
38955
+ walker.visit(ast, function (node) {
38956
+ if (!validate(node)) {
38957
+ return;
38958
+ }
38959
+
38960
+ _emberMetalDebug.deprecate(deprecationMessage(moduleName, node), false, {
38961
+ id: 'ember-template-compiler.deprecate-render-block',
38962
+ until: '2.4.0',
38963
+ url: 'http://emberjs.com/deprecations/v2.x#toc_render-helper-with-block'
38964
+ });
38965
+ });
38966
+
38967
+ return ast;
38968
+ };
38969
+
38970
+ function validate(node) {
38971
+ return node.type === 'BlockStatement' && node.path.original === 'render';
38972
+ }
38973
+
38974
+ function deprecationMessage(moduleName, node) {
38975
+ var sourceInformation = _emberTemplateCompilerSystemCalculateLocationDisplay.default(moduleName, node.loc);
38976
+
38977
+ return 'Usage of `render` in block form is deprecated ' + sourceInformation + '.';
38978
+ }
38979
+ });
38983
38980
  enifed('ember-template-compiler/plugins/transform-angle-bracket-components', ['exports'], function (exports) {
38984
38981
  'use strict';
38985
38982
 
@@ -39954,7 +39951,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
39954
39951
  options.buildMeta = function buildMeta(program) {
39955
39952
  return {
39956
39953
  fragmentReason: fragmentReason(program),
39957
- revision: 'Ember@2.4.4',
39954
+ revision: 'Ember@2.4.5',
39958
39955
  loc: program.loc,
39959
39956
  moduleName: options.moduleName
39960
39957
  };
@@ -41851,6 +41848,106 @@ enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'emb
41851
41848
  @property positionalParams
41852
41849
  @since 1.13.0
41853
41850
  */
41851
+
41852
+ /**
41853
+ Called when the attributes passed into the component have been updated.
41854
+ Called both during the initial render of a container and during a rerender.
41855
+ Can be used in place of an observer; code placed here will be executed
41856
+ every time any attribute updates.
41857
+ @method didReceiveAttrs
41858
+ @public
41859
+ @since 1.13.0
41860
+ */
41861
+
41862
+ /**
41863
+ Called when the attributes passed into the component have been updated.
41864
+ Called both during the initial render of a container and during a rerender.
41865
+ Can be used in place of an observer; code placed here will be executed
41866
+ every time any attribute updates.
41867
+ @event didReceiveAttrs
41868
+ @public
41869
+ @since 1.13.0
41870
+ */
41871
+
41872
+ /**
41873
+ Called after a component has been rendered, both on initial render and
41874
+ in subsequent rerenders.
41875
+ @method didRender
41876
+ @public
41877
+ @since 1.13.0
41878
+ */
41879
+
41880
+ /**
41881
+ Called after a component has been rendered, both on initial render and
41882
+ in subsequent rerenders.
41883
+ @event didRender
41884
+ @public
41885
+ @since 1.13.0
41886
+ */
41887
+
41888
+ /**
41889
+ Called before a component has been rendered, both on initial render and
41890
+ in subsequent rerenders.
41891
+ @method willRender
41892
+ @public
41893
+ @since 1.13.0
41894
+ */
41895
+
41896
+ /**
41897
+ Called before a component has been rendered, both on initial render and
41898
+ in subsequent rerenders.
41899
+ @event willRender
41900
+ @public
41901
+ @since 1.13.0
41902
+ */
41903
+
41904
+ /**
41905
+ Called when the attributes passed into the component have been changed.
41906
+ Called only during a rerender, not during an initial render.
41907
+ @method didUpdateAttrs
41908
+ @public
41909
+ @since 1.13.0
41910
+ */
41911
+
41912
+ /**
41913
+ Called when the attributes passed into the component have been changed.
41914
+ Called only during a rerender, not during an initial render.
41915
+ @event didUpdateAttrs
41916
+ @public
41917
+ @since 1.13.0
41918
+ */
41919
+
41920
+ /**
41921
+ Called when the component is about to update and rerender itself.
41922
+ Called only during a rerender, not during an initial render.
41923
+ @method willUpdate
41924
+ @public
41925
+ @since 1.13.0
41926
+ */
41927
+
41928
+ /**
41929
+ Called when the component is about to update and rerender itself.
41930
+ Called only during a rerender, not during an initial render.
41931
+ @event willUpdate
41932
+ @public
41933
+ @since 1.13.0
41934
+ */
41935
+
41936
+ /**
41937
+ Called when the component has updated and rerendered itself.
41938
+ Called only during a rerender, not during an initial render.
41939
+ @event didUpdate
41940
+ @public
41941
+ @since 1.13.0
41942
+ */
41943
+
41944
+ /**
41945
+ Called when the component has updated and rerendered itself.
41946
+ Called only during a rerender, not during an initial render.
41947
+ @event didUpdate
41948
+ @public
41949
+ @since 1.13.0
41950
+ */
41854
41951
  });
41855
41952
 
41856
41953
  Component.reopenClass({
@@ -45295,7 +45392,7 @@ enifed('ember-views/views/collection_view', ['exports', 'ember-metal/core', 'emb
45295
45392
  enifed('ember-views/views/container_view', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-runtime/mixins/mutable_array', 'ember-runtime/system/native_array', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/mixin', 'ember-metal/events', 'ember-htmlbars/templates/container-view'], function (exports, _emberMetalCore, _emberMetalDebug, _emberRuntimeMixinsMutable_array, _emberRuntimeSystemNative_array, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalMixin, _emberMetalEvents, _emberHtmlbarsTemplatesContainerView) {
45296
45393
  'use strict';
45297
45394
 
45298
- _emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.4.4';
45395
+ _emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.4.5';
45299
45396
 
45300
45397
  /**
45301
45398
  @module ember