ember-source 1.13.7 → 1.13.8

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.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a2a8fda278c386217bfe60afa10c663a34bbd30
4
- data.tar.gz: b486e14a07c3ff3fcad4579dbc4b2d2dc238df93
3
+ metadata.gz: 8d1c240e17a2b44a0b3592dd468f250d1940a01e
4
+ data.tar.gz: 09e7b6a99a1a64297246fd6c09cd6bf65b410bc7
5
5
  SHA512:
6
- metadata.gz: c2b9c2ffdac90557880691360270bd52675269a94450830d07961a08d06ac76f8a63c08dd4e1c368b9a7245073e53b0c13947c62ea505438450f4d00ef9964ec
7
- data.tar.gz: 688a3b778193a4816d1a9abf7b302056a5c18d9b745b4829fd9c29fa2ab59450be70f42b82f3eb05bb6554609bb48a9efb4808fb4be72bd6929f1b0154d06ae5
6
+ metadata.gz: 7651c1ecf7b35612228674d5bfd6c7a85a606273f0ee5afe157b00a7b634bd6bd0f38b7f63c5cc7e4983ffc927ad61438dfbfa1e92b31dd0a5b150e81492a670
7
+ data.tar.gz: 25f939282d7d8603ebf5a71abf28a3ad24dc82b622c011341767c5c66ac058d3befc6c38f737fb28d55636d49e71c902f94ef3dbe7ba47a9f0cfc27e805248be
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.13.7
1
+ 1.13.8
@@ -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.7
8
+ * @version 1.13.8
9
9
  */
10
10
 
11
11
  (function() {
@@ -3299,7 +3299,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
3299
3299
 
3300
3300
  @class Ember
3301
3301
  @static
3302
- @version 1.13.7
3302
+ @version 1.13.8
3303
3303
  @public
3304
3304
  */
3305
3305
 
@@ -3333,11 +3333,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
3333
3333
 
3334
3334
  @property VERSION
3335
3335
  @type String
3336
- @default '1.13.7'
3336
+ @default '1.13.8'
3337
3337
  @static
3338
3338
  @public
3339
3339
  */
3340
- Ember.VERSION = '1.13.7';
3340
+ Ember.VERSION = '1.13.8';
3341
3341
 
3342
3342
  /**
3343
3343
  The hash of environment variables used to control various configuration
@@ -10246,6 +10246,9 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
10246
10246
  */
10247
10247
 
10248
10248
  function guidFor(obj) {
10249
+ if (obj && obj[GUID_KEY]) {
10250
+ return obj[GUID_KEY];
10251
+ }
10249
10252
 
10250
10253
  // special cases where we don't want to add a key to object
10251
10254
  if (obj === undefined) {
@@ -10283,10 +10286,6 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
10283
10286
  return obj ? '(true)' : '(false)';
10284
10287
 
10285
10288
  default:
10286
- if (obj[GUID_KEY]) {
10287
- return obj[GUID_KEY];
10288
- }
10289
-
10290
10289
  if (obj === Object) {
10291
10290
  return '(Object)';
10292
10291
  }
@@ -12641,7 +12640,7 @@ enifed("ember-template-compiler/system/compile_options", ["exports", "ember-meta
12641
12640
 
12642
12641
  options.buildMeta = function buildMeta(program) {
12643
12642
  return {
12644
- revision: 'Ember@1.13.7',
12643
+ revision: 'Ember@1.13.8',
12645
12644
  loc: program.loc,
12646
12645
  moduleName: options.moduleName
12647
12646
  };
@@ -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.7
8
+ * @version 1.13.8
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.7
8
+ * @version 1.13.8
9
9
  */
10
10
 
11
11
  (function() {
@@ -3774,7 +3774,9 @@ enifed("ember-application/system/application-instance", ["exports", "ember-metal
3774
3774
  */
3775
3775
  setupEventDispatcher: function () {
3776
3776
  var dispatcher = this.container.lookup('event_dispatcher:main');
3777
- dispatcher.setup(this.customEvents, this.rootElement);
3777
+ var applicationCustomEvents = _emberMetalProperty_get.get(this.application, 'customEvents');
3778
+
3779
+ dispatcher.setup(applicationCustomEvents, this.rootElement);
3778
3780
 
3779
3781
  return dispatcher;
3780
3782
  },
@@ -4061,7 +4063,7 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
4061
4063
  */
4062
4064
  buildInstance: function () {
4063
4065
  return _emberApplicationSystemApplicationInstance["default"].create({
4064
- customEvents: _emberMetalProperty_get.get(this, 'customEvents'),
4066
+ application: this,
4065
4067
  rootElement: _emberMetalProperty_get.get(this, 'rootElement'),
4066
4068
  applicationRegistry: this.registry
4067
4069
  });
@@ -4496,7 +4498,13 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
4496
4498
  instanceInitializers: _emberMetalPlatformCreate["default"](null),
4497
4499
 
4498
4500
  /**
4499
- Initializer receives an object which has the following attributes:
4501
+ The goal of initializers should be to register dependencies and injections.
4502
+ This phase runs once. Because these initializers may load code, they are
4503
+ allowed to defer application readiness and advance it. If you need to access
4504
+ the container or store you should use an InstanceInitializer that will be run
4505
+ after all initializers and therefore after all code is loaded and the app is
4506
+ ready.
4507
+ Initializer receives an object which has the following attributes:
4500
4508
  `name`, `before`, `after`, `initialize`. The only required attribute is
4501
4509
  `initialize`, all others are optional.
4502
4510
  * `name` allows you to specify under which name the initializer is registered.
@@ -4571,6 +4579,7 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
4571
4579
  ```javascript
4572
4580
  Ember.Application.initializer({
4573
4581
  name: 'preload-data',
4582
+ after: 'ember-data', // ember-data must be loaded before we can access store
4574
4583
  initialize: function(container, application) {
4575
4584
  var store = container.lookup('store:main');
4576
4585
  store.pushPayload(preloadedData);
@@ -4589,7 +4598,62 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
4589
4598
  @method initializer
4590
4599
  @param initializer {Object}
4591
4600
  @public
4592
- */
4601
+ */
4602
+
4603
+ /**
4604
+ InstanceInitializers run after all initializers have run. Because
4605
+ instanceInitializers run after the app is fully set up. We have access
4606
+ to the store, container, and other items. However, these initializers run
4607
+ after code has loaded and are not allowed to defer readiness.
4608
+ InstanceInitializer receives an object which has the following attributes:
4609
+ `name`, `before`, `after`, `initialize`. The only required attribute is
4610
+ `initialize`, all others are optional.
4611
+ * `name` allows you to specify under which name the instanceInitializer is
4612
+ registered. This must be a unique name, as trying to register two
4613
+ instanceInitializer with the same name will result in an error.
4614
+ ```javascript
4615
+ Ember.Application.instanceInitializer({
4616
+ name: 'namedinstanceInitializer',
4617
+ initialize: function(application) {
4618
+ Ember.debug('Running namedInitializer!');
4619
+ }
4620
+ });
4621
+ ```
4622
+ * `before` and `after` are used to ensure that this initializer is ran prior
4623
+ or after the one identified by the value. This value can be a single string
4624
+ or an array of strings, referencing the `name` of other initializers.
4625
+ * See Ember.Application.initializer for discussion on the usage of before
4626
+ and after.
4627
+ Example instanceInitializer to preload data into the store.
4628
+ ```javascript
4629
+ Ember.Application.initializer({
4630
+ name: 'preload-data',
4631
+ initialize: function(application) {
4632
+ var userConfig, userConfigEncoded, store;
4633
+ // We have a HTML escaped JSON representation of the user's basic
4634
+ // configuration generated server side and stored in the DOM of the main
4635
+ // index.html file. This allows the app to have access to a set of data
4636
+ // without making any additional remote calls. Good for basic data that is
4637
+ // needed for immediate rendering of the page. Keep in mind, this data,
4638
+ // like all local models and data can be manipulated by the user, so it
4639
+ // should not be relied upon for security or authorization.
4640
+ //
4641
+ // Grab the encoded data from the meta tag
4642
+ userConfigEncoded = Ember.$('head meta[name=app-user-config]').attr('content');
4643
+ // Unescape the text, then parse the resulting JSON into a real object
4644
+ userConfig = JSON.parse(unescape(userConfigEncoded));
4645
+ // Lookup the store
4646
+ store = application.container.lookup('service:store');
4647
+ // Push the encoded JSON into the store
4648
+ store.pushPayload(userConfig);
4649
+ }
4650
+ });
4651
+ ```
4652
+ @method instanceInitializer
4653
+ @param instanceInitializer
4654
+ @public
4655
+ */
4656
+
4593
4657
  initializer: buildInitializerMethod('initializers', 'initializer'),
4594
4658
 
4595
4659
  /**
@@ -8337,6 +8401,8 @@ enifed("ember-htmlbars/hooks/link-render-node", ["exports", "ember-htmlbars/util
8337
8401
  params[0] = shouldDisplay(params[0]);break;
8338
8402
  case 'each':
8339
8403
  params[0] = eachParam(params[0]);break;
8404
+ case '@content-helper':
8405
+ break;
8340
8406
  default:
8341
8407
  helper = _emberHtmlbarsSystemLookupHelper.findHelper(path, env.view, env);
8342
8408
 
@@ -8614,11 +8680,135 @@ enifed("ember-htmlbars/keywords", ["exports", "htmlbars-runtime", "ember-metal/p
8614
8680
  enifed("ember-htmlbars/keywords/collection", ["exports", "ember-views/streams/utils", "ember-views/views/collection_view", "ember-htmlbars/node-managers/view-node-manager", "ember-metal/keys", "ember-metal/merge"], function (exports, _emberViewsStreamsUtils, _emberViewsViewsCollection_view, _emberHtmlbarsNodeManagersViewNodeManager, _emberMetalKeys, _emberMetalMerge) {
8615
8681
  /**
8616
8682
  @module ember
8617
- @submodule ember-htmlbars
8683
+ @submodule ember-templates
8618
8684
  */
8619
8685
 
8620
8686
  "use strict";
8621
8687
 
8688
+ /**
8689
+ `{{collection}}` is a template helper for adding instances of
8690
+ `Ember.CollectionView` to a template. See [Ember.CollectionView](/api/classes/Ember.CollectionView.html)
8691
+ for additional information on how a `CollectionView` functions.
8692
+
8693
+ `{{collection}}`'s primary use is as a block helper with a `contentBinding`
8694
+ option pointing towards an `Ember.Array`-compatible object. An `Ember.View`
8695
+ instance will be created for each item in its `content` property. Each view
8696
+ will have its own `content` property set to the appropriate item in the
8697
+ collection.
8698
+
8699
+ The provided block will be applied as the template for each item's view.
8700
+
8701
+ Given an empty `<body>` the following template:
8702
+
8703
+ ```handlebars
8704
+ {{! application.hbs }}
8705
+ {{#collection content=model}}
8706
+ Hi {{view.content.name}}
8707
+ {{/collection}}
8708
+ ```
8709
+
8710
+ And the following application code
8711
+
8712
+ ```javascript
8713
+ App = Ember.Application.create();
8714
+ App.ApplicationRoute = Ember.Route.extend({
8715
+ model: function() {
8716
+ return [{name: 'Yehuda'},{name: 'Tom'},{name: 'Peter'}];
8717
+ }
8718
+ });
8719
+ ```
8720
+
8721
+ The following HTML will result:
8722
+
8723
+ ```html
8724
+ <div class="ember-view">
8725
+ <div class="ember-view">Hi Yehuda</div>
8726
+ <div class="ember-view">Hi Tom</div>
8727
+ <div class="ember-view">Hi Peter</div>
8728
+ </div>
8729
+ ```
8730
+
8731
+ ### Non-block version of collection
8732
+
8733
+ If you provide an `itemViewClass` option that has its own `template` you may
8734
+ omit the block.
8735
+
8736
+ The following template:
8737
+
8738
+ ```handlebars
8739
+ {{! application.hbs }}
8740
+ {{collection content=model itemViewClass="an-item"}}
8741
+ ```
8742
+
8743
+ And application code
8744
+
8745
+ ```javascript
8746
+ App = Ember.Application.create();
8747
+ App.ApplicationRoute = Ember.Route.extend({
8748
+ model: function() {
8749
+ return [{name: 'Yehuda'},{name: 'Tom'},{name: 'Peter'}];
8750
+ }
8751
+ });
8752
+
8753
+ App.AnItemView = Ember.View.extend({
8754
+ template: Ember.Handlebars.compile("Greetings {{view.content.name}}")
8755
+ });
8756
+ ```
8757
+
8758
+ Will result in the HTML structure below
8759
+
8760
+ ```html
8761
+ <div class="ember-view">
8762
+ <div class="ember-view">Greetings Yehuda</div>
8763
+ <div class="ember-view">Greetings Tom</div>
8764
+ <div class="ember-view">Greetings Peter</div>
8765
+ </div>
8766
+ ```
8767
+
8768
+ ### Specifying a CollectionView subclass
8769
+
8770
+ By default the `{{collection}}` helper will create an instance of
8771
+ `Ember.CollectionView`. You can supply a `Ember.CollectionView` subclass to
8772
+ the helper by passing it as the first argument:
8773
+
8774
+ ```handlebars
8775
+ {{#collection "my-custom-collection" content=model}}
8776
+ Hi {{view.content.name}}
8777
+ {{/collection}}
8778
+ ```
8779
+
8780
+ This example would look for the class `App.MyCustomCollection`.
8781
+
8782
+ ### Forwarded `item.*`-named Options
8783
+
8784
+ As with the `{{view}}`, helper options passed to the `{{collection}}` will be
8785
+ set on the resulting `Ember.CollectionView` as properties. Additionally,
8786
+ options prefixed with `item` will be applied to the views rendered for each
8787
+ item (note the camelcasing):
8788
+
8789
+ ```handlebars
8790
+ {{#collection content=model
8791
+ itemTagName="p"
8792
+ itemClassNames="greeting"}}
8793
+ Howdy {{view.content.name}}
8794
+ {{/collection}}
8795
+ ```
8796
+
8797
+ Will result in the following HTML structure:
8798
+
8799
+ ```html
8800
+ <div class="ember-view">
8801
+ <p class="ember-view greeting">Howdy Yehuda</p>
8802
+ <p class="ember-view greeting">Howdy Tom</p>
8803
+ <p class="ember-view greeting">Howdy Peter</p>
8804
+ </div>
8805
+ ```
8806
+
8807
+ @method collection
8808
+ @for Ember.Templates.helpers
8809
+ @deprecated Use `{{each}}` helper instead.
8810
+ @public
8811
+ */
8622
8812
  exports["default"] = {
8623
8813
  setupState: function (state, env, scope, params, hash) {
8624
8814
  var read = env.hooks.getValue;
@@ -8899,8 +9089,159 @@ enifed('ember-htmlbars/keywords/each', ['exports', 'ember-runtime/controllers/ar
8899
9089
  }
8900
9090
  });
8901
9091
  enifed("ember-htmlbars/keywords/input", ["exports", "ember-metal/core", "ember-metal/merge"], function (exports, _emberMetalCore, _emberMetalMerge) {
9092
+ /**
9093
+ @module ember
9094
+ @submodule ember-templates
9095
+ */
9096
+
8902
9097
  "use strict";
8903
9098
 
9099
+ /**
9100
+ The `{{input}}` helper lets you create an HTML `<input />` component.
9101
+ It causes an `Ember.TextField` component to be rendered. For more info,
9102
+ see the [Ember.TextField](/api/classes/Ember.TextField.html) docs and
9103
+ the [templates guide](http://emberjs.com/guides/templates/input-helpers/).
9104
+
9105
+ ```handlebars
9106
+ {{input value="987"}}
9107
+ ```
9108
+
9109
+ renders as:
9110
+
9111
+ ```HTML
9112
+ <input type="text" value="987" />
9113
+ ```
9114
+
9115
+ ### Text field
9116
+
9117
+ If no `type` option is specified, a default of type 'text' is used.
9118
+
9119
+ Many of the standard HTML attributes may be passed to this helper.
9120
+
9121
+ <table>
9122
+ <tr><td>`readonly`</td><td>`required`</td><td>`autofocus`</td></tr>
9123
+ <tr><td>`value`</td><td>`placeholder`</td><td>`disabled`</td></tr>
9124
+ <tr><td>`size`</td><td>`tabindex`</td><td>`maxlength`</td></tr>
9125
+ <tr><td>`name`</td><td>`min`</td><td>`max`</td></tr>
9126
+ <tr><td>`pattern`</td><td>`accept`</td><td>`autocomplete`</td></tr>
9127
+ <tr><td>`autosave`</td><td>`formaction`</td><td>`formenctype`</td></tr>
9128
+ <tr><td>`formmethod`</td><td>`formnovalidate`</td><td>`formtarget`</td></tr>
9129
+ <tr><td>`height`</td><td>`inputmode`</td><td>`multiple`</td></tr>
9130
+ <tr><td>`step`</td><td>`width`</td><td>`form`</td></tr>
9131
+ <tr><td>`selectionDirection`</td><td>`spellcheck`</td><td>&nbsp;</td></tr>
9132
+ </table>
9133
+
9134
+
9135
+ When set to a quoted string, these values will be directly applied to the HTML
9136
+ element. When left unquoted, these values will be bound to a property on the
9137
+ template's current rendering context (most typically a controller instance).
9138
+
9139
+
9140
+ A very common use of this helper is to bind the `value` of an input to an Object's attribute:
9141
+
9142
+ ```handlebars
9143
+ Search:
9144
+ {{input value=searchWord}}
9145
+ ```
9146
+
9147
+ In this example, the inital value in the `<input />` will be set to the value of `searchWord`.
9148
+ If the user changes the text, the value of `searchWord` will also be updated.
9149
+
9150
+ ### Actions
9151
+ The helper can send multiple actions based on user events.
9152
+ The action property defines the action which is sent when
9153
+ the user presses the return key.
9154
+
9155
+ ```handlebars
9156
+ {{input action="submit"}}
9157
+ ```
9158
+
9159
+ The helper allows some user events to send actions.
9160
+
9161
+ * `enter`
9162
+ * `insert-newline`
9163
+ * `escape-press`
9164
+ * `focus-in`
9165
+ * `focus-out`
9166
+ * `key-press`
9167
+ * `key-up`
9168
+
9169
+
9170
+ For example, if you desire an action to be sent when the input is blurred,
9171
+ you only need to setup the action name to the event name property.
9172
+
9173
+ ```handlebars
9174
+ {{input focus-in="alertMessage"}}
9175
+ ```
9176
+
9177
+ See more about [Text Support Actions](/api/classes/Ember.TextField.html)
9178
+
9179
+
9180
+ ### Extending `Ember.TextField`
9181
+
9182
+ Internally, `{{input type="text"}}` creates an instance of `Ember.TextField`, passing
9183
+ arguments from the helper to `Ember.TextField`'s `create` method. You can extend the
9184
+ capabilities of text inputs in your applications by reopening this class. For example,
9185
+ if you are building a Bootstrap project where `data-*` attributes are used, you
9186
+ can add one to the `TextField`'s `attributeBindings` property:
9187
+
9188
+
9189
+ ```javascript
9190
+ Ember.TextField.reopen({
9191
+ attributeBindings: ['data-error']
9192
+ });
9193
+ ```
9194
+
9195
+ Keep in mind when writing `Ember.TextField` subclasses that `Ember.TextField`
9196
+ itself extends `Ember.Component`. Expect isolated component semantics, not
9197
+ legacy 1.x view semantics (like `controller` being present).
9198
+
9199
+ See more about [Ember components](/api/classes/Ember.Component.html)
9200
+
9201
+
9202
+ ### Checkbox
9203
+
9204
+ Checkboxes are special forms of the `{{input}}` helper. To create a `<checkbox />`:
9205
+
9206
+ ```handlebars
9207
+ Emberize Everything:
9208
+ {{input type="checkbox" name="isEmberized" checked=isEmberized}}
9209
+ ```
9210
+
9211
+ This will bind checked state of this checkbox to the value of `isEmberized` -- if either one changes,
9212
+ it will be reflected in the other.
9213
+
9214
+
9215
+ The following HTML attributes can be set via the helper:
9216
+
9217
+ * `checked`
9218
+ * `disabled`
9219
+ * `tabindex`
9220
+ * `indeterminate`
9221
+ * `name`
9222
+ * `autofocus`
9223
+ * `form`
9224
+
9225
+
9226
+ ### Extending `Ember.Checkbox`
9227
+
9228
+ Internally, `{{input type="checkbox"}}` creates an instance of `Ember.Checkbox`, passing
9229
+ arguments from the helper to `Ember.Checkbox`'s `create` method. You can extend the
9230
+ capablilties of checkbox inputs in your applications by reopening this class. For example,
9231
+ if you wanted to add a css class to all checkboxes in your application:
9232
+
9233
+ ```javascript
9234
+ Ember.Checkbox.reopen({
9235
+ classNames: ['my-app-checkbox']
9236
+ });
9237
+ ```
9238
+
9239
+
9240
+ @method input
9241
+ @for Ember.Templates.helpers
9242
+ @param {Hash} options
9243
+ @public
9244
+ */
8904
9245
  exports["default"] = {
8905
9246
  setupState: function (lastState, env, scope, params, hash) {
8906
9247
  var type = env.hooks.getValue(hash.type);
@@ -8971,7 +9312,7 @@ enifed("ember-htmlbars/keywords/mut", ["exports", "ember-metal/core", "ember-met
8971
9312
  exports.MUTABLE_REFERENCE = MUTABLE_REFERENCE;
8972
9313
  /**
8973
9314
  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__.
9315
+ (mutable) value passed to it, which will __change the value of the parent component__.
8975
9316
 
8976
9317
  This is very helpful for passing mutable values to a `Component` of any size, but
8977
9318
  critical to understanding the logic of a large/complex `Component`.
@@ -9152,11 +9493,52 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'htmlbars-runtime/hooks'],
9152
9493
  enifed("ember-htmlbars/keywords/partial", ["exports", "ember-views/system/lookup_partial", "htmlbars-runtime"], function (exports, _emberViewsSystemLookup_partial, _htmlbarsRuntime) {
9153
9494
  /**
9154
9495
  @module ember
9155
- @submodule ember-htmlbars
9496
+ @submodule ember-templates
9156
9497
  */
9157
9498
 
9158
9499
  "use strict";
9159
9500
 
9501
+ /**
9502
+ The `partial` helper renders another template without
9503
+ changing the template context:
9504
+
9505
+ ```handlebars
9506
+ {{foo}}
9507
+ {{partial "nav"}}
9508
+ ```
9509
+
9510
+ The above example template will render a template named
9511
+ "_nav", which has the same context as the parent template
9512
+ it's rendered into, so if the "_nav" template also referenced
9513
+ `{{foo}}`, it would print the same thing as the `{{foo}}`
9514
+ in the above example.
9515
+
9516
+ If a "_nav" template isn't found, the `partial` helper will
9517
+ fall back to a template named "nav".
9518
+
9519
+ ### Bound template names
9520
+
9521
+ The parameter supplied to `partial` can also be a path
9522
+ to a property containing a template name, e.g.:
9523
+
9524
+ ```handlebars
9525
+ {{partial someTemplateName}}
9526
+ ```
9527
+
9528
+ The above example will look up the value of `someTemplateName`
9529
+ on the template context (e.g. a controller) and use that
9530
+ value as the name of the template to render. If the resolved
9531
+ value is falsy, nothing will be rendered. If `someTemplateName`
9532
+ changes, the partial will be re-rendered using the new template
9533
+ name.
9534
+
9535
+
9536
+ @method partial
9537
+ @for Ember.Templates.helpers
9538
+ @param {String} partialName the name of the template to render minus the leading underscore
9539
+ @public
9540
+ */
9541
+
9160
9542
  exports["default"] = {
9161
9543
  setupState: function (state, env, scope, params, hash) {
9162
9544
  return { partialName: env.hooks.getValue(params[0]) };
@@ -9178,8 +9560,13 @@ enifed("ember-htmlbars/keywords/partial", ["exports", "ember-views/system/lookup
9178
9560
  }
9179
9561
  };
9180
9562
  });
9181
- enifed("ember-htmlbars/keywords/readonly", ["exports", "ember-htmlbars/keywords/mut"], function (exports, _emberHtmlbarsKeywordsMut) {
9182
- "use strict";
9563
+ enifed('ember-htmlbars/keywords/readonly', ['exports', 'ember-htmlbars/keywords/mut'], function (exports, _emberHtmlbarsKeywordsMut) {
9564
+ /**
9565
+ @module ember
9566
+ @submodule ember-templates
9567
+ */
9568
+
9569
+ 'use strict';
9183
9570
 
9184
9571
  exports["default"] = readonly;
9185
9572
 
@@ -9204,7 +9591,7 @@ enifed("ember-htmlbars/keywords/real_outlet", ["exports", "ember-metal/property_
9204
9591
 
9205
9592
  "use strict";
9206
9593
 
9207
- _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.7';
9594
+ _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.8';
9208
9595
 
9209
9596
  exports["default"] = {
9210
9597
  willRender: function (renderNode, env) {
@@ -9329,9 +9716,195 @@ enifed("ember-htmlbars/keywords/template", ["exports", "ember-metal/core"], func
9329
9716
  enifed('ember-htmlbars/keywords/textarea', ['exports'], function (exports) {
9330
9717
  /**
9331
9718
  @module ember
9332
- @submodule ember-htmlbars
9719
+ @submodule ember-templates
9333
9720
  */
9334
9721
 
9722
+ /**
9723
+ `{{textarea}}` inserts a new instance of `<textarea>` tag into the template.
9724
+ The attributes of `{{textarea}}` match those of the native HTML tags as
9725
+ closely as possible.
9726
+
9727
+ The following HTML attributes can be set:
9728
+
9729
+ * `value`
9730
+ * `name`
9731
+ * `rows`
9732
+ * `cols`
9733
+ * `placeholder`
9734
+ * `disabled`
9735
+ * `maxlength`
9736
+ * `tabindex`
9737
+ * `selectionEnd`
9738
+ * `selectionStart`
9739
+ * `selectionDirection`
9740
+ * `wrap`
9741
+ * `readonly`
9742
+ * `autofocus`
9743
+ * `form`
9744
+ * `spellcheck`
9745
+ * `required`
9746
+
9747
+ When set to a quoted string, these value will be directly applied to the HTML
9748
+ element. When left unquoted, these values will be bound to a property on the
9749
+ template's current rendering context (most typically a controller instance).
9750
+
9751
+ Unbound:
9752
+
9753
+ ```handlebars
9754
+ {{textarea value="Lots of static text that ISN'T bound"}}
9755
+ ```
9756
+
9757
+ Would result in the following HTML:
9758
+
9759
+ ```html
9760
+ <textarea class="ember-text-area">
9761
+ Lots of static text that ISN'T bound
9762
+ </textarea>
9763
+ ```
9764
+
9765
+ Bound:
9766
+
9767
+ In the following example, the `writtenWords` property on `App.ApplicationController`
9768
+ will be updated live as the user types 'Lots of text that IS bound' into
9769
+ the text area of their browser's window.
9770
+
9771
+ ```javascript
9772
+ App.ApplicationController = Ember.Controller.extend({
9773
+ writtenWords: "Lots of text that IS bound"
9774
+ });
9775
+ ```
9776
+
9777
+ ```handlebars
9778
+ {{textarea value=writtenWords}}
9779
+ ```
9780
+
9781
+ Would result in the following HTML:
9782
+
9783
+ ```html
9784
+ <textarea class="ember-text-area">
9785
+ Lots of text that IS bound
9786
+ </textarea>
9787
+ ```
9788
+
9789
+ If you wanted a one way binding between the text area and a div tag
9790
+ somewhere else on your screen, you could use `Ember.computed.oneWay`:
9791
+
9792
+ ```javascript
9793
+ App.ApplicationController = Ember.Controller.extend({
9794
+ writtenWords: "Lots of text that IS bound",
9795
+ outputWrittenWords: Ember.computed.oneWay("writtenWords")
9796
+ });
9797
+ ```
9798
+
9799
+ ```handlebars
9800
+ {{textarea value=writtenWords}}
9801
+
9802
+ <div>
9803
+ {{outputWrittenWords}}
9804
+ </div>
9805
+ ```
9806
+
9807
+ Would result in the following HTML:
9808
+
9809
+ ```html
9810
+ <textarea class="ember-text-area">
9811
+ Lots of text that IS bound
9812
+ </textarea>
9813
+
9814
+ <-- the following div will be updated in real time as you type -->
9815
+
9816
+ <div>
9817
+ Lots of text that IS bound
9818
+ </div>
9819
+ ```
9820
+
9821
+ Finally, this example really shows the power and ease of Ember when two
9822
+ properties are bound to eachother via `Ember.computed.alias`. Type into
9823
+ either text area box and they'll both stay in sync. Note that
9824
+ `Ember.computed.alias` costs more in terms of performance, so only use it when
9825
+ your really binding in both directions:
9826
+
9827
+ ```javascript
9828
+ App.ApplicationController = Ember.Controller.extend({
9829
+ writtenWords: "Lots of text that IS bound",
9830
+ twoWayWrittenWords: Ember.computed.alias("writtenWords")
9831
+ });
9832
+ ```
9833
+
9834
+ ```handlebars
9835
+ {{textarea value=writtenWords}}
9836
+ {{textarea value=twoWayWrittenWords}}
9837
+ ```
9838
+
9839
+ ```html
9840
+ <textarea id="ember1" class="ember-text-area">
9841
+ Lots of text that IS bound
9842
+ </textarea>
9843
+
9844
+ <-- both updated in real time -->
9845
+
9846
+ <textarea id="ember2" class="ember-text-area">
9847
+ Lots of text that IS bound
9848
+ </textarea>
9849
+ ```
9850
+
9851
+ ### Actions
9852
+
9853
+ The helper can send multiple actions based on user events.
9854
+
9855
+ The action property defines the action which is send when
9856
+ the user presses the return key.
9857
+
9858
+ ```handlebars
9859
+ {{input action="submit"}}
9860
+ ```
9861
+
9862
+ The helper allows some user events to send actions.
9863
+
9864
+ * `enter`
9865
+ * `insert-newline`
9866
+ * `escape-press`
9867
+ * `focus-in`
9868
+ * `focus-out`
9869
+ * `key-press`
9870
+
9871
+ For example, if you desire an action to be sent when the input is blurred,
9872
+ you only need to setup the action name to the event name property.
9873
+
9874
+ ```handlebars
9875
+ {{textarea focus-in="alertMessage"}}
9876
+ ```
9877
+
9878
+ See more about [Text Support Actions](/api/classes/Ember.TextArea.html)
9879
+
9880
+ ### Extension
9881
+
9882
+ Internally, `{{textarea}}` creates an instance of `Ember.TextArea`, passing
9883
+ arguments from the helper to `Ember.TextArea`'s `create` method. You can
9884
+ extend the capabilities of text areas in your application by reopening this
9885
+ class. For example, if you are building a Bootstrap project where `data-*`
9886
+ attributes are used, you can globally add support for a `data-*` attribute
9887
+ on all `{{textarea}}`s' in your app by reopening `Ember.TextArea` or
9888
+ `Ember.TextSupport` and adding it to the `attributeBindings` concatenated
9889
+ property:
9890
+
9891
+ ```javascript
9892
+ Ember.TextArea.reopen({
9893
+ attributeBindings: ['data-error']
9894
+ });
9895
+ ```
9896
+
9897
+ Keep in mind when writing `Ember.TextArea` subclasses that `Ember.TextArea`
9898
+ itself extends `Ember.Component`. Expect isolated component semantics, not
9899
+ legacy 1.x view semantics (like `controller` being present).
9900
+
9901
+ See more about [Ember components](/api/classes/Ember.Component.html)
9902
+
9903
+ @method textarea
9904
+ @for Ember.Templates.helpers
9905
+ @param {Hash} options
9906
+ @public
9907
+ */
9335
9908
  'use strict';
9336
9909
 
9337
9910
  exports["default"] = textarea;
@@ -9427,11 +10000,189 @@ enifed("ember-htmlbars/keywords/unbound", ["exports", "ember-metal/merge", "embe
9427
10000
  enifed("ember-htmlbars/keywords/view", ["exports", "ember-views/streams/utils", "ember-views/views/view", "ember-htmlbars/node-managers/view-node-manager", "ember-metal/keys"], function (exports, _emberViewsStreamsUtils, _emberViewsViewsView, _emberHtmlbarsNodeManagersViewNodeManager, _emberMetalKeys) {
9428
10001
  /**
9429
10002
  @module ember
9430
- @submodule ember-htmlbars
10003
+ @submodule ember-templates
9431
10004
  */
9432
10005
 
9433
10006
  "use strict";
9434
10007
 
10008
+ /**
10009
+ `{{view}}` inserts a new instance of an `Ember.View` into a template passing its
10010
+ options to the `Ember.View`'s `create` method and using the supplied block as
10011
+ the view's own template.
10012
+
10013
+ An empty `<body>` and the following template:
10014
+
10015
+ ```handlebars
10016
+ A span:
10017
+ {{#view tagName="span"}}
10018
+ hello.
10019
+ {{/view}}
10020
+ ```
10021
+
10022
+ Will result in HTML structure:
10023
+
10024
+ ```html
10025
+ <body>
10026
+ <!-- Note: the handlebars template script
10027
+ also results in a rendered Ember.View
10028
+ which is the outer <div> here -->
10029
+
10030
+ <div class="ember-view">
10031
+ A span:
10032
+ <span id="ember1" class="ember-view">
10033
+ Hello.
10034
+ </span>
10035
+ </div>
10036
+ </body>
10037
+ ```
10038
+
10039
+ ### `parentView` setting
10040
+
10041
+ The `parentView` property of the new `Ember.View` instance created through
10042
+ `{{view}}` will be set to the `Ember.View` instance of the template where
10043
+ `{{view}}` was called.
10044
+
10045
+ ```javascript
10046
+ aView = Ember.View.create({
10047
+ template: Ember.Handlebars.compile("{{#view}} my parent: {{parentView.elementId}} {{/view}}")
10048
+ });
10049
+
10050
+ aView.appendTo('body');
10051
+ ```
10052
+
10053
+ Will result in HTML structure:
10054
+
10055
+ ```html
10056
+ <div id="ember1" class="ember-view">
10057
+ <div id="ember2" class="ember-view">
10058
+ my parent: ember1
10059
+ </div>
10060
+ </div>
10061
+ ```
10062
+
10063
+ ### Setting CSS id and class attributes
10064
+
10065
+ The HTML `id` attribute can be set on the `{{view}}`'s resulting element with
10066
+ the `id` option. This option will _not_ be passed to `Ember.View.create`.
10067
+
10068
+ ```handlebars
10069
+ {{#view tagName="span" id="a-custom-id"}}
10070
+ hello.
10071
+ {{/view}}
10072
+ ```
10073
+
10074
+ Results in the following HTML structure:
10075
+
10076
+ ```html
10077
+ <div class="ember-view">
10078
+ <span id="a-custom-id" class="ember-view">
10079
+ hello.
10080
+ </span>
10081
+ </div>
10082
+ ```
10083
+
10084
+ The HTML `class` attribute can be set on the `{{view}}`'s resulting element
10085
+ with the `class` or `classNameBindings` options. The `class` option will
10086
+ directly set the CSS `class` attribute and will not be passed to
10087
+ `Ember.View.create`. `classNameBindings` will be passed to `create` and use
10088
+ `Ember.View`'s class name binding functionality:
10089
+
10090
+ ```handlebars
10091
+ {{#view tagName="span" class="a-custom-class"}}
10092
+ hello.
10093
+ {{/view}}
10094
+ ```
10095
+
10096
+ Results in the following HTML structure:
10097
+
10098
+ ```html
10099
+ <div class="ember-view">
10100
+ <span id="ember2" class="ember-view a-custom-class">
10101
+ hello.
10102
+ </span>
10103
+ </div>
10104
+ ```
10105
+
10106
+ ### Supplying a different view class
10107
+
10108
+ `{{view}}` can take an optional first argument before its supplied options to
10109
+ specify a path to a custom view class.
10110
+
10111
+ ```handlebars
10112
+ {{#view "custom"}}{{! will look up App.CustomView }}
10113
+ hello.
10114
+ {{/view}}
10115
+ ```
10116
+
10117
+ The first argument can also be a relative path accessible from the current
10118
+ context.
10119
+
10120
+ ```javascript
10121
+ MyApp = Ember.Application.create({});
10122
+ MyApp.OuterView = Ember.View.extend({
10123
+ innerViewClass: Ember.View.extend({
10124
+ classNames: ['a-custom-view-class-as-property']
10125
+ }),
10126
+ template: Ember.Handlebars.compile('{{#view view.innerViewClass}} hi {{/view}}')
10127
+ });
10128
+
10129
+ MyApp.OuterView.create().appendTo('body');
10130
+ ```
10131
+
10132
+ Will result in the following HTML:
10133
+
10134
+ ```html
10135
+ <div id="ember1" class="ember-view">
10136
+ <div id="ember2" class="ember-view a-custom-view-class-as-property">
10137
+ hi
10138
+ </div>
10139
+ </div>
10140
+ ```
10141
+
10142
+ ### Blockless use
10143
+
10144
+ If you supply a custom `Ember.View` subclass that specifies its own template
10145
+ or provide a `templateName` option to `{{view}}` it can be used without
10146
+ supplying a block. Attempts to use both a `templateName` option and supply a
10147
+ block will throw an error.
10148
+
10149
+ ```javascript
10150
+ var App = Ember.Application.create();
10151
+ App.WithTemplateDefinedView = Ember.View.extend({
10152
+ templateName: 'defined-template'
10153
+ });
10154
+ ```
10155
+
10156
+ ```handlebars
10157
+ {{! application.hbs }}
10158
+ {{view 'with-template-defined'}}
10159
+ ```
10160
+
10161
+ ```handlebars
10162
+ {{! defined-template.hbs }}
10163
+ Some content for the defined template view.
10164
+ ```
10165
+
10166
+ ### `viewName` property
10167
+
10168
+ You can supply a `viewName` option to `{{view}}`. The `Ember.View` instance
10169
+ will be referenced as a property of its parent view by this name.
10170
+
10171
+ ```javascript
10172
+ aView = Ember.View.create({
10173
+ template: Ember.Handlebars.compile('{{#view viewName="aChildByName"}} hi {{/view}}')
10174
+ });
10175
+
10176
+ aView.appendTo('body');
10177
+ aView.get('aChildByName') // the instance of Ember.View created by {{view}} helper
10178
+ ```
10179
+
10180
+ @method view
10181
+ @for Ember.Templates.helpers
10182
+ @public
10183
+ @deprecated
10184
+ */
10185
+
9435
10186
  exports["default"] = {
9436
10187
  setupState: function (state, env, scope, params, hash) {
9437
10188
  var read = env.hooks.getValue;
@@ -9536,6 +10287,11 @@ enifed("ember-htmlbars/keywords/view", ["exports", "ember-views/streams/utils",
9536
10287
  }
9537
10288
  });
9538
10289
  enifed('ember-htmlbars/keywords/with', ['exports', 'ember-metal/core', 'ember-metal/property_get', 'htmlbars-runtime', 'ember-metal/streams/utils'], function (exports, _emberMetalCore, _emberMetalProperty_get, _htmlbarsRuntime, _emberMetalStreamsUtils) {
10290
+ /**
10291
+ @module ember
10292
+ @submodule ember-templates
10293
+ */
10294
+
9539
10295
  'use strict';
9540
10296
 
9541
10297
  exports["default"] = {
@@ -15156,7 +15912,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
15156
15912
 
15157
15913
  @class Ember
15158
15914
  @static
15159
- @version 1.13.7
15915
+ @version 1.13.8
15160
15916
  @public
15161
15917
  */
15162
15918
 
@@ -15190,11 +15946,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
15190
15946
 
15191
15947
  @property VERSION
15192
15948
  @type String
15193
- @default '1.13.7'
15949
+ @default '1.13.8'
15194
15950
  @static
15195
15951
  @public
15196
15952
  */
15197
- Ember.VERSION = '1.13.7';
15953
+ Ember.VERSION = '1.13.8';
15198
15954
 
15199
15955
  /**
15200
15956
  The hash of environment variables used to control various configuration
@@ -22103,6 +22859,9 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
22103
22859
  */
22104
22860
 
22105
22861
  function guidFor(obj) {
22862
+ if (obj && obj[GUID_KEY]) {
22863
+ return obj[GUID_KEY];
22864
+ }
22106
22865
 
22107
22866
  // special cases where we don't want to add a key to object
22108
22867
  if (obj === undefined) {
@@ -22140,10 +22899,6 @@ enifed("ember-metal/utils", ["exports", "ember-metal/core", "ember-metal/platfor
22140
22899
  return obj ? '(true)' : '(false)';
22141
22900
 
22142
22901
  default:
22143
- if (obj[GUID_KEY]) {
22144
- return obj[GUID_KEY];
22145
- }
22146
-
22147
22902
  if (obj === Object) {
22148
22903
  return '(Object)';
22149
22904
  }
@@ -23764,6 +24519,35 @@ enifed('ember-routing-htmlbars/keywords/link-to', ['exports', 'ember-metal/strea
23764
24519
  To override this option for your entire application, see
23765
24520
  "Overriding Application-wide Defaults".
23766
24521
 
24522
+ ### Keeping a link active for other routes
24523
+
24524
+ If you need a link to be 'active' even when it doesn't match
24525
+ the current route, you can use the the `current-when`
24526
+ argument.
24527
+
24528
+ ```handlebars
24529
+ {{#link-to 'photoGallery' current-when='photos'}}
24530
+ Photo Gallery
24531
+ {{/link-to}}
24532
+ ```
24533
+
24534
+ This may be helpful for keeping links active for:
24535
+
24536
+ * non-nested routes that are logically related
24537
+ * some secondary menu approaches
24538
+ * 'top navigation' with 'sub navigation' scenarios
24539
+
24540
+ A link will be active if `current-when` is `true` or the current
24541
+ route is the route this link would transition to.
24542
+
24543
+ To match multiple routes 'space-separate' the routes:
24544
+
24545
+ ```handlebars
24546
+ {{#link-to 'gallery' current-when='photos drawings paintings'}}
24547
+ Art Gallery
24548
+ {{/link-to}}
24549
+ ```
24550
+
23767
24551
  ### Supplying a model
23768
24552
  An optional model argument can be used for routes whose
23769
24553
  paths contain dynamic segments. This argument will become
@@ -24186,7 +24970,7 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24186
24970
 
24187
24971
  "use strict";
24188
24972
 
24189
- _emberHtmlbarsTemplatesLinkTo["default"].meta.revision = 'Ember@1.13.7';
24973
+ _emberHtmlbarsTemplatesLinkTo["default"].meta.revision = 'Ember@1.13.8';
24190
24974
 
24191
24975
  var linkComponentClassNameBindings = ['active', 'loading', 'disabled'];
24192
24976
 
@@ -24483,7 +25267,13 @@ enifed("ember-routing-views/views/link", ["exports", "ember-metal/core", "ember-
24483
25267
  return false;
24484
25268
  }
24485
25269
 
24486
- _emberMetalProperty_get.get(this, '_routing').transitionTo(_emberMetalProperty_get.get(this, 'targetRouteName'), _emberMetalProperty_get.get(this, 'models'), _emberMetalProperty_get.get(this, 'queryParams.values'), _emberMetalProperty_get.get(this, 'attrs.replace'));
25270
+ var routing = _emberMetalProperty_get.get(this, '_routing');
25271
+ var targetRouteName = this._handleOnlyQueryParamsSupplied(_emberMetalProperty_get.get(this, 'targetRouteName'));
25272
+ var models = _emberMetalProperty_get.get(this, 'models');
25273
+ var queryParamValues = _emberMetalProperty_get.get(this, 'queryParams.values');
25274
+ var shouldReplace = _emberMetalProperty_get.get(this, 'attrs.replace');
25275
+
25276
+ routing.transitionTo(targetRouteName, models, queryParamValues, shouldReplace);
24487
25277
  },
24488
25278
 
24489
25279
  queryParams: null,
@@ -24719,7 +25509,7 @@ enifed("ember-routing-views/views/outlet", ["exports", "ember-views/views/view",
24719
25509
 
24720
25510
  "use strict";
24721
25511
 
24722
- _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.7';
25512
+ _emberHtmlbarsTemplatesTopLevelView["default"].meta.revision = 'Ember@1.13.8';
24723
25513
 
24724
25514
  var CoreOutletView = _emberViewsViewsView["default"].extend({
24725
25515
  defaultTemplate: _emberHtmlbarsTemplatesTopLevelView["default"],
@@ -24932,11 +25722,13 @@ enifed("ember-routing/ext/controller", ["exports", "ember-metal/core", "ember-me
24932
25722
  var part = parts[i];
24933
25723
  var cacheValuePrefix = _calculateCacheValuePrefix(prefix, part);
24934
25724
  var value;
24935
- if (cacheValuePrefix && cacheValuePrefix in values) {
24936
- var partRemovedPrefix = part.indexOf(cacheValuePrefix) === 0 ? part.substr(cacheValuePrefix.length + 1) : part;
24937
- value = _emberMetalProperty_get.get(values[cacheValuePrefix], partRemovedPrefix);
24938
- } else {
24939
- value = _emberMetalProperty_get.get(values, part);
25725
+ if (values) {
25726
+ if (cacheValuePrefix && cacheValuePrefix in values) {
25727
+ var partRemovedPrefix = part.indexOf(cacheValuePrefix) === 0 ? part.substr(cacheValuePrefix.length + 1) : part;
25728
+ value = _emberMetalProperty_get.get(values[cacheValuePrefix], partRemovedPrefix);
25729
+ } else {
25730
+ value = _emberMetalProperty_get.get(values, part);
25731
+ }
24940
25732
  }
24941
25733
  suffixes += '::' + part + ':' + value;
24942
25734
  }
@@ -27195,7 +27987,7 @@ enifed("ember-routing/system/route", ["exports", "ember-metal/core", "ember-meta
27195
27987
  @property controller
27196
27988
  @type Ember.Controller
27197
27989
  @since 1.6.0
27198
- @private
27990
+ @public
27199
27991
  */
27200
27992
 
27201
27993
  _actions: {
@@ -41715,7 +42507,7 @@ enifed("ember-template-compiler/system/compile_options", ["exports", "ember-meta
41715
42507
 
41716
42508
  options.buildMeta = function buildMeta(program) {
41717
42509
  return {
41718
- revision: 'Ember@1.13.7',
42510
+ revision: 'Ember@1.13.8',
41719
42511
  loc: program.loc,
41720
42512
  moduleName: options.moduleName
41721
42513
  };
@@ -43120,13 +43912,16 @@ enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember
43120
43912
 
43121
43913
  _propagateAttrsToThis: function () {
43122
43914
  var attrs = this.attrs;
43123
- var values = {};
43915
+
43124
43916
  for (var prop in attrs) {
43125
- if (prop !== 'attrs') {
43126
- values[prop] = this.getAttr(prop);
43917
+ if (prop !== 'attrs' &&
43918
+ // These list of properties are concatenated and merged properties of
43919
+ // Ember.View / Ember.Component. Setting them here results in them being
43920
+ // completely stomped and not handled properly, BAIL OUT!
43921
+ prop !== 'actions' && prop !== 'classNames' && prop !== 'classNameBindings' && prop !== 'attributeBindings') {
43922
+ this.set(prop, this.getAttr(prop));
43127
43923
  }
43128
43924
  }
43129
- this.setProperties(values);
43130
43925
  },
43131
43926
 
43132
43927
  initializeShape: _emberMetalEvents.on('init', function () {
@@ -43150,7 +43945,8 @@ enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember
43150
43945
  if (attrs && key in attrs) {
43151
43946
  // do not deprecate accessing `this[key]` at this time.
43152
43947
  // add this back when we have a proper migration path
43153
- var possibleCell = attrs.key;
43948
+ // Ember.deprecate(deprecation(key), { id: 'ember-views.', until: '3.0.0' });
43949
+ var possibleCell = attrs[key];
43154
43950
 
43155
43951
  if (possibleCell && possibleCell[MUTABLE_CELL]) {
43156
43952
  return possibleCell.value;
@@ -46938,7 +47734,7 @@ enifed("ember-views/views/component", ["exports", "ember-metal/core", "ember-vie
46938
47734
  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) {
46939
47735
  "use strict";
46940
47736
 
46941
- _emberHtmlbarsTemplatesContainerView["default"].meta.revision = 'Ember@1.13.7';
47737
+ _emberHtmlbarsTemplatesContainerView["default"].meta.revision = 'Ember@1.13.8';
46942
47738
 
46943
47739
  /**
46944
47740
  @module ember