ember-source 2.8.0.beta.1 → 2.8.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
data/dist/ember.debug.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.8.0-beta.1
9
+ * @version 2.8.0-beta.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, require, Ember;
@@ -3890,21 +3890,7 @@ enifed('ember-application/system/application-instance', ['exports', 'ember-metal
3890
3890
  },
3891
3891
 
3892
3892
  setupRegistry: function (options) {
3893
- var registry = this.__registry__;
3894
-
3895
- registry.register('-environment:main', options.toEnvironment(), { instantiate: false });
3896
- registry.injection('view', '_environment', '-environment:main');
3897
- registry.injection('route', '_environment', '-environment:main');
3898
-
3899
- registry.register('service:-document', options.document, { instantiate: false });
3900
-
3901
- if (options.isInteractive) {
3902
- registry.injection('view', 'renderer', 'renderer:-dom');
3903
- registry.injection('component', 'renderer', 'renderer:-dom');
3904
- } else {
3905
- registry.injection('view', 'renderer', 'renderer:-inert');
3906
- registry.injection('component', 'renderer', 'renderer:-inert');
3907
- }
3893
+ this.constructor.setupRegistry(this.__registry__, options);
3908
3894
  },
3909
3895
 
3910
3896
  router: _emberMetalComputed.computed(function () {
@@ -4043,6 +4029,32 @@ enifed('ember-application/system/application-instance', ['exports', 'ember-metal
4043
4029
  }
4044
4030
  });
4045
4031
 
4032
+ ApplicationInstance.reopenClass({
4033
+ /**
4034
+ @private
4035
+ @method setupRegistry
4036
+ @param {Registry} registry
4037
+ @param {BootOptions} options
4038
+ */
4039
+ setupRegistry: function (registry) {
4040
+ var options = arguments.length <= 1 || arguments[1] === undefined ? new BootOptions() : arguments[1];
4041
+
4042
+ registry.register('-environment:main', options.toEnvironment(), { instantiate: false });
4043
+ registry.injection('view', '_environment', '-environment:main');
4044
+ registry.injection('route', '_environment', '-environment:main');
4045
+
4046
+ registry.register('service:-document', options.document, { instantiate: false });
4047
+
4048
+ if (options.isInteractive) {
4049
+ registry.injection('view', 'renderer', 'renderer:-dom');
4050
+ registry.injection('component', 'renderer', 'renderer:-dom');
4051
+ } else {
4052
+ registry.injection('view', 'renderer', 'renderer:-inert');
4053
+ registry.injection('component', 'renderer', 'renderer:-inert');
4054
+ }
4055
+ }
4056
+ });
4057
+
4046
4058
  /**
4047
4059
  A list of boot-time configuration options for customizing the behavior of
4048
4060
  an `Ember.ApplicationInstance`.
@@ -10304,7 +10316,7 @@ enifed('ember-htmlbars/hooks/component', ['exports', 'ember-metal/debug', 'ember
10304
10316
  var templateMeta = null;
10305
10317
  if (sm.block) {
10306
10318
  templateMeta = sm.block.template.meta;
10307
- } else if (sm.scope && sm.scope._view) {
10319
+ } else if (sm.scope && sm.scope._view && sm.scope._view.template) {
10308
10320
  templateMeta = sm.scope._view.template.meta;
10309
10321
  }
10310
10322
  env.meta.moduleName = templateMeta && templateMeta.moduleName || env.meta && env.meta.moduleName;
@@ -13952,9 +13964,6 @@ enifed('ember-htmlbars/node-managers/component-node-manager', ['exports', 'ember
13952
13964
  if (attrs.id) {
13953
13965
  createOptions.elementId = _emberHtmlbarsHooksGetValue.default(attrs.id);
13954
13966
  }
13955
- if (attrs._defaultTagName) {
13956
- createOptions._defaultTagName = _emberHtmlbarsHooksGetValue.default(attrs._defaultTagName);
13957
- }
13958
13967
  }
13959
13968
 
13960
13969
  ComponentNodeManager.prototype.render = function ComponentNodeManager_render(_env, visitor) {
@@ -14142,9 +14151,6 @@ enifed('ember-htmlbars/node-managers/view-node-manager', ['exports', 'ember-meta
14142
14151
  if (attrs && attrs.tagName) {
14143
14152
  options.tagName = _emberHtmlbarsHooksGetValue.default(attrs.tagName);
14144
14153
  }
14145
- if (attrs && attrs._defaultTagName) {
14146
- options._defaultTagName = _emberHtmlbarsHooksGetValue.default(attrs._defaultTagName);
14147
- }
14148
14154
 
14149
14155
  component = componentInfo.component = createOrUpdateComponent(found.component, options, found.createOptions, renderNode, env, attrs);
14150
14156
 
@@ -14386,7 +14392,7 @@ enifed('ember-htmlbars/renderer', ['exports', 'ember-metal/run_loop', 'ember-met
14386
14392
 
14387
14393
  _emberHtmlbarsSystemRenderView.renderHTMLBarsBlock(view, block, renderNode);
14388
14394
  view.lastResult = renderNode.lastResult;
14389
- this.clearRenderedViews(view.env);
14395
+ this.clearRenderedViews(view._env);
14390
14396
  };
14391
14397
 
14392
14398
  Renderer.prototype.renderTopLevelView = function Renderer_renderTopLevelView(view, renderNode) {
@@ -14394,20 +14400,16 @@ enifed('ember-htmlbars/renderer', ['exports', 'ember-metal/run_loop', 'ember-met
14394
14400
  if (view._willInsert) {
14395
14401
  view._willInsert = false;
14396
14402
  this.prerenderTopLevelView(view, renderNode);
14397
- this.dispatchLifecycleHooks(view.env);
14403
+ this.dispatchLifecycleHooks(view._env);
14398
14404
  }
14399
14405
  };
14400
14406
 
14401
14407
  Renderer.prototype.revalidateTopLevelView = function Renderer_revalidateTopLevelView(view) {
14402
14408
  // This guard prevents revalidation on an already-destroyed view.
14403
14409
  if (view._renderNode.lastResult) {
14404
- view._renderNode.lastResult.revalidate(view.env);
14405
- // supports createElement, which operates without moving the view into
14406
- // the inDOM state.
14407
- if (view._state === 'inDOM') {
14408
- this.dispatchLifecycleHooks(view.env);
14409
- }
14410
- this.clearRenderedViews(view.env);
14410
+ view._renderNode.lastResult.revalidate(view._env);
14411
+ this.dispatchLifecycleHooks(view._env);
14412
+ this.clearRenderedViews(view._env);
14411
14413
  }
14412
14414
  };
14413
14415
 
@@ -14437,7 +14439,7 @@ enifed('ember-htmlbars/renderer', ['exports', 'ember-metal/run_loop', 'ember-met
14437
14439
  };
14438
14440
 
14439
14441
  Renderer.prototype.ensureViewNotRendering = function Renderer_ensureViewNotRendering(view) {
14440
- var env = view.ownerView.env;
14442
+ var env = view.ownerView._env;
14441
14443
  if (env && env.renderedViews.indexOf(view.elementId) !== -1) {
14442
14444
  throw new Error('Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.');
14443
14445
  }
@@ -14485,12 +14487,6 @@ enifed('ember-htmlbars/renderer', ['exports', 'ember-metal/run_loop', 'ember-met
14485
14487
  _emberMetalRun_loop.default.scheduleOnce('render', this, this.renderTopLevelView, view, morph);
14486
14488
  };
14487
14489
 
14488
- Renderer.prototype.createElement = function Renderer_createElement(view) {
14489
- var morph = this._dom.createFragmentMorph();
14490
- morph.ownerNode = morph;
14491
- this.prerenderTopLevelView(view, morph);
14492
- };
14493
-
14494
14490
  Renderer.prototype.didCreateElement = function (view, element) {
14495
14491
  if (element) {
14496
14492
  view.element = element;
@@ -14696,14 +14692,14 @@ enifed('ember-htmlbars/streams/built-in-helper', ['exports', 'ember-htmlbars/str
14696
14692
  this.helper = helper;
14697
14693
  this.params = params;
14698
14694
  this.templates = templates;
14699
- this.env = env;
14695
+ this._env = env;
14700
14696
  this.scope = scope;
14701
14697
  this.hash = hash;
14702
14698
  this.label = label;
14703
14699
  },
14704
14700
 
14705
14701
  compute: function () {
14706
- return this.helper(_emberHtmlbarsStreamsUtils.getArrayValues(this.params), _emberHtmlbarsStreamsUtils.getHashValues(this.hash), this.templates, this.env, this.scope);
14702
+ return this.helper(_emberHtmlbarsStreamsUtils.getArrayValues(this.params), _emberHtmlbarsStreamsUtils.getHashValues(this.hash), this.templates, this._env, this.scope);
14707
14703
  }
14708
14704
  });
14709
14705
  });
@@ -16041,9 +16037,28 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16041
16037
  elementTemplate.meta = meta;
16042
16038
 
16043
16039
  blockToRender = createElementBlock(elementTemplate, blockToRender, component);
16044
- } else {
16045
- validateTaglessComponent(component);
16046
16040
  }
16041
+
16042
+ _emberMetalDebug.assert('You cannot use `classNameBindings` on a tag-less component: ' + component.toString(), (function () {
16043
+ var _component = component;
16044
+ var classNameBindings = _component.classNameBindings;
16045
+
16046
+ return tagName !== '' || !classNameBindings || classNameBindings.length === 0;
16047
+ })());
16048
+
16049
+ _emberMetalDebug.assert('You cannot use `elementId` on a tag-less component: ' + component.toString(), (function () {
16050
+ var _component2 = component;
16051
+ var elementId = _component2.elementId;
16052
+
16053
+ return tagName !== '' || !elementId && elementId !== '';
16054
+ })());
16055
+
16056
+ _emberMetalDebug.assert('You cannot use `attributeBindings` on a tag-less component: ' + component.toString(), (function () {
16057
+ var _component3 = component;
16058
+ var attributeBindings = _component3.attributeBindings;
16059
+
16060
+ return tagName !== '' || !attributeBindings || attributeBindings.length === 0;
16061
+ })());
16047
16062
  }
16048
16063
 
16049
16064
  // tagName is one of:
@@ -16133,7 +16148,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16133
16148
  var tagName = view.tagName;
16134
16149
 
16135
16150
  if (tagName === null || tagName === undefined) {
16136
- tagName = view._defaultTagName || 'div';
16151
+ tagName = 'div';
16137
16152
  }
16138
16153
 
16139
16154
  return tagName;
@@ -16144,7 +16159,6 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16144
16159
  function normalizeComponentAttributes(component, attrs) {
16145
16160
  var normalized = {};
16146
16161
  var attributeBindings = component.attributeBindings;
16147
- var streamBasePath = component.isComponent ? '' : 'view.';
16148
16162
 
16149
16163
  if (attrs.id && _emberHtmlbarsHooksGetValue.default(attrs.id)) {
16150
16164
  // Do not allow binding to the `id`
@@ -16164,7 +16178,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16164
16178
  if (colonIndex !== -1) {
16165
16179
  var attrProperty = attr.substring(0, colonIndex);
16166
16180
  attrName = attr.substring(colonIndex + 1);
16167
- expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attrProperty);
16181
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('get', attrProperty);
16168
16182
  } else if (attrs[attr]) {
16169
16183
  // TODO: For compatibility with 1.x, we probably need to `set`
16170
16184
  // the component's attribute here if it is a CP, but we also
@@ -16174,7 +16188,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16174
16188
  expression = _htmlbarsUtilTemplateUtils.buildStatement('value', attrs[attr]);
16175
16189
  } else {
16176
16190
  attrName = attr;
16177
- expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attr);
16191
+ expression = _htmlbarsUtilTemplateUtils.buildStatement('get', attr);
16178
16192
  }
16179
16193
 
16180
16194
  _emberMetalDebug.assert('You cannot use class as an attributeBinding, use classNameBindings instead.', attrName !== 'class');
@@ -16182,11 +16196,13 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16182
16196
  }
16183
16197
  }
16184
16198
 
16199
+ normalized.role = _htmlbarsUtilTemplateUtils.buildStatement('get', 'ariaRole');
16200
+
16185
16201
  if (attrs.tagName) {
16186
16202
  component.tagName = attrs.tagName;
16187
16203
  }
16188
16204
 
16189
- var normalizedClass = normalizeClass(component, attrs, streamBasePath);
16205
+ var normalizedClass = normalizeClass(component, attrs);
16190
16206
  if (normalizedClass) {
16191
16207
  normalized.class = normalizedClass;
16192
16208
  }
@@ -16205,7 +16221,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16205
16221
  return normalized;
16206
16222
  }
16207
16223
 
16208
- function normalizeClass(component, attrs, streamBasePath) {
16224
+ function normalizeClass(component, attrs) {
16209
16225
  var normalizedClass = [];
16210
16226
  var classNames = _emberMetalProperty_get.get(component, 'classNames');
16211
16227
  var classNameBindings = _emberMetalProperty_get.get(component, 'classNameBindings');
@@ -16219,7 +16235,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16219
16235
  }
16220
16236
 
16221
16237
  if (attrs.classBinding) {
16222
- normalizeClasses(attrs.classBinding.split(' '), normalizedClass, streamBasePath);
16238
+ normalizeClasses(attrs.classBinding.split(' '), normalizedClass);
16223
16239
  }
16224
16240
 
16225
16241
  if (classNames) {
@@ -16229,7 +16245,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16229
16245
  }
16230
16246
 
16231
16247
  if (classNameBindings) {
16232
- normalizeClasses(classNameBindings, normalizedClass, streamBasePath);
16248
+ normalizeClasses(classNameBindings, normalizedClass);
16233
16249
  }
16234
16250
 
16235
16251
  if (normalizeClass.length) {
@@ -16254,22 +16270,13 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta
16254
16270
  continue;
16255
16271
  }
16256
16272
 
16257
- var prop = '' + streamBasePath + propName;
16258
-
16259
16273
  output.push(_htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-normalize-class', [
16260
16274
  // params
16261
- _htmlbarsUtilTemplateUtils.buildStatement('value', propName), _htmlbarsUtilTemplateUtils.buildStatement('get', prop)], [
16275
+ _htmlbarsUtilTemplateUtils.buildStatement('value', propName), _htmlbarsUtilTemplateUtils.buildStatement('get', propName)], [
16262
16276
  // hash
16263
16277
  'activeClass', activeClass, 'inactiveClass', inactiveClass]));
16264
16278
  }
16265
16279
  }
16266
-
16267
- function validateTaglessComponent(component) {
16268
- _emberMetalDebug.assert('You cannot use `classNameBindings` on a tag-less component: ' + component.toString(), (function () {
16269
- var classNameBindings = component.classNameBindings;
16270
- return !classNameBindings || classNameBindings.length === 0;
16271
- })());
16272
- }
16273
16280
  });
16274
16281
  enifed('ember-htmlbars/system/dom-helper', ['exports', 'dom-helper', 'ember-htmlbars/morphs/morph', 'ember-htmlbars/morphs/attr-morph'], function (exports, _domHelper, _emberHtmlbarsMorphsMorph, _emberHtmlbarsMorphsAttrMorph) {
16275
16282
  'use strict';
@@ -16532,7 +16539,7 @@ enifed('ember-htmlbars/system/render-view', ['exports', 'ember-htmlbars/node-man
16532
16539
  var meta = block && block.template && block.template.meta;
16533
16540
  var env = _emberHtmlbarsSystemRenderEnv.default.build(view, meta);
16534
16541
 
16535
- view.env = env;
16542
+ view._env = env;
16536
16543
  _emberHtmlbarsNodeManagersViewNodeManager.createOrUpdateComponent(view, {}, null, renderNode, env);
16537
16544
  var nodeManager = new _emberHtmlbarsNodeManagersViewNodeManager.default(view, null, renderNode, block, view.tagName !== '');
16538
16545
 
@@ -17111,8 +17118,8 @@ enifed('ember-htmlbars/views/outlet', ['exports', 'ember-views/views/view', 'emb
17111
17118
  setOutletState: function (state) {
17112
17119
  this.outletState = { main: state };
17113
17120
 
17114
- if (this.env) {
17115
- this.env.outletState = this.outletState;
17121
+ if (this._env) {
17122
+ this._env.outletState = this.outletState;
17116
17123
  }
17117
17124
 
17118
17125
  if (this.lastResult) {
@@ -17412,7 +17419,7 @@ enifed('ember-metal/binding', ['exports', 'ember-console', 'ember-environment',
17412
17419
 
17413
17420
  _emberMetalEvents.addListener(obj, 'willDestroy', this, 'disconnect');
17414
17421
 
17415
- fireDeprecations(possibleGlobal, this._oneWay, !possibleGlobal && !this._oneWay);
17422
+ fireDeprecations(obj, this._to, this._from, possibleGlobal, this._oneWay, !possibleGlobal && !this._oneWay);
17416
17423
 
17417
17424
  this._readyToSync = true;
17418
17425
  this._fromObj = fromObj;
@@ -17521,22 +17528,23 @@ enifed('ember-metal/binding', ['exports', 'ember-console', 'ember-environment',
17521
17528
 
17522
17529
  };
17523
17530
 
17524
- function fireDeprecations(deprecateGlobal, deprecateOneWay, deprecateAlias) {
17531
+ function fireDeprecations(obj, toPath, fromPath, deprecateGlobal, deprecateOneWay, deprecateAlias) {
17525
17532
  var deprecateGlobalMessage = '`Ember.Binding` is deprecated. Since you' + ' are binding to a global consider using a service instead.';
17526
17533
  var deprecateOneWayMessage = '`Ember.Binding` is deprecated. Since you' + ' are using a `oneWay` binding consider using a `readOnly` computed' + ' property instead.';
17527
17534
  var deprecateAliasMessage = '`Ember.Binding` is deprecated. Consider' + ' using an `alias` computed property instead.';
17528
17535
 
17529
- _emberMetalDebug.deprecate(deprecateGlobalMessage, !deprecateGlobal, {
17536
+ var objectInfo = 'The `' + toPath + '` property of `' + obj + '` is an `Ember.Binding` connected to `' + fromPath + '`, but ';
17537
+ _emberMetalDebug.deprecate(objectInfo + deprecateGlobalMessage, !deprecateGlobal, {
17530
17538
  id: 'ember-metal.binding',
17531
17539
  until: '3.0.0',
17532
17540
  url: 'http://emberjs.com/deprecations/v2.x#toc_ember-binding'
17533
17541
  });
17534
- _emberMetalDebug.deprecate(deprecateOneWayMessage, !deprecateOneWay, {
17542
+ _emberMetalDebug.deprecate(objectInfo + deprecateOneWayMessage, !deprecateOneWay, {
17535
17543
  id: 'ember-metal.binding',
17536
17544
  until: '3.0.0',
17537
17545
  url: 'http://emberjs.com/deprecations/v2.x#toc_ember-binding'
17538
17546
  });
17539
- _emberMetalDebug.deprecate(deprecateAliasMessage, !deprecateAlias, {
17547
+ _emberMetalDebug.deprecate(objectInfo + deprecateAliasMessage, !deprecateAlias, {
17540
17548
  id: 'ember-metal.binding',
17541
17549
  until: '3.0.0',
17542
17550
  url: 'http://emberjs.com/deprecations/v2.x#toc_ember-binding'
@@ -17744,25 +17752,12 @@ enifed('ember-metal/cache', ['exports', 'ember-metal/empty_object'], function (e
17744
17752
  this.store = store || new DefaultStore();
17745
17753
  }
17746
17754
 
17747
- Cache.prototype.set = function set(obj, value) {
17748
- if (this.limit > this.size) {
17749
- var key = this.key === undefined ? obj : this.key(obj);
17750
- this.size++;
17751
- if (value === undefined) {
17752
- this.store.set(key, UNDEFINED);
17753
- } else {
17754
- this.store.set(key, value);
17755
- }
17756
- }
17757
- return value;
17758
- };
17759
-
17760
17755
  Cache.prototype.get = function get(obj) {
17761
17756
  var key = this.key === undefined ? obj : this.key(obj);
17762
17757
  var value = this.store.get(key);
17763
17758
  if (value === undefined) {
17764
17759
  this.misses++;
17765
- value = this.set(key, this.func(obj));
17760
+ value = this._set(key, this.func(obj));
17766
17761
  } else if (value === UNDEFINED) {
17767
17762
  this.hits++;
17768
17763
  value = undefined;
@@ -17774,6 +17769,24 @@ enifed('ember-metal/cache', ['exports', 'ember-metal/empty_object'], function (e
17774
17769
  return value;
17775
17770
  };
17776
17771
 
17772
+ Cache.prototype.set = function set(obj, value) {
17773
+ var key = this.key === undefined ? obj : this.key(obj);
17774
+ return this._set(key, value);
17775
+ };
17776
+
17777
+ Cache.prototype._set = function _set(key, value) {
17778
+ if (this.limit > this.size) {
17779
+ this.size++;
17780
+ if (value === undefined) {
17781
+ this.store.set(key, UNDEFINED);
17782
+ } else {
17783
+ this.store.set(key, value);
17784
+ }
17785
+ }
17786
+
17787
+ return value;
17788
+ };
17789
+
17777
17790
  Cache.prototype.purge = function purge() {
17778
17791
  this.store.clear();
17779
17792
  this.size = 0;
@@ -42554,8 +42567,6 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe
42554
42567
 
42555
42568
  /**
42556
42569
  Appends the view's element to the specified parent element.
42557
- If the view does not have an HTML representation yet, `createElement()`
42558
- will be called automatically.
42559
42570
  Note that this method just schedules the view to be appended; the DOM
42560
42571
  element will not be appended to the given element until all bindings have
42561
42572
  finished synchronizing.
@@ -42715,26 +42726,6 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe
42715
42726
  return _emberViewsSystemJquery.default(id)[0] || _emberViewsSystemJquery.default(id, parentElem)[0];
42716
42727
  },
42717
42728
 
42718
- /**
42719
- Creates a DOM representation of the view and all of its child views by
42720
- recursively calling the `render()` method. Once the element is created,
42721
- it sets the `element` property of the view to the rendered element.
42722
- After the element has been inserted into the DOM, `didInsertElement` will
42723
- be called on this view and all of its child views.
42724
- @method createElement
42725
- @return {Ember.View} receiver
42726
- @private
42727
- */
42728
- createElement: function () {
42729
- if (this.element) {
42730
- return this;
42731
- }
42732
-
42733
- this.renderer.createElement(this);
42734
-
42735
- return this;
42736
- },
42737
-
42738
42729
  /**
42739
42730
  Called when a view is going to insert an element into the DOM.
42740
42731
  @event willInsertElement
@@ -42762,26 +42753,6 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe
42762
42753
  */
42763
42754
  willClearRender: K,
42764
42755
 
42765
- /**
42766
- Destroys any existing element along with the element for any child views
42767
- as well. If the view does not currently have a element, then this method
42768
- will do nothing.
42769
- If you implement `willDestroyElement()` on your view, then this method will
42770
- be invoked on your view before your element is destroyed to give you a
42771
- chance to clean up any event handlers, etc.
42772
- If you write a `willDestroyElement()` handler, you can assume that your
42773
- `didInsertElement()` handler was called earlier for the same element.
42774
- You should not call or override this method yourself, but you may
42775
- want to implement the above callbacks.
42776
- @method destroyElement
42777
- @return {Ember.View} receiver
42778
- @private
42779
- */
42780
- destroyElement: function () {
42781
- this._currentState.destroyElement(this);
42782
- return this;
42783
- },
42784
-
42785
42756
  /**
42786
42757
  You must call `destroy` on a view to destroy the view (and all of its
42787
42758
  child views). This will remove the view from any parent node, then make
@@ -42832,13 +42803,6 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe
42832
42803
  // the default case and a user-specified tag.
42833
42804
  tagName: null,
42834
42805
 
42835
- /*
42836
- Used to specify a default tagName that can be overridden when extending
42837
- or invoking from a template.
42838
- @property _defaultTagName
42839
- @private
42840
- */
42841
-
42842
42806
  // .......................................................
42843
42807
  // CORE DISPLAY METHODS
42844
42808
  //
@@ -42885,7 +42849,7 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe
42885
42849
  this.renderer.revalidateTopLevelView(this);
42886
42850
  this.scheduledRevalidation = false;
42887
42851
  }, _Mixin$create.scheduleRevalidate = function (node, label, manualRerender) {
42888
- if (node && !this._dispatching && this.env.renderedNodes.has(node)) {
42852
+ if (node && !this._dispatching && this._env.renderedNodes.has(node)) {
42889
42853
  if (manualRerender) {
42890
42854
  _emberMetalDebug.deprecate('You manually rerendered ' + label + ' (a parent component) from a child component during the rendering process. This rarely worked in Ember 1.x and will be removed in Ember 3.0', false, { id: 'ember-views.manual-parent-rerender', until: '3.0.0' });
42891
42855
  } else {
@@ -43638,7 +43602,7 @@ enifed('ember-views/views/core_view', ['exports', 'ember-metal/property_get', 'e
43638
43602
  this._isDispatchingAttrs = false;
43639
43603
  this._isVisible = false;
43640
43604
  this.element = null;
43641
- this.env = null;
43605
+ this._env = null;
43642
43606
  this._isVisible = _emberMetalProperty_get.get(this, 'isVisible');
43643
43607
 
43644
43608
  // Fallback for legacy cases where the view was created directly
@@ -43783,8 +43747,6 @@ enifed('ember-views/views/states/default', ['exports', 'ember-metal/error', 'emb
43783
43747
  return true; // continue event propagation
43784
43748
  },
43785
43749
 
43786
- destroyElement: function () {},
43787
-
43788
43750
  destroy: function () {},
43789
43751
 
43790
43752
  rerender: function (view) {
@@ -43808,9 +43770,6 @@ enifed('ember-views/views/states/destroying', ['exports', 'ember-metal/assign',
43808
43770
  },
43809
43771
  rerender: function () {
43810
43772
  throw new _emberMetalError.default('You can\'t call rerender on a view being destroyed');
43811
- },
43812
- destroyElement: function () {
43813
- throw new _emberMetalError.default('You can\'t call destroyElement on a view being destroyed');
43814
43773
  }
43815
43774
  });
43816
43775
 
@@ -43845,10 +43804,6 @@ enifed('ember-views/views/states/has_element', ['exports', 'ember-views/views/st
43845
43804
  view.renderer.rerender(view);
43846
43805
  },
43847
43806
 
43848
- destroyElement: function (view) {
43849
- view.renderer.remove(view, false);
43850
- },
43851
-
43852
43807
  destroy: function (view) {
43853
43808
  view.renderer.remove(view, true);
43854
43809
  },
@@ -44422,22 +44377,7 @@ enifed('ember-views/views/view', ['exports', 'ember-views/system/ext', 'ember-vi
44422
44377
  @public
44423
44378
  */
44424
44379
  // jscs:disable validateIndentation
44425
- var View = _emberViewsViewsCore_view.default.extend(_emberViewsMixinsChild_views_support.default, _emberViewsMixinsView_state_support.default, _emberViewsMixinsClass_names_support.default, _emberViewsMixinsInstrumentation_support.default, _emberViewsMixinsVisibility_support.default, _emberViewsCompatAttrsProxy.default, _emberViewsMixinsAria_role_support.default, _emberViewsMixinsView_support.default, {
44426
- attributeBindings: ['ariaRole:role'],
44427
-
44428
- /**
44429
- Given a property name, returns a dasherized version of that
44430
- property name if the property evaluates to a non-falsy value.
44431
- For example, if the view has property `isUrgent` that evaluates to true,
44432
- passing `isUrgent` to this method will return `"is-urgent"`.
44433
- @method _classStringForProperty
44434
- @param property
44435
- @private
44436
- */
44437
- _classStringForProperty: function (parsedPath) {
44438
- return View._classStringForValue(parsedPath.path, parsedPath.stream.value(), parsedPath.className, parsedPath.falsyClassName);
44439
- }
44440
- });
44380
+ var View = _emberViewsViewsCore_view.default.extend(_emberViewsMixinsChild_views_support.default, _emberViewsMixinsView_state_support.default, _emberViewsMixinsClass_names_support.default, _emberViewsMixinsInstrumentation_support.default, _emberViewsMixinsVisibility_support.default, _emberViewsCompatAttrsProxy.default, _emberViewsMixinsAria_role_support.default, _emberViewsMixinsView_support.default);
44441
44381
 
44442
44382
  // jscs:enable validateIndentation
44443
44383
 
@@ -44510,7 +44450,7 @@ enifed('ember/index', ['exports', 'require', 'ember-metal', 'ember-runtime', 'em
44510
44450
  enifed("ember/version", ["exports"], function (exports) {
44511
44451
  "use strict";
44512
44452
 
44513
- exports.default = "2.8.0-beta.1";
44453
+ exports.default = "2.8.0-beta.2";
44514
44454
  });
44515
44455
  enifed('htmlbars-runtime', ['exports', 'htmlbars-runtime/hooks', 'htmlbars-runtime/render', 'htmlbars-util/morph-utils', 'htmlbars-util/template-utils'], function (exports, _htmlbarsRuntimeHooks, _htmlbarsRuntimeRender, _htmlbarsUtilMorphUtils, _htmlbarsUtilTemplateUtils) {
44516
44456
  'use strict';