ember-source 1.13.6 → 1.13.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

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() {
@@ -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
  };