ember-source 1.13.6 → 1.13.7

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.

@@ -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.13.6
8
+ * @version 1.13.7
9
9
  */
10
10
 
11
11
  (function() {
@@ -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.13.6
8
+ * @version 1.13.7
9
9
  */
10
10
 
11
11
  (function() {
@@ -4831,6 +4831,7 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/core', 'emb
4831
4831
  _logLookup: null // required
4832
4832
  });
4833
4833
 
4834
+ exports.Resolver = Resolver;
4834
4835
  /**
4835
4836
  The DefaultResolver defines the default lookup rules to resolve
4836
4837
  container lookups before consulting the container for registered
@@ -4903,7 +4904,6 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/core', 'emb
4903
4904
  @public
4904
4905
  */
4905
4906
 
4906
- exports.Resolver = Resolver;
4907
4907
  exports["default"] = _emberRuntimeSystemObject["default"].extend({
4908
4908
  /**
4909
4909
  This will be set to the Application instance when it is
@@ -6258,8 +6258,80 @@ enifed("ember-extension-support/data_adapter", ["exports", "ember-metal/property
6258
6258
  });
6259
6259
  enifed("ember-htmlbars", ["exports", "ember-metal/core", "ember-template-compiler", "ember-htmlbars/system/make-view-helper", "ember-htmlbars/system/make_bound_helper", "ember-htmlbars/helpers", "ember-htmlbars/helpers/if_unless", "ember-htmlbars/helpers/with", "ember-htmlbars/helpers/loc", "ember-htmlbars/helpers/log", "ember-htmlbars/helpers/each", "ember-htmlbars/helpers/-bind-attr-class", "ember-htmlbars/helpers/-normalize-class", "ember-htmlbars/helpers/-concat", "ember-htmlbars/helpers/-join-classes", "ember-htmlbars/helpers/-legacy-each-with-controller", "ember-htmlbars/helpers/-legacy-each-with-keyword", "ember-htmlbars/helpers/-html-safe", "ember-htmlbars/system/dom-helper", "ember-htmlbars/helper", "ember-htmlbars/system/bootstrap", "ember-htmlbars/compat"], function (exports, _emberMetalCore, _emberTemplateCompiler, _emberHtmlbarsSystemMakeViewHelper, _emberHtmlbarsSystemMake_bound_helper, _emberHtmlbarsHelpers, _emberHtmlbarsHelpersIf_unless, _emberHtmlbarsHelpersWith, _emberHtmlbarsHelpersLoc, _emberHtmlbarsHelpersLog, _emberHtmlbarsHelpersEach, _emberHtmlbarsHelpersBindAttrClass, _emberHtmlbarsHelpersNormalizeClass, _emberHtmlbarsHelpersConcat, _emberHtmlbarsHelpersJoinClasses, _emberHtmlbarsHelpersLegacyEachWithController, _emberHtmlbarsHelpersLegacyEachWithKeyword, _emberHtmlbarsHelpersHtmlSafe, _emberHtmlbarsSystemDomHelper, _emberHtmlbarsHelper, _emberHtmlbarsSystemBootstrap, _emberHtmlbarsCompat) {
6260
6260
  /**
6261
+ Ember templates are executed by [HTMLBars](https://github.com/tildeio/htmlbars),
6262
+ an HTML-friendly version of [Handlebars](http://handlebarsjs.com/). Any valid Handlebars syntax is valid in an Ember template.
6263
+
6264
+ ### Showing a property
6265
+
6266
+ Templates manage the flow of an application's UI, and display state (through
6267
+ the DOM) to a user. For example, given a component with the property "name",
6268
+ that component's template can use the name in several ways:
6269
+
6270
+ ```javascript
6271
+ // app/components/person.js
6272
+ export default Ember.Component.extend({
6273
+ name: 'Jill'
6274
+ });
6275
+ ```
6276
+
6277
+ ```handlebars
6278
+ {{! app/components/person.hbs }}
6279
+ {{name}}
6280
+ <div>{{name}}</div>
6281
+ <span data-name={{name}}></span>
6282
+ ```
6283
+
6284
+ Any time the "name" property on the component changes, the DOM will be
6285
+ updated.
6286
+
6287
+ Properties can be chained as well:
6288
+
6289
+ ```handlebars
6290
+ {{aUserModel.name}}
6291
+ <div>{{listOfUsers.firstObject.name}}</div>
6292
+ ```
6293
+
6294
+ ### Using Ember helpers
6295
+
6296
+ When content is passed in mustaches `{{}}`, Ember will first try to find a helper
6297
+ or component with that name. For example, the `if` helper:
6298
+
6299
+ ```handlebars
6300
+ {{if name "I have a name" "I have no name"}}
6301
+ <span data-has-name={{if name true}}></span>
6302
+ ```
6303
+
6304
+ The returned value is placed where the `{{}}` is called. The above style is
6305
+ called "inline". A second style of helper usage is called "block". For example:
6261
6306
 
6262
- &nbsp;
6307
+ ```handlebars
6308
+ {{#if name}}
6309
+ I have a name
6310
+ {{else}}
6311
+ I have no name
6312
+ {{/if}}
6313
+ ```
6314
+
6315
+ The block form of helpers allows you to control how the UI is created based
6316
+ on the values of properties.
6317
+
6318
+ A third form of helper is called "nested". For example here the concat
6319
+ helper will add " Doe" to a displayed name if the person has no last name:
6320
+
6321
+ ```handlebars
6322
+ <span data-name={{concat firstName (
6323
+ if lastName (concat " " lastName) "Doe"
6324
+ )}}></span>
6325
+ ```
6326
+
6327
+ Ember's built-in helpers are described under the [Ember.Templates.helpers](/api/classes/Ember.Templates.helpers.html)
6328
+ namespace. Documentation on creating custom helpers can be found under
6329
+ [Ember.Helper](/api/classes/Ember.Helper.html).
6330
+
6331
+ ### Invoking a Component
6332
+
6333
+ Ember components represent state to the UI of an application. Further
6334
+ reading on components can be found under [Ember.Component](/api/classes/Ember.Component.html).
6263
6335
 
6264
6336
  @module ember
6265
6337
  @submodule ember-templates
@@ -6993,6 +7065,11 @@ enifed('ember-htmlbars/helpers/-bind-attr-class', ['exports', 'ember-metal/prope
6993
7065
  }
6994
7066
  });
6995
7067
  enifed('ember-htmlbars/helpers/-concat', ['exports'], function (exports) {
7068
+ /**
7069
+ @module ember
7070
+ @submodule ember-templates
7071
+ */
7072
+
6996
7073
  /**
6997
7074
  Concatenates input params together.
6998
7075
 
@@ -7006,7 +7083,7 @@ enifed('ember-htmlbars/helpers/-concat', ['exports'], function (exports) {
7006
7083
 
7007
7084
  @public
7008
7085
  @method concat
7009
- @for Ember.HTMLBars
7086
+ @for Ember.Templates.helpers
7010
7087
  */
7011
7088
  'use strict';
7012
7089
 
@@ -7155,10 +7232,10 @@ enifed("ember-htmlbars/helpers/-normalize-class", ["exports", "ember-runtime/sys
7155
7232
  var propName = params[0];
7156
7233
  var value = params[1];
7157
7234
  var activeClass = hash.activeClass;
7235
+ var inactiveClass = hash.inactiveClass;
7158
7236
 
7159
7237
  // When using the colon syntax, evaluate the truthiness or falsiness
7160
7238
  // of the value to determine which className to return
7161
- var inactiveClass = hash.inactiveClass;
7162
7239
  if (activeClass || inactiveClass) {
7163
7240
  if (!!value) {
7164
7241
  return activeClass;
@@ -8876,16 +8953,55 @@ enifed("ember-htmlbars/keywords/legacy-yield", ["exports", "ember-metal/streams/
8876
8953
  return true;
8877
8954
  }
8878
8955
  });
8879
- enifed("ember-htmlbars/keywords/mut", ["exports", "ember-metal/platform/create", "ember-metal/merge", "ember-metal/utils", "ember-metal/streams/proxy-stream", "ember-metal/streams/utils", "ember-metal/streams/stream", "ember-views/compat/attrs-proxy", "ember-routing-htmlbars/keywords/closure-action"], function (exports, _emberMetalPlatformCreate, _emberMetalMerge, _emberMetalUtils, _emberMetalStreamsProxyStream, _emberMetalStreamsUtils, _emberMetalStreamsStream, _emberViewsCompatAttrsProxy, _emberRoutingHtmlbarsKeywordsClosureAction) {
8956
+ enifed("ember-htmlbars/keywords/mut", ["exports", "ember-metal/core", "ember-metal/platform/create", "ember-metal/merge", "ember-metal/utils", "ember-metal/streams/proxy-stream", "ember-metal/streams/utils", "ember-metal/streams/stream", "ember-views/compat/attrs-proxy", "ember-routing-htmlbars/keywords/closure-action"], function (exports, _emberMetalCore, _emberMetalPlatformCreate, _emberMetalMerge, _emberMetalUtils, _emberMetalStreamsProxyStream, _emberMetalStreamsUtils, _emberMetalStreamsStream, _emberViewsCompatAttrsProxy, _emberRoutingHtmlbarsKeywordsClosureAction) {
8880
8957
  "use strict";
8881
8958
 
8882
8959
  var _merge;
8883
8960
 
8884
8961
  exports["default"] = mut;
8885
8962
  exports.privateMut = privateMut;
8963
+
8964
+ /**
8965
+ @module ember
8966
+ @submodule ember-templates
8967
+ */
8968
+
8886
8969
  var MUTABLE_REFERENCE = _emberMetalUtils.symbol("MUTABLE_REFERENCE");
8887
8970
 
8888
8971
  exports.MUTABLE_REFERENCE = MUTABLE_REFERENCE;
8972
+ /**
8973
+ The `mut` helper lets you __clearly specify__ that a child `Component` can update the
8974
+ (mutable) value passed to it, which will __change the value of the parent compnent__.
8975
+
8976
+ This is very helpful for passing mutable values to a `Component` of any size, but
8977
+ critical to understanding the logic of a large/complex `Component`.
8978
+
8979
+ To specify that a parameter is mutable, when invoking the child `Component`:
8980
+
8981
+ ```handlebars
8982
+ <my-child child-click-count={{mut totalClicks}} />
8983
+ ```
8984
+
8985
+ The child `Component` can then modify the parent's value as needed:
8986
+
8987
+ ```javascript
8988
+ // my-child.js
8989
+ export default Component.extend({
8990
+ click: function() {
8991
+ this.attrs.childClickCount.update(this.attrs.childClickCount.value + 1);
8992
+ }
8993
+ });
8994
+ ```
8995
+
8996
+ 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
8997
+ additional information on using `{{mut}}`.
8998
+
8999
+ @public
9000
+ @method mut
9001
+ @param {Object} [attr] the "two-way" attribute that can be modified.
9002
+ @for Ember.Templates.helpers
9003
+ @public
9004
+ */
8889
9005
 
8890
9006
  function mut(morph, env, scope, originalParams, hash, template, inverse) {
8891
9007
  // If `morph` is `null` the keyword is being invoked as a subexpression.
@@ -8922,7 +9038,7 @@ enifed("ember-htmlbars/keywords/mut", ["exports", "ember-metal/platform/create",
8922
9038
  })();
8923
9039
  }
8924
9040
  } else {
8925
- Ember.assert("You can only pass a path to mut", _emberMetalStreamsUtils.isStream(stream));
9041
+ _emberMetalCore["default"].assert("You can only pass a path to mut", _emberMetalStreamsUtils.isStream(stream));
8926
9042
  }
8927
9043
 
8928
9044
  if (stream[MUTABLE_REFERENCE]) {
@@ -8967,11 +9083,55 @@ enifed("ember-htmlbars/keywords/mut", ["exports", "ember-metal/platform/create",
8967
9083
  enifed('ember-htmlbars/keywords/outlet', ['exports', 'htmlbars-runtime/hooks'], function (exports, _htmlbarsRuntimeHooks) {
8968
9084
  /**
8969
9085
  @module ember
8970
- @submodule ember-htmlbars
9086
+ @submodule ember-templates
8971
9087
  */
8972
9088
 
8973
9089
  'use strict';
8974
9090
 
9091
+ /**
9092
+ The `{{outlet}}` helper lets you specify where a child routes will render in
9093
+ your template. An important use of the `{{outlet}}` helper is in your
9094
+ application's `application.hbs` file:
9095
+ ```handlebars
9096
+ {{! app/templates/application.hbs }}
9097
+ <!-- header content goes here, and will always display -->
9098
+ {{my-header}}
9099
+ <div class="my-dynamic-content">
9100
+ <!-- this content will change based on the current route, which depends on the current URL -->
9101
+ {{outlet}}
9102
+ </div>
9103
+ <!-- footer content goes here, and will always display -->
9104
+ {{my-footer}}
9105
+ ```
9106
+ See [templates guide](http://emberjs.com/guides/templates/the-application-template/) for
9107
+ additional information on using `{{outlet}}` in `application.hbs`.
9108
+ You may also specify a name for the `{{outlet}}`, which is useful when using more than one
9109
+ `{{outlet}}` in a template:
9110
+ ```handlebars
9111
+ {{outlet "menu"}}
9112
+ {{outlet "sidebar"}}
9113
+ {{outlet "main"}}
9114
+ ```
9115
+ Your routes can then render into a specific one of these `outlet`s by specifying the `outlet`
9116
+ attribute in your `renderTemplate` function:
9117
+ ```javascript
9118
+ // app/routes/menu.js
9119
+ export default Ember.Route.extend({
9120
+ renderTemplate() {
9121
+ this.render({ outlet: 'menu' });
9122
+ }
9123
+ });
9124
+ ```
9125
+ See the [routing guide](http://emberjs.com/guides/routing/rendering-a-template/) for more
9126
+ information on how your `route` interacts with the `{{outlet}}` helper.
9127
+ Note: Your content __will not render__ if there isn't an `{{outlet}}` for it.
9128
+ @public
9129
+ @method outlet
9130
+ @param {String} [name]
9131
+ @for Ember.Templates.helpers
9132
+ @public
9133
+ */
9134
+
8975
9135
  /*
8976
9136
  This level of delegation handles backward-compatibility with the
8977
9137
  `view` parameter to {{outlet}}. When we drop support for the `view`
@@ -9044,7 +9204,7 @@ enifed("ember-htmlbars/keywords/real_outlet", ["exports", "ember-metal/property_
9044
9204
 
9045
9205
  "use strict";
9046
9206
 
9047
- _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.6';
9207
+ _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.7';
9048
9208
 
9049
9209
  exports["default"] = {
9050
9210
  willRender: function (renderNode, env) {
@@ -9184,7 +9344,35 @@ enifed('ember-htmlbars/keywords/textarea', ['exports'], function (exports) {
9184
9344
  enifed("ember-htmlbars/keywords/unbound", ["exports", "ember-metal/merge", "ember-metal/platform/create", "ember-metal/streams/stream", "ember-metal/streams/utils"], function (exports, _emberMetalMerge, _emberMetalPlatformCreate, _emberMetalStreamsStream, _emberMetalStreamsUtils) {
9185
9345
  /**
9186
9346
  @module ember
9187
- @submodule ember-htmlbars
9347
+ @submodule ember-templates
9348
+ */
9349
+
9350
+ /**
9351
+ The `{{unbound}}` helper disconnects the one-way binding of a property,
9352
+ essentially freezing its value at the moment of rendering. For example,
9353
+ in this example the display of the variable `name` will not change even
9354
+ if it is set with a new value:
9355
+
9356
+ ```handlebars
9357
+ {{unbound name}}
9358
+ ```
9359
+
9360
+ Like any helper, the `unbound` helper can accept a nested helper expression.
9361
+ This allows for custom helpers to be rendered unbound:
9362
+
9363
+ ```handlebars
9364
+ {{unbound (some-custom-helper)}}
9365
+ {{unbound (capitalize name)}}
9366
+ {{! You can use any helper, including unbound, in a nested expression }}
9367
+ {{capitalize (unbound name)}}
9368
+ ```
9369
+
9370
+ The `unbound` helper only accepts a single argument, and it return an
9371
+ unbound value.
9372
+
9373
+ @method unbound
9374
+ @for Ember.Templates.helpers
9375
+ @public
9188
9376
  */
9189
9377
 
9190
9378
  "use strict";
@@ -9212,6 +9400,7 @@ enifed("ember-htmlbars/keywords/unbound", ["exports", "ember-metal/merge", "embe
9212
9400
  } else if (template === null) {
9213
9401
  env.hooks.inline(morph, env, scope, valueStream.key, params, hash);
9214
9402
  } else {
9403
+ // deprecated via AST transform
9215
9404
  env.hooks.block(morph, env, scope, valueStream.key, params, hash, template, inverse);
9216
9405
  }
9217
9406
 
@@ -9806,16 +9995,15 @@ enifed("ember-htmlbars/node-managers/component-node-manager", ["exports", "ember
9806
9995
  var proto = arguments.length <= 6 || arguments[6] === undefined ? _component.proto() : arguments[6];
9807
9996
  return (function () {
9808
9997
  var props = _emberMetalMerge.assign({}, _props);
9809
- var attrsSnapshot = undefined;
9810
9998
 
9811
9999
  if (!isAngleBracket) {
9812
10000
  var hasSuppliedController = ('controller' in attrs); // 2.0TODO remove
9813
10001
  _emberMetalCore["default"].deprecate("controller= is deprecated", !hasSuppliedController);
9814
10002
 
9815
- attrsSnapshot = takeSnapshot(attrs);
9816
- props.attrs = attrsSnapshot;
10003
+ var snapshot = takeSnapshot(attrs);
10004
+ props.attrs = snapshot;
9817
10005
 
9818
- mergeBindings(props, shadowedAttrs(proto, attrsSnapshot));
10006
+ mergeBindings(props, shadowedAttrs(proto, snapshot));
9819
10007
  } else {
9820
10008
  props._isAngleBracket = true;
9821
10009
  }
@@ -9825,8 +10013,6 @@ enifed("ember-htmlbars/node-managers/component-node-manager", ["exports", "ember
9825
10013
 
9826
10014
  var component = _component.create(props);
9827
10015
 
9828
- env.renderer.componentInitAttrs(component, attrsSnapshot);
9829
-
9830
10016
  // for the fallback case
9831
10017
  component.container = component.container || env.container;
9832
10018
 
@@ -9999,8 +10185,6 @@ enifed("ember-htmlbars/node-managers/view-node-manager", ["exports", "ember-meta
9999
10185
  }
10000
10186
 
10001
10187
  if (component) {
10002
- var snapshot = takeSnapshot(attrs);
10003
- env.renderer.setAttrs(this.component, snapshot);
10004
10188
  env.renderer.willRender(component);
10005
10189
  env.renderedViews.push(component.elementId);
10006
10190
  }
@@ -10034,7 +10218,7 @@ enifed("ember-htmlbars/node-managers/view-node-manager", ["exports", "ember-meta
10034
10218
  env.renderer.willUpdate(component, snapshot);
10035
10219
 
10036
10220
  if (component._renderNode.shouldReceiveAttrs) {
10037
- env.renderer.updateAttrs(component, snapshot);
10221
+ env.renderer.componentUpdateAttrs(component, snapshot);
10038
10222
  _emberMetalSet_properties["default"](component, mergeBindings({}, shadowedAttrs(component, snapshot)));
10039
10223
  component._renderNode.shouldReceiveAttrs = false;
10040
10224
  }
@@ -10093,6 +10277,7 @@ enifed("ember-htmlbars/node-managers/view-node-manager", ["exports", "ember-meta
10093
10277
 
10094
10278
  component = component.create(props);
10095
10279
  } else {
10280
+ env.renderer.componentUpdateAttrs(component, snapshot);
10096
10281
  mergeBindings(props, shadowedAttrs(component, snapshot));
10097
10282
  _emberMetalSet_properties["default"](component, props);
10098
10283
  }
@@ -13543,7 +13728,7 @@ enifed("ember-metal/chains", ["exports", "ember-metal/core", "ember-metal/proper
13543
13728
  exports.ChainNode = ChainNode;
13544
13729
  });
13545
13730
  // warn, assert, etc;
13546
- enifed("ember-metal/computed", ["exports", "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"], function (exports, _emberMetalProperty_set, _emberMetalUtils, _emberMetalExpand_properties, _emberMetalError, _emberMetalProperties, _emberMetalProperty_events, _emberMetalDependent_keys) {
13731
+ enifed("ember-metal/computed", ["exports", "ember-metal/core", "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"], function (exports, _emberMetalCore, _emberMetalProperty_set, _emberMetalUtils, _emberMetalExpand_properties, _emberMetalError, _emberMetalProperties, _emberMetalProperty_events, _emberMetalDependent_keys) {
13547
13732
  "use strict";
13548
13733
 
13549
13734
  /**
@@ -13646,7 +13831,7 @@ enifed("ember-metal/computed", ["exports", "ember-metal/property_set", "ember-me
13646
13831
  config.__ember_arity = config.length;
13647
13832
  this._getter = config;
13648
13833
  if (config.__ember_arity > 1) {
13649
- Ember.deprecate("Using the same function as getter and setter is deprecated.", false, {
13834
+ _emberMetalCore["default"].deprecate("Using the same function as getter and setter is deprecated.", false, {
13650
13835
  url: "http://emberjs.com/deprecations/v1.x/#toc_deprecate-using-the-same-function-as-getter-and-setter-in-computed-properties"
13651
13836
  });
13652
13837
  this._setter = config;
@@ -13663,10 +13848,10 @@ enifed("ember-metal/computed", ["exports", "ember-metal/property_set", "ember-me
13663
13848
  this._suspended = undefined;
13664
13849
  this._meta = undefined;
13665
13850
 
13666
- Ember.deprecate("Passing opts.cacheable to the CP constructor is deprecated. Invoke `volatile()` on the CP instead.", !opts || !opts.hasOwnProperty('cacheable'));
13851
+ _emberMetalCore["default"].deprecate("Passing opts.cacheable to the CP constructor is deprecated. Invoke `volatile()` on the CP instead.", !opts || !opts.hasOwnProperty('cacheable'));
13667
13852
  this._cacheable = opts && opts.cacheable !== undefined ? opts.cacheable : true; // TODO: Set always to `true` once this deprecation is gone.
13668
13853
  this._dependentKeys = opts && opts.dependentKeys;
13669
- Ember.deprecate("Passing opts.readOnly to the CP constructor is deprecated. All CPs are writable by default. You can invoke `readOnly()` on the CP to change this.", !opts || !opts.hasOwnProperty('readOnly'));
13854
+ _emberMetalCore["default"].deprecate("Passing opts.readOnly to the CP constructor is deprecated. All CPs are writable by default. You can invoke `readOnly()` on the CP to change this.", !opts || !opts.hasOwnProperty('readOnly'));
13670
13855
  this._readOnly = opts && (opts.readOnly !== undefined || !!opts.readOnly) || false; // TODO: Set always to `false` once this deprecation is gone.
13671
13856
  }
13672
13857
 
@@ -13692,7 +13877,7 @@ enifed("ember-metal/computed", ["exports", "ember-metal/property_set", "ember-me
13692
13877
  @public
13693
13878
  */
13694
13879
  ComputedPropertyPrototype.cacheable = function (aFlag) {
13695
- Ember.deprecate('ComputedProperty.cacheable() is deprecated. All computed properties are cacheable by default.');
13880
+ _emberMetalCore["default"].deprecate('ComputedProperty.cacheable() is deprecated. All computed properties are cacheable by default.');
13696
13881
  this._cacheable = aFlag !== false;
13697
13882
  return this;
13698
13883
  };
@@ -13741,9 +13926,9 @@ enifed("ember-metal/computed", ["exports", "ember-metal/property_set", "ember-me
13741
13926
  @public
13742
13927
  */
13743
13928
  ComputedPropertyPrototype.readOnly = function (readOnly) {
13744
- Ember.deprecate('Passing arguments to ComputedProperty.readOnly() is deprecated.', arguments.length === 0);
13929
+ _emberMetalCore["default"].deprecate('Passing arguments to ComputedProperty.readOnly() is deprecated.', arguments.length === 0);
13745
13930
  this._readOnly = readOnly === undefined || !!readOnly; // Force to true once this deprecation is gone
13746
- Ember.assert("Computed properties that define a setter using the new syntax cannot be read-only", !(this._readOnly && this._setter && this._setter !== this._getter));
13931
+ _emberMetalCore["default"].assert("Computed properties that define a setter using the new syntax cannot be read-only", !(this._readOnly && this._setter && this._setter !== this._getter));
13747
13932
  return this;
13748
13933
  };
13749
13934
 
@@ -13779,6 +13964,8 @@ enifed("ember-metal/computed", ["exports", "ember-metal/property_set", "ember-me
13779
13964
  var args;
13780
13965
 
13781
13966
  var addArg = function (property) {
13967
+ _emberMetalCore["default"].deprecate("Depending on arrays using a dependent key ending with `@each` is deprecated. " + ("Please refactor from `Ember.computed('" + property + "', function() {});` to `Ember.computed('" + property.slice(0, -6) + ".[]', function() {})`."), property.slice(-5) !== '@each', { id: 'ember-metal.@each-dependent-key-leaf', until: '2.0.0' });
13968
+
13782
13969
  args.push(property);
13783
13970
  };
13784
13971
 
@@ -14640,6 +14827,7 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14640
14827
  return value;
14641
14828
  });
14642
14829
 
14830
+ exports.and = and;
14643
14831
  /**
14644
14832
  A computed property which performs a logical `or` on the
14645
14833
  original values for the provided dependent properties.
@@ -14667,7 +14855,6 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14667
14855
  a logical `or` on the values of all the original values for properties.
14668
14856
  @public
14669
14857
  */
14670
- exports.and = and;
14671
14858
  var or = generateComputedWithProperties(function (properties) {
14672
14859
  for (var key in properties) {
14673
14860
  if (properties.hasOwnProperty(key) && properties[key]) {
@@ -14677,6 +14864,7 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14677
14864
  return false;
14678
14865
  });
14679
14866
 
14867
+ exports.or = or;
14680
14868
  /**
14681
14869
  A computed property that returns the first truthy value
14682
14870
  from a list of dependent properties.
@@ -14703,7 +14891,6 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14703
14891
  @deprecated Use `Ember.computed.or` instead.
14704
14892
  @public
14705
14893
  */
14706
- exports.or = or;
14707
14894
  var any = generateComputedWithProperties(function (properties) {
14708
14895
  _emberMetalCore["default"].deprecate('Usage of Ember.computed.any is deprecated, use `Ember.computed.or` instead.');
14709
14896
  for (var key in properties) {
@@ -14714,6 +14901,7 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14714
14901
  return null;
14715
14902
  });
14716
14903
 
14904
+ exports.any = any;
14717
14905
  /**
14718
14906
  A computed property that returns the array of values
14719
14907
  for the provided dependent properties.
@@ -14740,7 +14928,6 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14740
14928
  values of all passed in properties to an array.
14741
14929
  @public
14742
14930
  */
14743
- exports.any = any;
14744
14931
  var collect = generateComputedWithProperties(function (properties) {
14745
14932
  var res = _emberMetalCore["default"].A();
14746
14933
  for (var key in properties) {
@@ -14755,6 +14942,7 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14755
14942
  return res;
14756
14943
  });
14757
14944
 
14945
+ exports.collect = collect;
14758
14946
  /**
14759
14947
  Creates a new property that is an alias for another property
14760
14948
  on an object. Calls to `get` or `set` this property behave as
@@ -14816,7 +15004,6 @@ enifed("ember-metal/computed_macros", ["exports", "ember-metal/core", "ember-met
14816
15004
  one way computed property to the original value for property.
14817
15005
  @public
14818
15006
  */
14819
- exports.collect = collect;
14820
15007
 
14821
15008
  function oneWay(dependentKey) {
14822
15009
  return _emberMetalAlias["default"](dependentKey).oneWay();
@@ -14969,7 +15156,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
14969
15156
 
14970
15157
  @class Ember
14971
15158
  @static
14972
- @version 1.13.6
15159
+ @version 1.13.7
14973
15160
  @public
14974
15161
  */
14975
15162
 
@@ -15003,11 +15190,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
15003
15190
 
15004
15191
  @property VERSION
15005
15192
  @type String
15006
- @default '1.13.6'
15193
+ @default '1.13.7'
15007
15194
  @static
15008
15195
  @public
15009
15196
  */
15010
- Ember.VERSION = '1.13.6';
15197
+ Ember.VERSION = '1.13.7';
15011
15198
 
15012
15199
  /**
15013
15200
  The hash of environment variables used to control various configuration
@@ -15160,7 +15347,6 @@ enifed('ember-metal/core', ['exports'], function (exports) {
15160
15347
  An empty function useful for some operations. Always returns `this`.
15161
15348
 
15162
15349
  @method K
15163
- @private
15164
15350
  @return {Object}
15165
15351
  @public
15166
15352
  */
@@ -16227,7 +16413,8 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-metal/error', 'ember-
16227
16413
  Ember.expandProperties('{foo}.bar.{baz}') //=> 'foo.bar.baz'
16228
16414
  ```
16229
16415
 
16230
- @method
16416
+ @method expandProperties
16417
+ @for Ember
16231
16418
  @private
16232
16419
  @param {String} pattern The property pattern to expand.
16233
16420
  @param {Function} callback The callback to invoke. It is invoked once per
@@ -17589,7 +17776,7 @@ enifed('ember-metal/merge', ['exports', 'ember-metal/keys'], function (exports,
17589
17776
  @param {Object} original The object to merge into
17590
17777
  @param {Object} updates The object to copy properties from
17591
17778
  @return {Object}
17592
- @private
17779
+ @public
17593
17780
  */
17594
17781
 
17595
17782
  function merge(original, updates) {
@@ -18476,6 +18663,8 @@ enifed("ember-metal/mixin", ["exports", "ember-metal/core", "ember-metal/merge",
18476
18663
  var paths;
18477
18664
 
18478
18665
  var addWatchedProperty = function (path) {
18666
+ _emberMetalCore["default"].deprecate("Depending on arrays using a dependent key ending with `@each` is deprecated. " + ("Please refactor from `Ember.observer('" + path + "', function() {});` to `Ember.computed('" + path.slice(0, -6) + ".[]', function() {})`."), path.slice(-5) !== '@each', { id: 'ember-metal.@each-dependent-key-leaf', until: '2.0.0' });
18667
+
18479
18668
  paths.push(path);
18480
18669
  };
18481
18670
  var _paths = args.slice(0, -1);
@@ -19652,7 +19841,7 @@ enifed("ember-metal/property_events", ["exports", "ember-metal/utils", "ember-me
19652
19841
  exports.endPropertyChanges = endPropertyChanges;
19653
19842
  exports.changeProperties = changeProperties;
19654
19843
  });
19655
- enifed("ember-metal/property_get", ["exports", "ember-metal/core", "ember-metal/error", "ember-metal/path_cache", "ember-metal/platform/define_property", "ember-metal/utils", "ember-metal/is_none"], function (exports, _emberMetalCore, _emberMetalError, _emberMetalPath_cache, _emberMetalPlatformDefine_property, _emberMetalUtils, _emberMetalIs_none) {
19844
+ enifed("ember-metal/property_get", ["exports", "ember-metal/core", "ember-metal/error", "ember-metal/path_cache", "ember-metal/platform/define_property", "ember-metal/is_none"], function (exports, _emberMetalCore, _emberMetalError, _emberMetalPath_cache, _emberMetalPlatformDefine_property, _emberMetalIs_none) {
19656
19845
  /**
19657
19846
  @module ember-metal
19658
19847
  */
@@ -19666,10 +19855,6 @@ enifed("ember-metal/property_get", ["exports", "ember-metal/core", "ember-metal/
19666
19855
 
19667
19856
  var FIRST_KEY = /^([^\.]+)/;
19668
19857
 
19669
- var INTERCEPT_GET = _emberMetalUtils.symbol("INTERCEPT_GET");
19670
- exports.INTERCEPT_GET = INTERCEPT_GET;
19671
- var UNHANDLED_GET = _emberMetalUtils.symbol("UNHANDLED_GET");
19672
-
19673
19858
  // ..........................................................
19674
19859
  // GET AND SET
19675
19860
  //
@@ -19702,7 +19887,6 @@ enifed("ember-metal/property_get", ["exports", "ember-metal/core", "ember-metal/
19702
19887
  @return {Object} the property value or `null`.
19703
19888
  @public
19704
19889
  */
19705
- exports.UNHANDLED_GET = UNHANDLED_GET;
19706
19890
 
19707
19891
  function get(obj, keyName) {
19708
19892
  _emberMetalCore["default"].deprecate("Get must be called with two arguments; an object and a property key", arguments.length === 2);
@@ -19725,13 +19909,6 @@ enifed("ember-metal/property_get", ["exports", "ember-metal/core", "ember-metal/
19725
19909
  return _getPath(obj, keyName);
19726
19910
  }
19727
19911
 
19728
- if (obj && typeof obj[INTERCEPT_GET] === 'function') {
19729
- var result = obj[INTERCEPT_GET](obj, keyName);
19730
- if (result !== UNHANDLED_GET) {
19731
- return result;
19732
- }
19733
- }
19734
-
19735
19912
  var meta = obj['__ember_meta__'];
19736
19913
  var possibleDesc = obj[keyName];
19737
19914
  var desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
@@ -19845,14 +20022,11 @@ enifed("ember-metal/property_get", ["exports", "ember-metal/core", "ember-metal/
19845
20022
 
19846
20023
  exports["default"] = get;
19847
20024
  });
19848
- enifed("ember-metal/property_set", ["exports", "ember-metal/core", "ember-metal/property_get", "ember-metal/property_events", "ember-metal/properties", "ember-metal/error", "ember-metal/path_cache", "ember-metal/platform/define_property", "ember-metal/utils"], function (exports, _emberMetalCore, _emberMetalProperty_get, _emberMetalProperty_events, _emberMetalProperties, _emberMetalError, _emberMetalPath_cache, _emberMetalPlatformDefine_property, _emberMetalUtils) {
20025
+ enifed("ember-metal/property_set", ["exports", "ember-metal/core", "ember-metal/property_get", "ember-metal/property_events", "ember-metal/properties", "ember-metal/error", "ember-metal/path_cache", "ember-metal/platform/define_property"], function (exports, _emberMetalCore, _emberMetalProperty_get, _emberMetalProperty_events, _emberMetalProperties, _emberMetalError, _emberMetalPath_cache, _emberMetalPlatformDefine_property) {
19849
20026
  "use strict";
19850
20027
 
19851
20028
  exports.set = set;
19852
20029
  exports.trySet = trySet;
19853
- var INTERCEPT_SET = _emberMetalUtils.symbol("INTERCEPT_SET");
19854
- exports.INTERCEPT_SET = INTERCEPT_SET;
19855
- var UNHANDLED_SET = _emberMetalUtils.symbol("UNHANDLED_SET");
19856
20030
 
19857
20031
  /**
19858
20032
  Sets the value of a property on an object, respecting computed properties
@@ -19868,7 +20042,6 @@ enifed("ember-metal/property_set", ["exports", "ember-metal/core", "ember-metal/
19868
20042
  @return {Object} the passed value.
19869
20043
  @public
19870
20044
  */
19871
- exports.UNHANDLED_SET = UNHANDLED_SET;
19872
20045
 
19873
20046
  function set(obj, keyName, value, tolerant) {
19874
20047
  if (typeof obj === 'string') {
@@ -19886,16 +20059,6 @@ enifed("ember-metal/property_set", ["exports", "ember-metal/core", "ember-metal/
19886
20059
  return setPath(obj, keyName, value, tolerant);
19887
20060
  }
19888
20061
 
19889
- // This path exists purely to implement backwards-compatible
19890
- // effects (specifically, setting a property on a view may
19891
- // invoke a mutator on `attrs`).
19892
- if (obj && typeof obj[INTERCEPT_SET] === 'function') {
19893
- var result = obj[INTERCEPT_SET](obj, keyName, value, tolerant);
19894
- if (result !== UNHANDLED_SET) {
19895
- return result;
19896
- }
19897
- }
19898
-
19899
20062
  var meta, possibleDesc, desc;
19900
20063
  if (obj) {
19901
20064
  meta = obj['__ember_meta__'];
@@ -21884,6 +22047,7 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
21884
22047
  descriptor: undefinedDescriptor
21885
22048
  };
21886
22049
 
22050
+ exports.NEXT_SUPER_PROPERTY = NEXT_SUPER_PROPERTY;
21887
22051
  /**
21888
22052
  Generates a new guid, optionally saving the guid to the object that you
21889
22053
  pass in. You will rarely need to use this method. Instead you should
@@ -21901,7 +22065,6 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
21901
22065
  separate the guid into separate namespaces.
21902
22066
  @return {String} the guid
21903
22067
  */
21904
- exports.NEXT_SUPER_PROPERTY = NEXT_SUPER_PROPERTY;
21905
22068
 
21906
22069
  function generateGuid(obj, prefix) {
21907
22070
  if (!prefix) {
@@ -23370,9 +23533,9 @@ enifed("ember-routing-htmlbars/keywords/element-action", ["exports", "ember-meta
23370
23533
  };
23371
23534
  var ActionHelper = {};
23372
23535
 
23536
+ exports.ActionHelper = ActionHelper;
23373
23537
  // registeredActions is re-exported for compatibility with older plugins
23374
23538
  // that were using this undocumented API.
23375
- exports.ActionHelper = ActionHelper;
23376
23539
  ActionHelper.registeredActions = _emberViewsSystemAction_manager["default"].registeredActions;
23377
23540
 
23378
23541
  ActionHelper.registerAction = function (_ref) {
@@ -23460,13 +23623,13 @@ enifed("ember-routing-htmlbars/keywords/element-action", ["exports", "ember-meta
23460
23623
  }
23461
23624
  });
23462
23625
  // assert
23463
- enifed("ember-routing-htmlbars/keywords/link-to", ["exports", "ember-metal/streams/utils", "ember-metal/core", "ember-metal/merge"], function (exports, _emberMetalStreamsUtils, _emberMetalCore, _emberMetalMerge) {
23626
+ enifed('ember-routing-htmlbars/keywords/link-to', ['exports', 'ember-metal/streams/utils', 'ember-metal/core', 'ember-metal/merge'], function (exports, _emberMetalStreamsUtils, _emberMetalCore, _emberMetalMerge) {
23464
23627
  /**
23465
23628
  @module ember
23466
23629
  @submodule ember-routing-htmlbars
23467
23630
  */
23468
23631
 
23469
- "use strict";
23632
+ 'use strict';
23470
23633
 
23471
23634
  /**
23472
23635
  The `{{link-to}}` helper renders a link to the supplied
@@ -23747,7 +23910,9 @@ enifed("ember-routing-htmlbars/keywords/link-to", ["exports", "ember-metal/strea
23747
23910
  },
23748
23911
 
23749
23912
  render: function (morph, env, scope, params, hash, template, inverse, visitor) {
23750
- var attrs = _emberMetalMerge["default"]({}, _emberMetalStreamsUtils.readHash(hash));
23913
+ var attrs = _emberMetalMerge["default"]({}, hash);
23914
+
23915
+ // TODO: Rewrite link-to to use arbitrary length positional params.
23751
23916
  attrs.params = _emberMetalStreamsUtils.readArray(params);
23752
23917
 
23753
23918
  // Used for deprecations (to tell the user what view the deprecated syntax
@@ -24021,7 +24186,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24021
24186
 
24022
24187
  "use strict";
24023
24188
 
24024
- _emberHtmlbarsTemplatesLinkTo["default"].meta.revision = 'Ember@1.13.6';
24189
+ _emberHtmlbarsTemplatesLinkTo["default"].meta.revision = 'Ember@1.13.7';
24025
24190
 
24026
24191
  var linkComponentClassNameBindings = ['active', 'loading', 'disabled'];
24027
24192
 
@@ -24058,7 +24223,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24058
24223
  /**
24059
24224
  Used to determine when this LinkComponent is active.
24060
24225
  @property currentWhen
24061
- @private
24226
+ @public
24062
24227
  */
24063
24228
  'current-when': null,
24064
24229
 
@@ -24066,7 +24231,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24066
24231
  Sets the `title` attribute of the `LinkComponent`'s HTML element.
24067
24232
  @property title
24068
24233
  @default null
24069
- @private
24234
+ @public
24070
24235
  **/
24071
24236
  title: null,
24072
24237
 
@@ -24074,7 +24239,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24074
24239
  Sets the `rel` attribute of the `LinkComponent`'s HTML element.
24075
24240
  @property rel
24076
24241
  @default null
24077
- @private
24242
+ @public
24078
24243
  **/
24079
24244
  rel: null,
24080
24245
 
@@ -24082,7 +24247,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24082
24247
  Sets the `tabindex` attribute of the `LinkComponent`'s HTML element.
24083
24248
  @property tabindex
24084
24249
  @default null
24085
- @private
24250
+ @public
24086
24251
  **/
24087
24252
  tabindex: null,
24088
24253
 
@@ -24091,7 +24256,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24091
24256
  @since 1.8.0
24092
24257
  @property target
24093
24258
  @default null
24094
- @private
24259
+ @public
24095
24260
  **/
24096
24261
  target: null,
24097
24262
 
@@ -24132,7 +24297,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24132
24297
  @property replace
24133
24298
  @type Boolean
24134
24299
  @default false
24135
- @private
24300
+ @public
24136
24301
  **/
24137
24302
  replace: false,
24138
24303
 
@@ -24143,7 +24308,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24143
24308
  @property attributeBindings
24144
24309
  @type Array | String
24145
24310
  @default ['title', 'rel', 'tabindex', 'target']
24146
- @private
24311
+ @public
24147
24312
  */
24148
24313
  attributeBindings: ['href', 'title', 'rel', 'tabindex', 'target'],
24149
24314
 
@@ -24153,7 +24318,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24153
24318
  @property classNameBindings
24154
24319
  @type Array
24155
24320
  @default ['active', 'loading', 'disabled']
24156
- @private
24321
+ @public
24157
24322
  */
24158
24323
  classNameBindings: linkComponentClassNameBindings,
24159
24324
 
@@ -24554,7 +24719,7 @@ enifed("ember-routing-views/views/outlet", ["exports", "ember-views/views/view",
24554
24719
 
24555
24720
  "use strict";
24556
24721
 
24557
- _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.6';
24722
+ _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.7';
24558
24723
 
24559
24724
  var CoreOutletView = _emberViewsViewsView["default"].extend({
24560
24725
  defaultTemplate: _emberHtmlbarsTemplatesTopLevelView["default"],
@@ -28486,7 +28651,7 @@ enifed("ember-routing/system/router", ["exports", "ember-metal/core", "ember-met
28486
28651
  change.
28487
28652
  Triggers the router level `didTransition` hook.
28488
28653
  @method didTransition
28489
- @private
28654
+ @public
28490
28655
  @since 1.2.0
28491
28656
  */
28492
28657
  didTransition: function (infos) {
@@ -28546,7 +28711,7 @@ enifed("ember-routing/system/router", ["exports", "ember-metal/core", "ember-met
28546
28711
  change.
28547
28712
  Triggers the router level `willTransition` hook.
28548
28713
  @method willTransition
28549
- @private
28714
+ @public
28550
28715
  @since 1.11.0
28551
28716
  */
28552
28717
  willTransition: function (oldInfos, newInfos, transition) {
@@ -30106,7 +30271,7 @@ enifed('ember-runtime/computed/reduce_computed', ['exports', 'ember-metal/core',
30106
30271
  },
30107
30272
 
30108
30273
  resetTransformations: function (dependentKey, observerContexts) {
30109
- this.trackedArraysByGuid[dependentKey] = new _emberRuntimeSystemTracked_array["default"](observerContexts);
30274
+ this.trackedArraysByGuid[dependentKey] = new _emberRuntimeSystemTracked_array["default"](observerContexts, true);
30110
30275
  },
30111
30276
 
30112
30277
  trackAdd: function (dependentKey, index, newItems) {
@@ -31049,6 +31214,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
31049
31214
  */
31050
31215
  var mapProperty = mapBy;
31051
31216
 
31217
+ exports.mapProperty = mapProperty;
31052
31218
  /**
31053
31219
  Filters the array by the callback.
31054
31220
 
@@ -31086,14 +31252,13 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
31086
31252
  @return {Ember.ComputedProperty} the filtered array
31087
31253
  @public
31088
31254
  */
31089
- exports.mapProperty = mapProperty;
31090
31255
 
31091
31256
  function filter(dependentKey, callback) {
31092
31257
  var options = {
31093
31258
  _suppressDeprecation: true,
31094
31259
 
31095
31260
  initialize: function (array, changeMeta, instanceMeta) {
31096
- instanceMeta.filteredArrayIndexes = new _emberRuntimeSystemSubarray["default"]();
31261
+ instanceMeta.filteredArrayIndexes = new _emberRuntimeSystemSubarray["default"](undefined, true);
31097
31262
  },
31098
31263
 
31099
31264
  addedItem: function (array, item, changeMeta, instanceMeta) {
@@ -31176,6 +31341,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
31176
31341
  */
31177
31342
  var filterProperty = filterBy;
31178
31343
 
31344
+ exports.filterProperty = filterProperty;
31179
31345
  /**
31180
31346
  A computed property which returns a new array with all the unique
31181
31347
  elements from one or more dependent arrays.
@@ -31206,7 +31372,6 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
31206
31372
  unique elements from the dependent array
31207
31373
  @public
31208
31374
  */
31209
- exports.filterProperty = filterProperty;
31210
31375
 
31211
31376
  function uniq() {
31212
31377
  var args = a_slice.call(arguments);
@@ -31257,6 +31422,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
31257
31422
  */
31258
31423
  var union = uniq;
31259
31424
 
31425
+ exports.union = union;
31260
31426
  /**
31261
31427
  A computed property which returns a new array with all the duplicated
31262
31428
  elements from two or more dependent arrays.
@@ -31281,7 +31447,6 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
31281
31447
  duplicated elements from the dependent arrays
31282
31448
  @public
31283
31449
  */
31284
- exports.union = union;
31285
31450
 
31286
31451
  function intersect() {
31287
31452
  var args = a_slice.call(arguments);
@@ -31689,6 +31854,7 @@ enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/co
31689
31854
  exports.arrayControllerDeprecation = arrayControllerDeprecation;
31690
31855
  var arrayControllerDeprecation = '`Ember.ArrayController` is deprecated.';
31691
31856
 
31857
+ exports.arrayControllerDeprecation = arrayControllerDeprecation;
31692
31858
  /**
31693
31859
  `Ember.ArrayController` provides a way for you to publish a collection of
31694
31860
  objects so that you can easily bind to the collection from a Handlebars
@@ -31777,7 +31943,6 @@ enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/co
31777
31943
  @public
31778
31944
  */
31779
31945
 
31780
- exports.arrayControllerDeprecation = arrayControllerDeprecation;
31781
31946
  exports["default"] = _emberRuntimeSystemArray_proxy["default"].extend(_emberRuntimeMixinsController["default"], _emberRuntimeMixinsSortable["default"], {
31782
31947
 
31783
31948
  /**
@@ -32020,6 +32185,7 @@ enifed('ember-runtime/controllers/object_controller', ['exports', 'ember-metal/c
32020
32185
 
32021
32186
  var objectControllerDeprecation = 'Ember.ObjectController is deprecated, ' + 'please use Ember.Controller and use `model.propertyName`.';
32022
32187
 
32188
+ exports.objectControllerDeprecation = objectControllerDeprecation;
32023
32189
  /**
32024
32190
  @module ember
32025
32191
  @submodule ember-runtime
@@ -32040,7 +32206,6 @@ enifed('ember-runtime/controllers/object_controller', ['exports', 'ember-metal/c
32040
32206
  @deprecated
32041
32207
  @public
32042
32208
  **/
32043
- exports.objectControllerDeprecation = objectControllerDeprecation;
32044
32209
  exports["default"] = _emberRuntimeSystemObject_proxy["default"].extend(_emberRuntimeMixinsController["default"], {
32045
32210
  init: function () {
32046
32211
  this._super();
@@ -33918,7 +34083,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/core', 'ember
33918
34083
  @param {Function} callback The callback to execute
33919
34084
  @param {Object} [target] The target object to use
33920
34085
  @return {Object} receiver
33921
- @private
34086
+ @public
33922
34087
  */
33923
34088
  forEach: function (callback, target) {
33924
34089
  if (typeof callback !== 'function') {
@@ -34258,7 +34423,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/core', 'ember
34258
34423
  @param {Function} callback The callback to execute
34259
34424
  @param {Object} [target] The target object to use
34260
34425
  @return {Boolean}
34261
- @private
34426
+ @public
34262
34427
  */
34263
34428
  every: function (callback, target) {
34264
34429
  return !this.find(function (x, idx, i) {
@@ -34511,7 +34676,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/core', 'ember
34511
34676
  ```
34512
34677
  @method compact
34513
34678
  @return {Array} the array without null and undefined elements.
34514
- @private
34679
+ @public
34515
34680
  */
34516
34681
  compact: function () {
34517
34682
  return this.filter(function (value) {
@@ -34530,7 +34695,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/core', 'ember
34530
34695
  @method without
34531
34696
  @param {Object} value
34532
34697
  @return {Ember.Enumerable}
34533
- @private
34698
+ @public
34534
34699
  */
34535
34700
  without: function (value) {
34536
34701
  if (!this.contains(value)) {
@@ -34773,7 +34938,7 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/core', 'ember
34773
34938
  @param {String} property name(s) to sort on
34774
34939
  @return {Array} The sorted array.
34775
34940
  @since 1.2.0
34776
- @private
34941
+ @public
34777
34942
  */
34778
34943
  sortBy: function () {
34779
34944
  var sortKeys = arguments;
@@ -36311,7 +36476,7 @@ enifed("ember-runtime/mixins/sortable", ["exports", "ember-metal/core", "ember-m
36311
36476
  @property arrangedContent
36312
36477
  @private
36313
36478
  */
36314
- arrangedContent: _emberMetalComputed.computed('content', 'sortProperties.@each', {
36479
+ arrangedContent: _emberMetalComputed.computed('content', 'sortProperties.[]', {
36315
36480
  get: function (key) {
36316
36481
  var content = _emberMetalProperty_get.get(this, 'content');
36317
36482
  var isSorted = _emberMetalProperty_get.get(this, 'isSorted');
@@ -36662,7 +36827,7 @@ enifed("ember-runtime/system/array_proxy", ["exports", "ember-metal/core", "embe
36662
36827
  @namespace Ember
36663
36828
  @extends Ember.Object
36664
36829
  @uses Ember.MutableArray
36665
- @private
36830
+ @public
36666
36831
  */
36667
36832
  var ArrayProxy = _emberRuntimeSystemObject["default"].extend(_emberRuntimeMixinsMutable_array["default"], {
36668
36833
 
@@ -38055,6 +38220,7 @@ enifed("ember-runtime/system/lazy_load", ["exports", "ember-metal/core", "ember-
38055
38220
  var loaded = {};
38056
38221
  var _loaded = loaded;
38057
38222
 
38223
+ exports._loaded = _loaded;
38058
38224
  /**
38059
38225
  Detects when a specific package of Ember (e.g. 'Ember.Application')
38060
38226
  has fully loaded and is available for extension.
@@ -38074,7 +38240,6 @@ enifed("ember-runtime/system/lazy_load", ["exports", "ember-metal/core", "ember-
38074
38240
  @param callback {Function} callback to be called
38075
38241
  @private
38076
38242
  */
38077
- exports._loaded = _loaded;
38078
38243
 
38079
38244
  function onLoad(name, callback) {
38080
38245
  var object = loaded[name];
@@ -39456,7 +39621,7 @@ enifed("ember-runtime/system/string", ["exports", "ember-metal/core", "ember-met
39456
39621
  exports.capitalize = capitalize;
39457
39622
  });
39458
39623
  // Ember.STRINGS, Ember.FEATURES
39459
- enifed("ember-runtime/system/subarray", ["exports", "ember-metal/error", "ember-metal/enumerable_utils"], function (exports, _emberMetalError, _emberMetalEnumerable_utils) {
39624
+ enifed("ember-runtime/system/subarray", ["exports", "ember-metal/core", "ember-metal/error", "ember-metal/enumerable_utils"], function (exports, _emberMetalCore, _emberMetalError, _emberMetalEnumerable_utils) {
39460
39625
  "use strict";
39461
39626
 
39462
39627
  var RETAIN = 'r';
@@ -39478,8 +39643,10 @@ enifed("ember-runtime/system/subarray", ["exports", "ember-metal/error", "ember-
39478
39643
  @namespace Ember
39479
39644
  @private
39480
39645
  */
39481
- function SubArray(length) {
39482
- if (arguments.length < 1) {
39646
+ function SubArray(length, _suppressDeprecation) {
39647
+ _emberMetalCore["default"].deprecate('Ember.SubArray will be removed in 2.0.0.', _suppressDeprecation, { id: 'ember-metal.sub-array', until: '2.0.0' });
39648
+
39649
+ if (length === undefined) {
39483
39650
  length = 0;
39484
39651
  }
39485
39652
 
@@ -39630,7 +39797,7 @@ enifed("ember-runtime/system/subarray", ["exports", "ember-metal/error", "ember-
39630
39797
  }
39631
39798
  };
39632
39799
  });
39633
- enifed("ember-runtime/system/tracked_array", ["exports", "ember-metal/property_get", "ember-metal/enumerable_utils"], function (exports, _emberMetalProperty_get, _emberMetalEnumerable_utils) {
39800
+ enifed("ember-runtime/system/tracked_array", ["exports", "ember-metal/core", "ember-metal/property_get", "ember-metal/enumerable_utils"], function (exports, _emberMetalCore, _emberMetalProperty_get, _emberMetalEnumerable_utils) {
39634
39801
  "use strict";
39635
39802
 
39636
39803
  var RETAIN = 'r';
@@ -39650,7 +39817,9 @@ enifed("ember-runtime/system/tracked_array", ["exports", "ember-metal/property_g
39650
39817
  the initial items for the starting state of retain:n.
39651
39818
  @private
39652
39819
  */
39653
- function TrackedArray(items) {
39820
+ function TrackedArray(items, _suppressDeprecation) {
39821
+ _emberMetalCore["default"].deprecate('Ember.TrackedArray will be removed in 2.0.0.', _suppressDeprecation, { id: 'ember-metal.tracked-array', until: '2.0.0' });
39822
+
39654
39823
  if (arguments.length < 1) {
39655
39824
  items = [];
39656
39825
  }
@@ -40110,7 +40279,7 @@ enifed('ember-runtime/utils', ['exports', 'ember-runtime/mixins/array', 'ember-r
40110
40279
  return ret;
40111
40280
  }
40112
40281
  });
40113
- enifed("ember-template-compiler", ["exports", "ember-metal/core", "ember-template-compiler/system/precompile", "ember-template-compiler/system/compile", "ember-template-compiler/system/template", "ember-template-compiler/plugins", "ember-template-compiler/plugins/transform-each-in-to-block-params", "ember-template-compiler/plugins/transform-with-as-to-hash", "ember-template-compiler/plugins/transform-bind-attr-to-attributes", "ember-template-compiler/plugins/transform-each-into-collection", "ember-template-compiler/plugins/transform-single-arg-each", "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-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/deprecate-view-and-controller-paths", "ember-template-compiler/plugins/deprecate-view-helper", "ember-template-compiler/compat"], function (exports, _emberMetalCore, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformEachInToBlockParams, _emberTemplateCompilerPluginsTransformWithAsToHash, _emberTemplateCompilerPluginsTransformBindAttrToAttributes, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformSingleArgEach, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsDeprecateViewAndControllerPaths, _emberTemplateCompilerPluginsDeprecateViewHelper, _emberTemplateCompilerCompat) {
40282
+ enifed("ember-template-compiler", ["exports", "ember-metal/core", "ember-template-compiler/system/precompile", "ember-template-compiler/system/compile", "ember-template-compiler/system/template", "ember-template-compiler/plugins", "ember-template-compiler/plugins/transform-each-in-to-block-params", "ember-template-compiler/plugins/transform-with-as-to-hash", "ember-template-compiler/plugins/transform-bind-attr-to-attributes", "ember-template-compiler/plugins/transform-each-into-collection", "ember-template-compiler/plugins/transform-single-arg-each", "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-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/deprecate-view-and-controller-paths", "ember-template-compiler/plugins/deprecate-view-helper", "ember-template-compiler/plugins/deprecate-with-controller", "ember-template-compiler/plugins/deprecate-unbound-block-and-multi-param", "ember-template-compiler/compat"], function (exports, _emberMetalCore, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformEachInToBlockParams, _emberTemplateCompilerPluginsTransformWithAsToHash, _emberTemplateCompilerPluginsTransformBindAttrToAttributes, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformSingleArgEach, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsDeprecateViewAndControllerPaths, _emberTemplateCompilerPluginsDeprecateViewHelper, _emberTemplateCompilerPluginsDeprecateWithController, _emberTemplateCompilerPluginsDeprecateUnboundBlockAndMultiParam, _emberTemplateCompilerCompat) {
40114
40283
  "use strict";
40115
40284
 
40116
40285
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformWithAsToHash["default"]);
@@ -40127,6 +40296,8 @@ enifed("ember-template-compiler", ["exports", "ember-metal/core", "ember-templat
40127
40296
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformInputOnToOnEvent["default"]);
40128
40297
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateViewAndControllerPaths["default"]);
40129
40298
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateViewHelper["default"]);
40299
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateWithController["default"]);
40300
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateUnboundBlockAndMultiParam["default"]);
40130
40301
 
40131
40302
  exports._Ember = _emberMetalCore["default"];
40132
40303
  exports.precompile = _emberTemplateCompilerSystemPrecompile["default"];
@@ -40206,6 +40377,54 @@ enifed('ember-template-compiler/plugins', ['exports'], function (exports) {
40206
40377
 
40207
40378
  exports["default"] = plugins;
40208
40379
  });
40380
+ enifed('ember-template-compiler/plugins/deprecate-unbound-block-and-multi-param', ['exports', 'ember-metal/core', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalCore, _emberTemplateCompilerSystemCalculateLocationDisplay) {
40381
+ 'use strict';
40382
+
40383
+ function DeprecateUnboundBlockAndMultiParam(options) {
40384
+ // set later within HTMLBars to the syntax package
40385
+ this.syntax = null;
40386
+ this.options = options || {};
40387
+ }
40388
+
40389
+ DeprecateUnboundBlockAndMultiParam.prototype.transform = function (ast) {
40390
+ var pluginContext = this;
40391
+ var walker = new pluginContext.syntax.Walker();
40392
+ var moduleName = pluginContext.options.moduleName;
40393
+
40394
+ walker.visit(ast, function (node) {
40395
+
40396
+ if (pluginContext.isBlockUsage(node)) {
40397
+ var moduleInfo = _emberTemplateCompilerSystemCalculateLocationDisplay["default"](moduleName, node.loc);
40398
+
40399
+ _emberMetalCore["default"].deprecate('Using the {{unbound}} helper with a block ' + moduleInfo + 'is deprecated and will be removed in 2.0.0.', false, {
40400
+ id: 'ember-template-compiler.unbound-block',
40401
+ until: '2.0.0',
40402
+ url: 'http://emberjs.com/deprecations/v1.x/#toc_block-and-multi-argument-unbound-helper'
40403
+ });
40404
+ } else if (pluginContext.hasMultipleParams(node)) {
40405
+ var moduleInfo = _emberTemplateCompilerSystemCalculateLocationDisplay["default"](moduleName, node.loc);
40406
+
40407
+ _emberMetalCore["default"].deprecate('Using the {{unbound}} helper with multiple params ' + moduleInfo + 'is deprecated and will be removed in 2.0.0. Please refactor to nested helper usage.', false, {
40408
+ id: 'ember-template-compiler.unbound-multiple-params',
40409
+ until: '2.0.0',
40410
+ url: 'http://emberjs.com/deprecations/v1.x/#toc_block-and-multi-argument-unbound-helper'
40411
+ });
40412
+ }
40413
+ });
40414
+
40415
+ return ast;
40416
+ };
40417
+
40418
+ DeprecateUnboundBlockAndMultiParam.prototype.isBlockUsage = function (node) {
40419
+ return node.type === 'BlockStatement' && node.path.original === 'unbound';
40420
+ };
40421
+
40422
+ DeprecateUnboundBlockAndMultiParam.prototype.hasMultipleParams = function (node) {
40423
+ return (node.type === 'BlockStatement' || node.type === 'MustacheStatement') && node.path.original === 'unbound' && node.params.length > 1;
40424
+ };
40425
+
40426
+ exports["default"] = DeprecateUnboundBlockAndMultiParam;
40427
+ });
40209
40428
  enifed("ember-template-compiler/plugins/deprecate-view-and-controller-paths", ["exports", "ember-metal/core", "ember-template-compiler/system/calculate-location-display"], function (exports, _emberMetalCore, _emberTemplateCompilerSystemCalculateLocationDisplay) {
40210
40429
  "use strict";
40211
40430
 
@@ -40335,6 +40554,65 @@ enifed("ember-template-compiler/plugins/deprecate-view-helper", ["exports", "emb
40335
40554
 
40336
40555
  exports["default"] = DeprecateViewHelper;
40337
40556
  });
40557
+ enifed('ember-template-compiler/plugins/deprecate-with-controller', ['exports', 'ember-metal/core', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalCore, _emberTemplateCompilerSystemCalculateLocationDisplay) {
40558
+ 'use strict';
40559
+
40560
+ /**
40561
+ @module ember
40562
+ @submodule ember-template-compiler
40563
+ */
40564
+
40565
+ /**
40566
+ An HTMLBars AST transformation that deprecates usage of `controller` with the `{{with}}`
40567
+ helper.
40568
+
40569
+ @private
40570
+ @class DeprecateWithController
40571
+ */
40572
+ function DeprecateWithController(options) {
40573
+ // set later within HTMLBars to the syntax package
40574
+ this.syntax = null;
40575
+ this.options = options || {};
40576
+ }
40577
+
40578
+ /**
40579
+ @private
40580
+ @method transform
40581
+ @param {AST} ast The AST to be transformed.
40582
+ */
40583
+ DeprecateWithController.prototype.transform = function DeprecateWithController_transform(ast) {
40584
+ var pluginContext = this;
40585
+ var walker = new pluginContext.syntax.Walker();
40586
+ var moduleName = pluginContext.options.moduleName;
40587
+
40588
+ walker.visit(ast, function (node) {
40589
+ if (pluginContext.validate(node)) {
40590
+ var moduleInfo = _emberTemplateCompilerSystemCalculateLocationDisplay["default"](moduleName, node.loc);
40591
+
40592
+ _emberMetalCore["default"].deprecate('Using the {{with}} helper with a `controller` specified ' + moduleInfo + 'is deprecated and will be removed in 2.0.0.', false, { id: 'ember-template-compiler.with-controller', until: '2.0.0' });
40593
+ }
40594
+ });
40595
+
40596
+ return ast;
40597
+ };
40598
+
40599
+ DeprecateWithController.prototype.validate = function TransformWithAsToHash_validate(node) {
40600
+ return (node.type === 'BlockStatement' || node.type === 'MustacheStatement') && node.path.original === 'with' && hashPairForKey(node.hash, 'controller');
40601
+ };
40602
+
40603
+ function hashPairForKey(hash, key) {
40604
+ for (var i = 0, l = hash.pairs.length; i < l; i++) {
40605
+ var pair = hash.pairs[i];
40606
+ if (pair.key === key) {
40607
+ return pair;
40608
+ }
40609
+ }
40610
+
40611
+ return false;
40612
+ }
40613
+
40614
+ exports["default"] = DeprecateWithController;
40615
+ });
40338
40616
  enifed('ember-template-compiler/plugins/transform-angle-bracket-components', ['exports'], function (exports) {
40339
40617
  'use strict';
40340
40618
 
@@ -41437,7 +41715,7 @@ enifed("ember-template-compiler/system/compile_options", ["exports", "ember-meta
41437
41715
 
41438
41716
  options.buildMeta = function buildMeta(program) {
41439
41717
  return {
41440
- revision: 'Ember@1.13.6',
41718
+ revision: 'Ember@1.13.7',
41441
41719
  loc: program.loc,
41442
41720
  moduleName: options.moduleName
41443
41721
  };
@@ -42797,13 +43075,13 @@ enifed("ember-views", ["exports", "ember-runtime", "ember-views/system/jquery",
42797
43075
  exports["default"] = _emberRuntime["default"];
42798
43076
  });
42799
43077
  // for the side effect of extending Ember.run.queues
42800
- enifed("ember-views/compat/attrs-proxy", ["exports", "ember-metal/property_get", "ember-metal/mixin", "ember-metal/events", "ember-metal/utils", "ember-metal/keys", "ember-metal/property_events", "ember-metal/observer"], function (exports, _emberMetalProperty_get, _emberMetalMixin, _emberMetalEvents, _emberMetalUtils, _emberMetalKeys, _emberMetalProperty_events, _emberMetalObserver) {
42801
- "use strict";
43078
+ enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember-metal/utils', 'ember-metal/property_events', 'ember-metal/events'], function (exports, _emberMetalMixin, _emberMetalUtils, _emberMetalProperty_events, _emberMetalEvents) {
43079
+ 'use strict';
42802
43080
 
42803
43081
  exports.deprecation = deprecation;
42804
43082
 
42805
43083
  function deprecation(key) {
42806
- return "You tried to look up an attribute directly on the component. This is deprecated. Use attrs." + key + " instead.";
43084
+ return 'You tried to look up an attribute directly on the component. This is deprecated. Use attrs.' + key + ' instead.';
42807
43085
  }
42808
43086
 
42809
43087
  var MUTABLE_CELL = _emberMetalUtils.symbol("MUTABLE_CELL");
@@ -42813,16 +43091,6 @@ enifed("ember-views/compat/attrs-proxy", ["exports", "ember-metal/property_get",
42813
43091
  return val && val[MUTABLE_CELL];
42814
43092
  }
42815
43093
 
42816
- function attrsWillChange(view, attrsKey) {
42817
- var key = attrsKey.slice(6);
42818
- view.currentState.legacyAttrWillChange(view, key);
42819
- }
42820
-
42821
- function attrsDidChange(view, attrsKey) {
42822
- var key = attrsKey.slice(6);
42823
- view.currentState.legacyAttrDidChange(view, key);
42824
- }
42825
-
42826
43094
  var AttrsProxyMixin = {
42827
43095
  attrs: null,
42828
43096
 
@@ -42844,60 +43112,45 @@ enifed("ember-views/compat/attrs-proxy", ["exports", "ember-metal/property_get",
42844
43112
  var val = attrs[key];
42845
43113
 
42846
43114
  if (!isCell(val)) {
42847
- throw new Error("You can't update attrs." + key + ", because it's not mutable");
43115
+ throw new Error('You can\'t update attrs.' + key + ', because it\'s not mutable');
42848
43116
  }
42849
43117
 
42850
43118
  val.update(value);
42851
43119
  },
42852
43120
 
42853
- willWatchProperty: function (key) {
42854
- if (this._isAngleBracket || key === 'attrs') {
42855
- return;
43121
+ _propagateAttrsToThis: function () {
43122
+ var attrs = this.attrs;
43123
+ var values = {};
43124
+ for (var prop in attrs) {
43125
+ if (prop !== 'attrs') {
43126
+ values[prop] = this.getAttr(prop);
43127
+ }
42856
43128
  }
42857
-
42858
- var attrsKey = "attrs." + key;
42859
- _emberMetalObserver._addBeforeObserver(this, attrsKey, null, attrsWillChange);
42860
- _emberMetalObserver.addObserver(this, attrsKey, null, attrsDidChange);
43129
+ this.setProperties(values);
42861
43130
  },
42862
43131
 
42863
- didUnwatchProperty: function (key) {
42864
- if (this._isAngleBracket || key === 'attrs') {
42865
- return;
42866
- }
43132
+ initializeShape: _emberMetalEvents.on('init', function () {
43133
+ this._isDispatchingAttrs = false;
43134
+ }),
42867
43135
 
42868
- var attrsKey = "attrs." + key;
42869
- _emberMetalObserver._removeBeforeObserver(this, attrsKey, null, attrsWillChange);
42870
- _emberMetalObserver.removeObserver(this, attrsKey, null, attrsDidChange);
43136
+ didReceiveAttrs: function () {
43137
+ this._super();
43138
+ this._isDispatchingAttrs = true;
43139
+ this._propagateAttrsToThis();
43140
+ this._isDispatchingAttrs = false;
42871
43141
  },
42872
43142
 
42873
- legacyDidReceiveAttrs: _emberMetalEvents.on('didReceiveAttrs', function () {
42874
- if (this._isAngleBracket) {
42875
- return;
42876
- }
42877
-
42878
- var keys = _emberMetalKeys["default"](this.attrs);
42879
-
42880
- for (var i = 0, l = keys.length; i < l; i++) {
42881
- // Only issue the deprecation if it wasn't already issued when
42882
- // setting attributes initially.
42883
- if (!(keys[i] in this)) {
42884
- this.notifyPropertyChange(keys[i]);
42885
- }
42886
- }
42887
- }),
42888
-
42889
43143
  unknownProperty: function (key) {
42890
43144
  if (this._isAngleBracket) {
42891
43145
  return;
42892
43146
  }
42893
43147
 
42894
- var attrs = _emberMetalProperty_get.get(this, 'attrs');
43148
+ var attrs = this.attrs;
42895
43149
 
42896
43150
  if (attrs && key in attrs) {
42897
43151
  // do not deprecate accessing `this[key]` at this time.
42898
43152
  // add this back when we have a proper migration path
42899
- // Ember.deprecate(deprecation(key));
42900
- var possibleCell = _emberMetalProperty_get.get(attrs, key);
43153
+ var possibleCell = attrs.key;
42901
43154
 
42902
43155
  if (possibleCell && possibleCell[MUTABLE_CELL]) {
42903
43156
  return possibleCell.value;
@@ -42916,6 +43169,9 @@ enifed("ember-views/compat/attrs-proxy", ["exports", "ember-metal/property_get",
42916
43169
  if (this._isAngleBracket) {
42917
43170
  return;
42918
43171
  }
43172
+ if (this._isDispatchingAttrs) {
43173
+ return;
43174
+ }
42919
43175
 
42920
43176
  if (this.currentState) {
42921
43177
  this.currentState.legacyPropertyDidChange(this, key);
@@ -42924,10 +43180,6 @@ enifed("ember-views/compat/attrs-proxy", ["exports", "ember-metal/property_get",
42924
43180
 
42925
43181
  exports["default"] = _emberMetalMixin.Mixin.create(AttrsProxyMixin);
42926
43182
  });
42927
-
42928
- //import { set } from "ember-metal/property_set";
42929
-
42930
- //import run from "ember-metal/run_loop";
42931
43183
  enifed("ember-views/compat/metamorph_view", ["exports", "ember-metal/core", "ember-views/views/view", "ember-metal/mixin"], function (exports, _emberMetalCore, _emberViewsViewsView, _emberMetalMixin) {
42932
43184
  /*jshint newcap:false*/
42933
43185
  "use strict";
@@ -42959,6 +43211,7 @@ enifed("ember-views/compat/metamorph_view", ["exports", "ember-metal/core", "emb
42959
43211
  }
42960
43212
  });
42961
43213
 
43214
+ exports._Metamorph = _Metamorph;
42962
43215
  /**
42963
43216
  @class _MetamorphView
42964
43217
  @namespace Ember
@@ -42966,7 +43219,6 @@ enifed("ember-views/compat/metamorph_view", ["exports", "ember-metal/core", "emb
42966
43219
  @uses Ember._Metamorph
42967
43220
  @private
42968
43221
  */
42969
- exports._Metamorph = _Metamorph;
42970
43222
  exports["default"] = _emberViewsViewsView["default"].extend(_Metamorph, {
42971
43223
  __metamorphType: 'Ember._MetamorphView'
42972
43224
  });
@@ -45342,10 +45594,11 @@ enifed("ember-views/system/build-component-template", ["exports", "htmlbars-runt
45342
45594
 
45343
45595
  var _className$split = className.split(':');
45344
45596
 
45345
- // Legacy :class microsyntax for static class names
45346
45597
  var propName = _className$split[0];
45347
45598
  var activeClass = _className$split[1];
45348
45599
  var inactiveClass = _className$split[2];
45600
+
45601
+ // Legacy :class microsyntax for static class names
45349
45602
  if (propName === '') {
45350
45603
  output.push(activeClass);
45351
45604
  continue;
@@ -46433,7 +46686,7 @@ enifed("ember-views/views/component", ["exports", "ember-metal/core", "ember-vie
46433
46686
  @property template
46434
46687
  @public
46435
46688
  */
46436
- template: _emberMetalComputed.computed('_template', {
46689
+ template: _emberMetalComputed.computed({
46437
46690
  get: function () {
46438
46691
  _emberMetalCore["default"].deprecate("Accessing 'template' in " + this + " is deprecated. To determine if a block was specified to " + this + " please use '{{#if hasBlock}}' in the components layout.");
46439
46692
 
@@ -46445,7 +46698,7 @@ enifed("ember-views/views/component", ["exports", "ember-metal/core", "ember-vie
46445
46698
  }
46446
46699
  }),
46447
46700
 
46448
- _template: _emberMetalComputed.computed('templateName', {
46701
+ _template: _emberMetalComputed.computed({
46449
46702
  get: function () {
46450
46703
  if (_emberMetalProperty_get.get(this, '_deprecatedFlagForBlockProvided')) {
46451
46704
  return true;
@@ -46685,7 +46938,7 @@ enifed("ember-views/views/component", ["exports", "ember-metal/core", "ember-vie
46685
46938
  enifed("ember-views/views/container_view", ["exports", "ember-metal/core", "ember-runtime/mixins/mutable_array", "ember-views/views/view", "ember-metal/property_get", "ember-metal/property_set", "ember-metal/enumerable_utils", "ember-metal/mixin", "ember-metal/events", "ember-htmlbars/templates/container-view"], function (exports, _emberMetalCore, _emberRuntimeMixinsMutable_array, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalEnumerable_utils, _emberMetalMixin, _emberMetalEvents, _emberHtmlbarsTemplatesContainerView) {
46686
46939
  "use strict";
46687
46940
 
46688
- _emberHtmlbarsTemplatesContainerView["default"].meta.revision = 'Ember@1.13.6';
46941
+ _emberHtmlbarsTemplatesContainerView["default"].meta.revision = 'Ember@1.13.7';
46689
46942
 
46690
46943
  /**
46691
46944
  @module ember
@@ -47657,7 +47910,7 @@ enifed("ember-views/views/select", ["exports", "ember-metal/enumerable_utils", "
47657
47910
  });
47658
47911
 
47659
47912
  return groupedContent;
47660
- }).property('optionGroupPath', 'content.@each'),
47913
+ }).property('optionGroupPath', 'content.[]'),
47661
47914
 
47662
47915
  /**
47663
47916
  The view class for option.
@@ -47676,7 +47929,7 @@ enifed("ember-views/views/select", ["exports", "ember-metal/enumerable_utils", "
47676
47929
  }
47677
47930
  },
47678
47931
 
47679
- selectionDidChange: _emberMetalMixin.observer('selection.@each', function () {
47932
+ selectionDidChange: _emberMetalMixin.observer('selection.[]', function () {
47680
47933
  var selection = _emberMetalProperty_get.get(this, 'selection');
47681
47934
  if (_emberMetalProperty_get.get(this, 'multiple')) {
47682
47935
  if (!_emberRuntimeUtils.isArray(selection)) {
@@ -47914,7 +48167,7 @@ enifed("ember-views/views/states", ["exports", "ember-metal/platform/create", "e
47914
48167
  };
47915
48168
  exports.states = states;
47916
48169
  });
47917
- enifed("ember-views/views/states/default", ["exports", "ember-metal/error", "ember-metal/property_get", "ember-metal/property_events", "ember-views/compat/attrs-proxy"], function (exports, _emberMetalError, _emberMetalProperty_get, _emberMetalProperty_events, _emberViewsCompatAttrsProxy) {
48170
+ enifed("ember-views/views/states/default", ["exports", "ember-metal/error", "ember-metal/property_get", "ember-views/compat/attrs-proxy"], function (exports, _emberMetalError, _emberMetalProperty_get, _emberViewsCompatAttrsProxy) {
47918
48171
  "use strict";
47919
48172
 
47920
48173
  /**
@@ -47935,21 +48188,8 @@ enifed("ember-views/views/states/default", ["exports", "ember-metal/error", "emb
47935
48188
  return null;
47936
48189
  },
47937
48190
 
47938
- legacyAttrWillChange: function (view, key) {
47939
- if (key in view.attrs && !(key in view)) {
47940
- _emberMetalProperty_events.propertyWillChange(view, key);
47941
- }
47942
- },
47943
-
47944
- legacyAttrDidChange: function (view, key) {
47945
- if (key in view.attrs && !(key in view)) {
47946
- _emberMetalProperty_events.propertyDidChange(view, key);
47947
- }
47948
- },
47949
-
47950
48191
  legacyPropertyDidChange: function (view, key) {
47951
48192
  var attrs = view.attrs;
47952
-
47953
48193
  if (attrs && key in attrs) {
47954
48194
  var possibleCell = attrs[key];
47955
48195
 
@@ -48139,8 +48379,6 @@ enifed("ember-views/views/states/pre_render", ["exports", "ember-views/views/sta
48139
48379
  var preRender = _emberMetalPlatformCreate["default"](_emberViewsViewsStatesDefault["default"]);
48140
48380
 
48141
48381
  _emberMetalMerge["default"](preRender, {
48142
- legacyAttrWillChange: function (view, key) {},
48143
- legacyAttrDidChange: function (view, key) {},
48144
48382
  legacyPropertyDidChange: function (view, key) {}
48145
48383
  });
48146
48384
 
@@ -49007,8 +49245,7 @@ enifed("ember-views/views/view", ["exports", "ember-metal/core", "ember-runtime/
49007
49245
  @type Function
49008
49246
  @private
49009
49247
  */
49010
-
49011
- template: _emberMetalComputed.computed('templateName', {
49248
+ template: _emberMetalComputed.computed({
49012
49249
  get: function () {
49013
49250
  var templateName = _emberMetalProperty_get.get(this, 'templateName');
49014
49251
  var template = this.templateForName(templateName, 'template');
@@ -49036,7 +49273,7 @@ enifed("ember-views/views/view", ["exports", "ember-metal/core", "ember-runtime/
49036
49273
  @type Function
49037
49274
  @public
49038
49275
  */
49039
- layout: _emberMetalComputed.computed('layoutName', {
49276
+ layout: _emberMetalComputed.computed({
49040
49277
  get: function (key) {
49041
49278
  var layoutName = _emberMetalProperty_get.get(this, 'layoutName');
49042
49279
  var layout = this.templateForName(layoutName, 'layout');
@@ -49552,6 +49789,10 @@ enifed("ember-views/views/view", ["exports", "ember-metal/core", "ember-runtime/
49552
49789
  if (!this._viewRegistry) {
49553
49790
  this._viewRegistry = View.views;
49554
49791
  }
49792
+
49793
+ this.renderer.componentInitAttrs(this, this.attrs || {});
49794
+
49795
+ _emberMetalCore["default"].deprecate('Using a custom `.render` function is deprecated and will be removed in Ember 2.0.0.', !this.render, { id: 'ember-views.render', until: '2.0.0' });
49555
49796
  },
49556
49797
 
49557
49798
  __defineNonEnumerable: function (property) {
@@ -49752,22 +49993,23 @@ enifed("ember-views/views/view", ["exports", "ember-metal/core", "ember-runtime/
49752
49993
  mutation.trigger('change');
49753
49994
  };
49754
49995
 
49755
- /**
49756
- Global views hash
49757
-
49758
- @property views
49759
- @static
49760
- @type Object
49761
- @private
49762
- */
49763
- View.views = {};
49996
+ View.reopenClass({
49997
+ /**
49998
+ Global views hash
49999
+ @property views
50000
+ @static
50001
+ @type Object
50002
+ @private
50003
+ */
50004
+ views: {},
49764
50005
 
49765
- // If someone overrides the child views computed property when
49766
- // defining their class, we want to be able to process the user's
49767
- // supplied childViews and then restore the original computed property
49768
- // at view initialization time. This happens in Ember.ContainerView's init
49769
- // method.
49770
- View.childViewsProperty = _emberViewsMixinsView_child_views_support.childViewsProperty;
50006
+ // If someone overrides the child views computed property when
50007
+ // defining their class, we want to be able to process the user's
50008
+ // supplied childViews and then restore the original computed property
50009
+ // at view initialization time. This happens in Ember.ContainerView's init
50010
+ // method.
50011
+ childViewsProperty: _emberViewsMixinsView_child_views_support.childViewsProperty
50012
+ });
49771
50013
 
49772
50014
  function viewDeprecationMessage() {
49773
50015
  _emberMetalCore["default"].deprecate("Ember.View is deprecated. Consult the Deprecations Guide for a migration strategy.", !!_emberMetalCore["default"].ENV._ENABLE_LEGACY_VIEW_SUPPORT, {
@@ -50382,7 +50624,7 @@ enifed("htmlbars-runtime/hooks", ["exports", "./render", "../morph-range/morph-l
50382
50624
  var handledMorphs = renderState.handledMorphs;
50383
50625
  var key = undefined;
50384
50626
 
50385
- if (handledMorphs[_key]) {
50627
+ if (_key in handledMorphs) {
50386
50628
  // In this branch we are dealing with a duplicate key. The strategy
50387
50629
  // is to take the original key and append a counter to it that is
50388
50630
  // incremented every time the key is reused. In order to greatly
@@ -51010,6 +51252,7 @@ enifed("htmlbars-runtime/hooks", ["exports", "./render", "../morph-range/morph-l
51010
51252
 
51011
51253
  };
51012
51254
 
51255
+ exports.keywords = keywords;
51013
51256
  /**
51014
51257
  Host Hook: partial
51015
51258
 
@@ -51036,7 +51279,6 @@ enifed("htmlbars-runtime/hooks", ["exports", "./render", "../morph-range/morph-l
51036
51279
  The host hook should invoke the referenced partial with
51037
51280
  the ambient `self`.
51038
51281
  */
51039
- exports.keywords = keywords;
51040
51282
 
51041
51283
  function partial(renderNode, env, scope, path) {
51042
51284
  var template = env.partials[path];
@@ -51833,10 +52075,10 @@ enifed('htmlbars-util/handlebars/utils', ['exports'], function (exports) {
51833
52075
 
51834
52076
  var toString = Object.prototype.toString;
51835
52077
 
52078
+ exports.toString = toString;
51836
52079
  // Sourced from lodash
51837
52080
  // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
51838
52081
  /*eslint-disable func-style, no-var */
51839
- exports.toString = toString;
51840
52082
  var isFunction = function (value) {
51841
52083
  return typeof value === 'function';
51842
52084
  };
@@ -51848,16 +52090,16 @@ enifed('htmlbars-util/handlebars/utils', ['exports'], function (exports) {
51848
52090
  };
51849
52091
  }
51850
52092
  var isFunction;
52093
+ exports.isFunction = isFunction;
51851
52094
  /*eslint-enable func-style, no-var */
51852
52095
 
51853
52096
  /* istanbul ignore next */
51854
- exports.isFunction = isFunction;
51855
52097
  var isArray = Array.isArray || function (value) {
51856
52098
  return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;
51857
52099
  };
51858
52100
 
51859
- // Older IE versions do not directly support indexOf so we must implement our own, sadly.
51860
52101
  exports.isArray = isArray;
52102
+ // Older IE versions do not directly support indexOf so we must implement our own, sadly.
51861
52103
 
51862
52104
  function indexOf(array, value) {
51863
52105
  for (var i = 0, len = array.length; i < len; i++) {
@@ -55422,12 +55664,12 @@ enifed('router/utils', ['exports'], function (exports) {
55422
55664
  return new F();
55423
55665
  };
55424
55666
 
55667
+ exports.oCreate = oCreate;
55425
55668
  /**
55426
55669
  @private
55427
55670
 
55428
55671
  Extracts query params from the end of an array
55429
55672
  **/
55430
- exports.oCreate = oCreate;
55431
55673
 
55432
55674
  function extractQueryParams(array) {
55433
55675
  var len = array && array.length,
@@ -58231,9 +58473,9 @@ enifed('rsvp/utils', ['exports'], function (exports) {
58231
58473
 
58232
58474
  var isArray = _isArray;
58233
58475
 
58476
+ exports.isArray = isArray;
58234
58477
  // Date.now is not available in browsers < IE9
58235
58478
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now#Compatibility
58236
- exports.isArray = isArray;
58237
58479
  var now = Date.now || function () {
58238
58480
  return new Date().getTime();
58239
58481
  };