ember-source 2.5.1 → 2.6.0.beta.1

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.
@@ -6,10 +6,10 @@
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.5.1
9
+ * @version 2.6.0-beta.1
10
10
  */
11
11
 
12
- var enifed, requireModule, require, requirejs, Ember;
12
+ var enifed, requireModule, require, Ember;
13
13
  var mainContext = this;
14
14
 
15
15
  (function() {
@@ -20,7 +20,7 @@ var mainContext = this;
20
20
  Ember = this.Ember = this.Ember || {};
21
21
  }
22
22
 
23
- if (typeof Ember === 'undefined') { Ember = {}; };
23
+ if (typeof Ember === 'undefined') { Ember = {}; }
24
24
 
25
25
  if (typeof Ember.__loader === 'undefined') {
26
26
  var registry = {};
@@ -40,9 +40,9 @@ var mainContext = this;
40
40
  registry[name] = value;
41
41
  };
42
42
 
43
- requirejs = require = requireModule = function(name) {
43
+ require = requireModule = function(name) {
44
44
  return internalRequire(name, null);
45
- }
45
+ };
46
46
 
47
47
  // setup `require` module
48
48
  require['default'] = require;
@@ -83,7 +83,7 @@ var mainContext = this;
83
83
  var deps = mod.deps;
84
84
  var callback = mod.callback;
85
85
  var length = deps.length;
86
- var reified = new Array(length);;
86
+ var reified = new Array(length);
87
87
 
88
88
  for (var i = 0; i < length; i++) {
89
89
  if (deps[i] === 'exports') {
@@ -98,9 +98,9 @@ var mainContext = this;
98
98
  callback.apply(this, reified);
99
99
 
100
100
  return exports;
101
- };
101
+ }
102
102
 
103
- requirejs._eak_seen = registry;
103
+ requireModule._eak_seen = registry;
104
104
 
105
105
  Ember.__loader = {
106
106
  define: enifed,
@@ -109,7 +109,7 @@ var mainContext = this;
109
109
  };
110
110
  } else {
111
111
  enifed = Ember.__loader.define;
112
- requirejs = require = requireModule = Ember.__loader.require;
112
+ require = requireModule = Ember.__loader.require;
113
113
  }
114
114
  })();
115
115
 
@@ -1187,18 +1187,27 @@ enifed('ember-debug/deprecate', ['exports', 'ember-metal/core', 'ember-metal/err
1187
1187
  _emberMetalLogger.default.warn('DEPRECATION: ' + updatedMessage);
1188
1188
  });
1189
1189
 
1190
- registerHandler(function logDeprecationStackTrace(message, options, next) {
1191
- if (_emberMetalCore.default.LOG_STACKTRACE_ON_DEPRECATION) {
1192
- var stackStr = '';
1193
- var error = undefined,
1194
- stack = undefined;
1190
+ var captureErrorForStack = undefined;
1195
1191
 
1196
- // When using new Error, we can't do the arguments check for Chrome. Alternatives are welcome
1192
+ if (new Error().stack) {
1193
+ captureErrorForStack = function () {
1194
+ return new Error();
1195
+ };
1196
+ } else {
1197
+ captureErrorForStack = function () {
1197
1198
  try {
1198
1199
  __fail__.fail();
1199
1200
  } catch (e) {
1200
- error = e;
1201
+ return e;
1201
1202
  }
1203
+ };
1204
+ }
1205
+
1206
+ registerHandler(function logDeprecationStackTrace(message, options, next) {
1207
+ if (_emberMetalCore.default.LOG_STACKTRACE_ON_DEPRECATION) {
1208
+ var stackStr = '';
1209
+ var error = captureErrorForStack();
1210
+ var stack = undefined;
1202
1211
 
1203
1212
  if (error.stack) {
1204
1213
  if (error['arguments']) {
@@ -1577,7 +1586,8 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
1577
1586
  Deprecations are invoked by calls to [Ember.deprecate](http://emberjs.com/api/classes/Ember.html#method_deprecate).
1578
1587
  The following example demonstrates its usage by registering a handler that throws an error if the
1579
1588
  message contains the word "should", otherwise defers to the default handler.
1580
- ```javascript
1589
+
1590
+ ```javascript
1581
1591
  Ember.Debug.registerDeprecationHandler((message, options, next) => {
1582
1592
  if (message.indexOf('should') !== -1) {
1583
1593
  throw new Error(`Deprecation message with should: ${message}`);
@@ -1587,8 +1597,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
1587
1597
  }
1588
1598
  }
1589
1599
  ```
1590
- The handler function takes the following arguments:
1591
- <ul>
1600
+
1601
+ The handler function takes the following arguments:
1602
+
1603
+ <ul>
1592
1604
  <li> <code>message</code> - The message received from the deprecation call.</li>
1593
1605
  <li> <code>options</code> - An object passed in with the deprecation call containing additional information including:</li>
1594
1606
  <ul>
@@ -1597,7 +1609,8 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
1597
1609
  </ul>
1598
1610
  <li> <code>next</code> - A function that calls into the previously registered handler.</li>
1599
1611
  </ul>
1600
- @public
1612
+
1613
+ @public
1601
1614
  @static
1602
1615
  @method registerDeprecationHandler
1603
1616
  @param handler {Function} A function to handle deprecation calls.
@@ -1609,12 +1622,15 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
1609
1622
  Warnings are invoked by calls made to [Ember.warn](http://emberjs.com/api/classes/Ember.html#method_warn).
1610
1623
  The following example demonstrates its usage by registering a handler that does nothing overriding Ember's
1611
1624
  default warning behavior.
1612
- ```javascript
1625
+
1626
+ ```javascript
1613
1627
  // next is not called, so no warnings get the default behavior
1614
1628
  Ember.Debug.registerWarnHandler(() => {});
1615
1629
  ```
1616
- The handler function takes the following arguments:
1617
- <ul>
1630
+
1631
+ The handler function takes the following arguments:
1632
+
1633
+ <ul>
1618
1634
  <li> <code>message</code> - The message received from the warn call. </li>
1619
1635
  <li> <code>options</code> - An object passed in with the warn call containing additional information including:</li>
1620
1636
  <ul>
@@ -1622,7 +1638,8 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
1622
1638
  </ul>
1623
1639
  <li> <code>next</code> - A function that calls into the previously registered handler.</li>
1624
1640
  </ul>
1625
- @public
1641
+
1642
+ @public
1626
1643
  @static
1627
1644
  @method registerWarnHandler
1628
1645
  @param handler {Function} A function to handle warnings.
@@ -3304,7 +3321,7 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
3304
3321
  exports.computed = computed;
3305
3322
  exports.cacheFor = cacheFor;
3306
3323
  });
3307
- enifed('ember-metal/computed_macros', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/computed', 'ember-metal/is_empty', 'ember-metal/is_none', 'ember-metal/alias'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalComputed, _emberMetalIs_empty, _emberMetalIs_none, _emberMetalAlias) {
3324
+ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/computed', 'ember-metal/is_empty', 'ember-metal/is_none', 'ember-metal/alias', 'ember-metal/expand_properties'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalComputed, _emberMetalIs_empty, _emberMetalIs_none, _emberMetalAlias, _emberMetalExpand_properties) {
3308
3325
  'use strict';
3309
3326
 
3310
3327
  exports.empty = empty;
@@ -3337,15 +3354,24 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/debug', 'ember-me
3337
3354
 
3338
3355
  function generateComputedWithProperties(macro) {
3339
3356
  return function () {
3357
+ var expandedProperties = [];
3358
+ var computedFunc = _emberMetalComputed.computed(function () {
3359
+ return macro.apply(this, [getProperties(this, expandedProperties)]);
3360
+ });
3361
+
3362
+ function extractProperty(entry) {
3363
+ expandedProperties.push(entry);
3364
+ }
3365
+
3340
3366
  for (var _len = arguments.length, properties = Array(_len), _key = 0; _key < _len; _key++) {
3341
3367
  properties[_key] = arguments[_key];
3342
3368
  }
3343
3369
 
3344
- var computedFunc = _emberMetalComputed.computed(function () {
3345
- return macro.apply(this, [getProperties(this, properties)]);
3346
- });
3370
+ for (var i = 0; i < properties.length; i++) {
3371
+ _emberMetalExpand_properties.default(properties[i], extractProperty);
3372
+ }
3347
3373
 
3348
- return computedFunc.property.apply(computedFunc, properties);
3374
+ return computedFunc.property.apply(computedFunc, expandedProperties);
3349
3375
  };
3350
3376
  }
3351
3377
 
@@ -3734,22 +3760,30 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/debug', 'ember-me
3734
3760
  A computed property that performs a logical `and` on the
3735
3761
  original values for the provided dependent properties.
3736
3762
 
3763
+ You may pass in more than two properties and even use
3764
+ property brace expansion. The computed property will
3765
+ returns the first falsy value or last truthy value
3766
+ just like JavaScript's `||` operator.
3767
+
3737
3768
  Example
3738
3769
 
3739
3770
  ```javascript
3740
3771
  var Hamster = Ember.Object.extend({
3741
- readyForCamp: Ember.computed.and('hasTent', 'hasBackpack')
3772
+ readyForCamp: Ember.computed.and('hasTent', 'hasBackpack'),
3773
+ readyForHike: Ember.computed.and('hasWalkingStick', 'hasBackpack')
3742
3774
  });
3743
3775
 
3744
- var hamster = Hamster.create();
3745
-
3746
- hamster.get('readyForCamp'); // false
3747
- hamster.set('hasTent', true);
3748
- hamster.get('readyForCamp'); // false
3749
- hamster.set('hasBackpack', true);
3750
- hamster.get('readyForCamp'); // true
3751
- hamster.set('hasBackpack', 'Yes');
3752
- hamster.get('readyForCamp'); // 'Yes'
3776
+ var tomster = Hamster.create();
3777
+
3778
+ tomster.get('readyForCamp'); // false
3779
+ tomster.set('hasTent', true);
3780
+ tomster.get('readyForCamp'); // false
3781
+ tomster.set('hasBackpack', true);
3782
+ tomster.get('readyForCamp'); // true
3783
+ tomster.set('hasBackpack', 'Yes');
3784
+ tomster.get('readyForCamp'); // 'Yes'
3785
+ tomster.set('hasWalkingStick', null);
3786
+ tomster.get('readyForHike'); // null
3753
3787
  ```
3754
3788
 
3755
3789
  @method and
@@ -3764,7 +3798,7 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/debug', 'ember-me
3764
3798
  for (var key in properties) {
3765
3799
  value = properties[key];
3766
3800
  if (properties.hasOwnProperty(key) && !value) {
3767
- return false;
3801
+ return value;
3768
3802
  }
3769
3803
  }
3770
3804
  return value;
@@ -3775,20 +3809,28 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/debug', 'ember-me
3775
3809
  A computed property which performs a logical `or` on the
3776
3810
  original values for the provided dependent properties.
3777
3811
 
3812
+ You may pass in more than two properties and even use
3813
+ property brace expansion. The computed property will
3814
+ returns the first truthy value or last falsy value just
3815
+ like JavaScript's `||` operator.
3816
+
3778
3817
  Example
3779
3818
 
3780
3819
  ```javascript
3781
3820
  var Hamster = Ember.Object.extend({
3782
- readyForRain: Ember.computed.or('hasJacket', 'hasUmbrella')
3821
+ readyForRain: Ember.computed.or('hasJacket', 'hasUmbrella'),
3822
+ readyForBeach: Ember.computed.or('{hasSunscreen,hasUmbrella}')
3783
3823
  });
3784
3824
 
3785
- var hamster = Hamster.create();
3825
+ var tomster = Hamster.create();
3786
3826
 
3787
- hamster.get('readyForRain'); // false
3788
- hamster.set('hasUmbrella', true);
3789
- hamster.get('readyForRain'); // true
3790
- hamster.set('hasJacket', 'Yes');
3791
- hamster.get('readyForRain'); // 'Yes'
3827
+ tomster.get('readyForRain'); // undefined
3828
+ tomster.set('hasUmbrella', true);
3829
+ tomster.get('readyForRain'); // true
3830
+ tomster.set('hasJacket', 'Yes');
3831
+ tomster.get('readyForRain'); // 'Yes'
3832
+ tomster.set('hasSunscreen', 'Check');
3833
+ tomster.get('readyForBeach'); // 'Check'
3792
3834
  ```
3793
3835
 
3794
3836
  @method or
@@ -3980,7 +4022,7 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
3980
4022
 
3981
4023
  @class Ember
3982
4024
  @static
3983
- @version 2.5.1
4025
+ @version 2.6.0-beta.1
3984
4026
  @public
3985
4027
  */
3986
4028
 
@@ -4022,11 +4064,11 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
4022
4064
 
4023
4065
  @property VERSION
4024
4066
  @type String
4025
- @default '2.5.1'
4067
+ @default '2.6.0-beta.1'
4026
4068
  @static
4027
4069
  @public
4028
4070
  */
4029
- Ember.VERSION = '2.5.1';
4071
+ Ember.VERSION = '2.6.0-beta.1';
4030
4072
 
4031
4073
  /**
4032
4074
  The hash of environment variables used to control various configuration
@@ -4514,6 +4556,14 @@ enifed('ember-metal/events', ['exports', 'ember-metal/debug', 'ember-metal/utils
4514
4556
  function addListener(obj, eventName, target, method, once) {
4515
4557
  _emberMetalDebug.assert('You must pass at least an object and event name to Ember.addListener', !!obj && !!eventName);
4516
4558
 
4559
+ if (eventName === 'didInitAttrs' && obj.isComponent) {
4560
+ _emberMetalDebug.deprecate('[DEPRECATED] didInitAttrs called in ' + obj.toString() + '.', false, {
4561
+ id: 'ember-views.did-init-attrs',
4562
+ until: '3.0.0',
4563
+ url: 'http://emberjs.com/deprecations/v2.x#toc_ember-component-didinitattrs'
4564
+ });
4565
+ }
4566
+
4517
4567
  if (!method && 'function' === typeof target) {
4518
4568
  method = target;
4519
4569
  target = null;
@@ -5128,7 +5178,6 @@ enifed('ember-metal/index', ['exports', 'require', 'ember-metal/core', 'ember-me
5128
5178
  _require.default('ember-debug');
5129
5179
  } else {
5130
5180
  _emberMetalCore.default.Debug = {};
5131
-
5132
5181
  _emberMetalCore.default.Debug.registerDeprecationHandler = function () {};
5133
5182
  _emberMetalCore.default.Debug.registerWarnHandler = function () {};
5134
5183
  }
@@ -5162,7 +5211,7 @@ enifed('ember-metal/injected_property', ['exports', 'ember-metal/debug', 'ember-
5162
5211
 
5163
5212
  function injectedPropertyGet(keyName) {
5164
5213
  var desc = this[keyName];
5165
- var owner = _containerOwner.getOwner(this) || this.container; // fallback to `container` for backwards compat
5214
+ var owner = _containerOwner.getOwner(this);
5166
5215
 
5167
5216
  _emberMetalDebug.assert('InjectedProperties should be defined with the Ember.inject computed property macros.', desc && desc.isDescriptor && desc.type);
5168
5217
  _emberMetalDebug.assert('Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.', owner);
@@ -5185,7 +5234,7 @@ enifed('ember-metal/injected_property', ['exports', 'ember-metal/debug', 'ember-
5185
5234
 
5186
5235
  exports.default = InjectedProperty;
5187
5236
  });
5188
- enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core'], function (exports, _emberMetalCore) {
5237
+ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core', 'ember-metal/features'], function (exports, _emberMetalCore, _emberMetalFeatures) {
5189
5238
  'use strict';
5190
5239
 
5191
5240
  exports.instrument = instrument;
@@ -5303,14 +5352,23 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core'], function
5303
5352
  }
5304
5353
  }
5305
5354
 
5355
+ var flaggedInstrument;
5356
+
5357
+ exports.flaggedInstrument = flaggedInstrument = function (name, payload, callback) {
5358
+ return callback();
5359
+ };
5360
+ exports.flaggedInstrument = flaggedInstrument;
5361
+
5306
5362
  function withFinalizer(callback, finalizer, payload, binding) {
5363
+ var result = undefined;
5307
5364
  try {
5308
- return callback.call(binding);
5365
+ result = callback.call(binding);
5309
5366
  } catch (e) {
5310
5367
  payload.exception = e;
5311
- return payload;
5368
+ result = payload;
5312
5369
  } finally {
5313
- return finalizer();
5370
+ finalizer();
5371
+ return result;
5314
5372
  }
5315
5373
  }
5316
5374
 
@@ -5350,7 +5408,9 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-metal/core'], function
5350
5408
  var timestamp = time();
5351
5409
  for (i = 0, l = listeners.length; i < l; i++) {
5352
5410
  listener = listeners[i];
5353
- listener.after(name, timestamp, payload, beforeValues[i]);
5411
+ if (typeof listener.after === 'function') {
5412
+ listener.after(name, timestamp, payload, beforeValues[i]);
5413
+ }
5354
5414
  }
5355
5415
 
5356
5416
  if (STRUCTURED_PROFILE) {
@@ -6310,7 +6370,11 @@ enifed('ember-metal/map', ['exports', 'ember-metal/core', 'ember-metal/utils', '
6310
6370
  exports.Map = Map;
6311
6371
  exports.MapWithDefault = MapWithDefault;
6312
6372
  });
6313
- enifed('ember-metal/merge', ['exports'], function (exports) {
6373
+ enifed('ember-metal/merge', ['exports', 'ember-metal/debug', 'ember-metal/features'], function (exports, _emberMetalDebug, _emberMetalFeatures) {
6374
+ 'use strict';
6375
+
6376
+ exports.default = merge;
6377
+
6314
6378
  /**
6315
6379
  Merge the contents of two objects together into the first object.
6316
6380
 
@@ -6328,11 +6392,12 @@ enifed('ember-metal/merge', ['exports'], function (exports) {
6328
6392
  @return {Object}
6329
6393
  @public
6330
6394
  */
6331
- 'use strict';
6332
-
6333
- exports.default = merge;
6334
6395
 
6335
6396
  function merge(original, updates) {
6397
+ _emberMetalDebug.deprecate('Usage of `Ember.merge` is deprecated, use `Ember.assign` instead.', false, {
6398
+ id: 'ember-metal.merge', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x/#toc_ember-merge'
6399
+ });
6400
+
6336
6401
  if (!updates || typeof updates !== 'object') {
6337
6402
  return original;
6338
6403
  }
@@ -6380,7 +6445,7 @@ enifed('ember-metal/meta', ['exports', 'ember-metal/meta_listeners', 'ember-meta
6380
6445
  peekBindings, clearBindings, writeValues,
6381
6446
  peekValues, clearValues, writeDeps, forEachInDeps
6382
6447
  writableChainWatchers, readableChainWatchers, writableChains,
6383
- readableChains
6448
+ readableChains, writableTag, readableTag
6384
6449
 
6385
6450
  */
6386
6451
  var members = {
@@ -6392,7 +6457,8 @@ enifed('ember-metal/meta', ['exports', 'ember-metal/meta_listeners', 'ember-meta
6392
6457
  values: inheritedMap,
6393
6458
  deps: inheritedMapOfMaps,
6394
6459
  chainWatchers: ownCustomObject,
6395
- chains: inheritedCustomObject
6460
+ chains: inheritedCustomObject,
6461
+ tag: ownCustomObject
6396
6462
  };
6397
6463
 
6398
6464
  var memberNames = Object.keys(members);
@@ -6408,6 +6474,8 @@ enifed('ember-metal/meta', ['exports', 'ember-metal/meta_listeners', 'ember-meta
6408
6474
  this._deps = undefined;
6409
6475
  this._chainWatchers = undefined;
6410
6476
  this._chains = undefined;
6477
+ this._tag = undefined;
6478
+
6411
6479
  // used only internally
6412
6480
  this.source = obj;
6413
6481
 
@@ -8695,7 +8763,7 @@ enifed('ember-metal/property_get', ['exports', 'ember-metal/debug', 'ember-metal
8695
8763
 
8696
8764
  exports.default = get;
8697
8765
  });
8698
- enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_events', 'ember-metal/properties', 'ember-metal/error', 'ember-metal/path_cache', 'ember-metal/meta', 'ember-metal/utils'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_events, _emberMetalProperties, _emberMetalError, _emberMetalPath_cache, _emberMetalMeta, _emberMetalUtils) {
8766
+ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_events', 'ember-metal/properties', 'ember-metal/error', 'ember-metal/path_cache', 'ember-metal/meta', 'ember-metal/utils', 'ember-metal/tags'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_events, _emberMetalProperties, _emberMetalError, _emberMetalPath_cache, _emberMetalMeta, _emberMetalUtils, _emberMetalTags) {
8699
8767
  'use strict';
8700
8768
 
8701
8769
  exports.set = set;
@@ -8722,11 +8790,15 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal
8722
8790
  _emberMetalDebug.assert('The key provided to set must be a string, you passed ' + keyName, typeof keyName === 'string');
8723
8791
  _emberMetalDebug.assert('\'this\' in paths is not supported', !_emberMetalPath_cache.hasThis(keyName));
8724
8792
 
8725
- var meta, possibleDesc, desc;
8793
+ var meta = undefined,
8794
+ possibleDesc = undefined,
8795
+ desc = undefined;
8796
+
8726
8797
  if (obj) {
8727
8798
  meta = _emberMetalMeta.peekMeta(obj);
8728
8799
  possibleDesc = obj[keyName];
8729
8800
  desc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
8801
+ _emberMetalTags.markObjectAsDirty(meta);
8730
8802
  }
8731
8803
 
8732
8804
  var isUnknown, currentValue;
@@ -9333,17 +9405,21 @@ enifed('ember-metal/run_loop', ['exports', 'ember-metal/core', 'ember-metal/debu
9333
9405
  after all DOM element operations have completed within the current
9334
9406
  run loop, you can make use of the `afterRender` run loop queue (added
9335
9407
  by the `ember-views` package, along with the preceding `render` queue
9336
- where all the DOM element operations happen). Example:
9408
+ where all the DOM element operations happen).
9409
+
9410
+ Example:
9337
9411
 
9338
9412
  ```javascript
9339
- App.MyCollectionView = Ember.CollectionView.extend({
9340
- didInsertElement: function() {
9413
+ export default Ember.Component.extend({
9414
+ didInsertElement() {
9415
+ this._super(...arguments);
9341
9416
  run.scheduleOnce('afterRender', this, 'processChildElements');
9342
9417
  },
9343
- processChildElements: function() {
9344
- // ... do something with collectionView's child view
9418
+
9419
+ processChildElements() {
9420
+ // ... do something with component's child component
9345
9421
  // elements after they've finished rendering, which
9346
- // can't be done within the CollectionView's
9422
+ // can't be done within this component's
9347
9423
  // `didInsertElement` hook because that gets run
9348
9424
  // before the child elements have been added to the DOM.
9349
9425
  }
@@ -10604,6 +10680,53 @@ enifed('ember-metal/symbol', ['exports', 'ember-metal/utils'], function (exports
10604
10680
  return _emberMetalUtils.intern(debugName + ' [id=' + _emberMetalUtils.GUID_KEY + Math.floor(Math.random() * new Date()) + ']');
10605
10681
  }
10606
10682
  });
10683
+ enifed('ember-metal/tags', ['exports', 'ember-metal/meta', 'require'], function (exports, _emberMetalMeta, _require2) {
10684
+ 'use strict';
10685
+
10686
+ exports.tagFor = tagFor;
10687
+
10688
+ var hasGlimmer = _require2.has('glimmer-reference');
10689
+ var CONSTANT_TAG = undefined,
10690
+ CURRENT_TAG = undefined,
10691
+ DirtyableTag = undefined,
10692
+ makeTag = undefined;
10693
+
10694
+ var markObjectAsDirty = undefined;
10695
+
10696
+ exports.markObjectAsDirty = markObjectAsDirty;
10697
+
10698
+ function tagFor(object, _meta) {
10699
+ if (!hasGlimmer) {
10700
+ throw new Error('Cannot call tagFor without Glimmer');
10701
+ }
10702
+
10703
+ if (object && typeof object === 'object') {
10704
+ var meta = _meta || _emberMetalMeta.meta(object);
10705
+ return meta.writableTag(makeTag);
10706
+ } else {
10707
+ return CONSTANT_TAG;
10708
+ }
10709
+ }
10710
+
10711
+ if (hasGlimmer) {
10712
+ var _require = _require2.default('glimmer-reference');
10713
+
10714
+ DirtyableTag = _require.DirtyableTag;
10715
+ CONSTANT_TAG = _require.CONSTANT_TAG;
10716
+ CURRENT_TAG = _require.CURRENT_TAG;
10717
+
10718
+ makeTag = function () {
10719
+ return new DirtyableTag();
10720
+ };
10721
+
10722
+ exports.markObjectAsDirty = markObjectAsDirty = function (meta) {
10723
+ var tag = meta && meta.readableTag() || CURRENT_TAG;
10724
+ tag.dirty();
10725
+ };
10726
+ } else {
10727
+ exports.markObjectAsDirty = markObjectAsDirty = function () {};
10728
+ }
10729
+ });
10607
10730
  enifed('ember-metal/utils', ['exports'], function (exports) {
10608
10731
  'no use strict';
10609
10732
  // Remove "use strict"; from transpiled module until
@@ -11601,7 +11724,7 @@ enifed('ember-template-compiler/compat', ['exports', 'ember-metal/core', 'ember-
11601
11724
  EmberHandlebars.compile = _emberTemplateCompilerSystemCompile.default;
11602
11725
  EmberHandlebars.template = _emberTemplateCompilerSystemTemplate.default;
11603
11726
  });
11604
- enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-closure-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/deprecate-render-block', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/plugins/assert-no-each-in', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformClosureComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsDeprecateRenderBlock, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerPluginsAssertNoEachIn, _emberTemplateCompilerCompat) {
11727
+ enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-closure-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/deprecate-render-model', 'ember-template-compiler/plugins/prevent-render-block', 'ember-template-compiler/plugins/transform-inline-link-to', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/plugins/assert-no-each-in', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformClosureComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsDeprecateRenderModel, _emberTemplateCompilerPluginsPreventRenderBlock, _emberTemplateCompilerPluginsTransformInlineLinkTo, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerPluginsAssertNoEachIn, _emberTemplateCompilerCompat) {
11605
11728
  'use strict';
11606
11729
 
11607
11730
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldBindingSyntax.default);
@@ -11613,13 +11736,12 @@ enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-templa
11613
11736
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformAngleBracketComponents.default);
11614
11737
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformInputOnToOnEvent.default);
11615
11738
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformTopLevelComponents.default);
11616
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo.default);
11617
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateRenderBlock.default);
11739
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsDeprecateRenderModel.default);
11740
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsPreventRenderBlock.default);
11618
11741
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoEachIn.default);
11742
+ _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformInlineLinkTo.default);
11619
11743
 
11620
- if (_emberMetal.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT) {
11621
- _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformEachIntoCollection.default);
11622
- } else {
11744
+ if (!_emberMetal.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT) {
11623
11745
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths.default);
11624
11746
  _emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsAssertNoViewHelper.default);
11625
11747
  }
@@ -11733,11 +11855,10 @@ enifed('ember-template-compiler/plugins/assert-no-view-and-controller-paths', ['
11733
11855
  _emberMetalDebug.assert('Using `{{' + (path && path.type === 'PathExpression' && path.parts[0]) + '}}` or any path based on it ' + _emberTemplateCompilerSystemCalculateLocationDisplay.default(moduleName, node.loc) + 'has been removed in Ember 2.0', (function () {
11734
11856
  var noAssertion = true;
11735
11857
 
11858
+ // allow opt-out of the assertion when legacy addons are present
11736
11859
  var viewKeyword = path && path.type === 'PathExpression' && path.parts && path.parts[0];
11737
11860
  if (viewKeyword === 'view') {
11738
11861
  noAssertion = _emberMetalCore.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT;
11739
- } else if (viewKeyword === 'controller') {
11740
- noAssertion = _emberMetalCore.default.ENV._ENABLE_LEGACY_CONTROLLER_SUPPORT;
11741
11862
  }
11742
11863
 
11743
11864
  return noAssertion;
@@ -11803,17 +11924,17 @@ enifed('ember-template-compiler/plugins/assert-no-view-helper', ['exports', 'emb
11803
11924
 
11804
11925
  exports.default = AssertNoViewHelper;
11805
11926
  });
11806
- enifed('ember-template-compiler/plugins/deprecate-render-block', ['exports', 'ember-metal/debug', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalDebug, _emberTemplateCompilerSystemCalculateLocationDisplay) {
11927
+ enifed('ember-template-compiler/plugins/deprecate-render-model', ['exports', 'ember-metal/debug', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalDebug, _emberTemplateCompilerSystemCalculateLocationDisplay) {
11807
11928
  'use strict';
11808
11929
 
11809
- exports.default = DeprecateRenderBlock;
11930
+ exports.default = DeprecateRenderModel;
11810
11931
 
11811
- function DeprecateRenderBlock(options) {
11932
+ function DeprecateRenderModel(options) {
11812
11933
  this.syntax = null;
11813
11934
  this.options = options;
11814
11935
  }
11815
11936
 
11816
- DeprecateRenderBlock.prototype.transform = function DeprecateRenderBlock_transform(ast) {
11937
+ DeprecateRenderModel.prototype.transform = function DeprecateRenderModel_transform(ast) {
11817
11938
  var moduleName = this.options.moduleName;
11818
11939
  var walker = new this.syntax.Walker();
11819
11940
 
@@ -11822,24 +11943,75 @@ enifed('ember-template-compiler/plugins/deprecate-render-block', ['exports', 'em
11822
11943
  return;
11823
11944
  }
11824
11945
 
11825
- _emberMetalDebug.deprecate(deprecationMessage(moduleName, node), false, {
11826
- id: 'ember-template-compiler.deprecate-render-block',
11827
- until: '2.4.0',
11828
- url: 'http://emberjs.com/deprecations/v2.x#toc_render-helper-with-block'
11946
+ each(node.params, function (param) {
11947
+ if (param.type !== 'PathExpression') {
11948
+ return;
11949
+ }
11950
+
11951
+ _emberMetalDebug.deprecate(deprecationMessage(moduleName, node, param), false, {
11952
+ id: 'ember-template-compiler.deprecate-render-model',
11953
+ until: '3.0.0',
11954
+ url: 'http://emberjs.com/deprecations/v2.x#toc_model-param-in-code-render-code-helper'
11955
+ });
11829
11956
  });
11830
11957
  });
11831
11958
 
11832
11959
  return ast;
11833
11960
  };
11834
11961
 
11962
+ function validate(node) {
11963
+ return node.type === 'MustacheStatement' && node.path.original === 'render' && node.params.length > 1;
11964
+ }
11965
+
11966
+ function each(list, callback) {
11967
+ for (var i = 0, l = list.length; i < l; i++) {
11968
+ callback(list[i]);
11969
+ }
11970
+ }
11971
+
11972
+ function deprecationMessage(moduleName, node, param) {
11973
+ var sourceInformation = _emberTemplateCompilerSystemCalculateLocationDisplay.default(moduleName, node.loc);
11974
+ var componentName = node.params[0].original;
11975
+ var modelName = param.original;
11976
+ var original = '{{render "' + componentName + '" ' + modelName + '}}';
11977
+ var preferred = '{{' + componentName + ' model=' + modelName + '}}';
11978
+
11979
+ return 'Please refactor `' + original + '` to a component and invoke via' + (' `' + preferred + '`. ' + sourceInformation);
11980
+ }
11981
+ });
11982
+ enifed('ember-template-compiler/plugins/prevent-render-block', ['exports', 'ember-metal/error', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalError, _emberTemplateCompilerSystemCalculateLocationDisplay) {
11983
+ 'use strict';
11984
+
11985
+ exports.default = PreventRenderBlock;
11986
+
11987
+ function PreventRenderBlock(options) {
11988
+ this.syntax = null;
11989
+ this.options = options;
11990
+ }
11991
+
11992
+ PreventRenderBlock.prototype.transform = function PreventRenderBlock_transform(ast) {
11993
+ var moduleName = this.options.moduleName;
11994
+ var walker = new this.syntax.Walker();
11995
+
11996
+ walker.visit(ast, function (node) {
11997
+ if (!validate(node)) {
11998
+ return;
11999
+ }
12000
+
12001
+ throw new _emberMetalError.default(assertionMessage(moduleName, node));
12002
+ });
12003
+
12004
+ return ast;
12005
+ };
12006
+
11835
12007
  function validate(node) {
11836
12008
  return node.type === 'BlockStatement' && node.path.original === 'render';
11837
12009
  }
11838
12010
 
11839
- function deprecationMessage(moduleName, node) {
12011
+ function assertionMessage(moduleName, node) {
11840
12012
  var sourceInformation = _emberTemplateCompilerSystemCalculateLocationDisplay.default(moduleName, node.loc);
11841
12013
 
11842
- return 'Usage of `render` in block form is deprecated ' + sourceInformation + '.';
12014
+ return 'Usage of `render` in block form is unsupported ' + sourceInformation + '.';
11843
12015
  }
11844
12016
  });
11845
12017
  enifed('ember-template-compiler/plugins/transform-angle-bracket-components', ['exports'], function (exports) {
@@ -12052,68 +12224,54 @@ enifed('ember-template-compiler/plugins/transform-component-curly-to-readonly',
12052
12224
 
12053
12225
  exports.default = TransformComponentCurlyToReadonly;
12054
12226
  });
12055
- enifed('ember-template-compiler/plugins/transform-each-into-collection', ['exports', 'ember-metal/debug', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalDebug, _emberTemplateCompilerSystemCalculateLocationDisplay) {
12227
+ enifed('ember-template-compiler/plugins/transform-inline-link-to', ['exports'], function (exports) {
12056
12228
  'use strict';
12057
12229
 
12058
- exports.default = TransformEachIntoCollection;
12230
+ exports.default = TransformInlineLinkTo;
12059
12231
 
12060
- function TransformEachIntoCollection(options) {
12232
+ function TransformInlineLinkTo(options) {
12061
12233
  this.options = options;
12062
12234
  this.syntax = null;
12063
12235
  }
12064
12236
 
12065
- TransformEachIntoCollection.prototype.transform = function TransformEachIntoCollection_transform(ast) {
12066
- var moduleName = this.options.moduleName;
12067
- var b = this.syntax.builders;
12068
- var walker = new this.syntax.Walker();
12069
-
12070
- walker.visit(ast, function (node) {
12071
- var legacyHashKey = validate(node);
12072
- if (!legacyHashKey) {
12073
- return;
12074
- }
12075
-
12076
- var moduleInfo = _emberTemplateCompilerSystemCalculateLocationDisplay.default(moduleName, legacyHashKey.loc);
12237
+ TransformInlineLinkTo.prototype.transform = function TransformInlineLinkTo_transform(ast) {
12238
+ var _syntax = this.syntax;
12239
+ var traverse = _syntax.traverse;
12240
+ var b = _syntax.builders;
12077
12241
 
12078
- _emberMetalDebug.deprecate('Using \'' + legacyHashKey.key + '\' with \'{{each}}\' ' + moduleInfo + 'is deprecated. Please refactor to a component.', false, { id: 'ember-template-compiler.transform-each-into-collection', until: '2.0.0' });
12242
+ function buildProgram(content) {
12243
+ return b.program([buildStatement(content)]);
12244
+ }
12079
12245
 
12080
- var list = node.params.shift();
12081
- node.path = b.path('collection');
12246
+ function buildStatement(content) {
12247
+ switch (content.type) {
12248
+ case 'PathExpression':
12249
+ return b.mustache(content);
12082
12250
 
12083
- node.params.unshift(b.string('-legacy-each'));
12251
+ case 'SubExpression':
12252
+ return b.mustache(content.path, content.params, content.hash);
12084
12253
 
12085
- var pair = b.pair('content', list);
12086
- pair.loc = list.loc;
12254
+ // The default case handles literals.
12255
+ default:
12256
+ return b.text('' + content.value);
12257
+ }
12258
+ }
12087
12259
 
12088
- node.hash.pairs.push(pair);
12260
+ function unsafeHtml(expr) {
12261
+ return b.sexpr('-html-safe', [expr]);
12262
+ }
12089
12263
 
12090
- //pair = b.pair('dataSource', list);
12091
- //node.hash.pairs.push(pair);
12264
+ traverse(ast, {
12265
+ MustacheStatement: function (node) {
12266
+ if (node.path.original === 'link-to') {
12267
+ var content = node.escaped ? node.params[0] : unsafeHtml(node.params[0]);
12268
+ return b.block('link-to', node.params.slice(1), node.hash, buildProgram(content));
12269
+ }
12270
+ }
12092
12271
  });
12093
12272
 
12094
12273
  return ast;
12095
12274
  };
12096
-
12097
- function validate(node) {
12098
- if ((node.type === 'BlockStatement' || node.type === 'MustacheStatement') && node.path.original === 'each') {
12099
- return any(node.hash.pairs, function (pair) {
12100
- var key = pair.key;
12101
- return key === 'itemController' || key === 'itemView' || key === 'itemViewClass' || key === 'tagName' || key === 'emptyView' || key === 'emptyViewClass';
12102
- });
12103
- }
12104
-
12105
- return false;
12106
- }
12107
-
12108
- function any(list, predicate) {
12109
- for (var i = 0, l = list.length; i < l; i++) {
12110
- if (predicate(list[i])) {
12111
- return list[i];
12112
- }
12113
- }
12114
-
12115
- return false;
12116
- }
12117
12275
  });
12118
12276
  enifed('ember-template-compiler/plugins/transform-input-on-to-onEvent', ['exports', 'ember-metal/debug', 'ember-template-compiler/system/calculate-location-display'], function (exports, _emberMetalDebug, _emberTemplateCompilerSystemCalculateLocationDisplay) {
12119
12277
  'use strict';
@@ -12577,36 +12735,6 @@ enifed('ember-template-compiler/plugins/transform-top-level-components', ['expor
12577
12735
 
12578
12736
  exports.default = TransformTopLevelComponents;
12579
12737
  });
12580
- enifed('ember-template-compiler/plugins/transform-unescaped-inline-link-to', ['exports'], function (exports) {
12581
- 'use strict';
12582
-
12583
- exports.default = TransformUnescapedInlineLinkTo;
12584
-
12585
- function TransformUnescapedInlineLinkTo(options) {
12586
- this.options = options;
12587
- this.syntax = null;
12588
- }
12589
-
12590
- TransformUnescapedInlineLinkTo.prototype.transform = function TransformUnescapedInlineLinkTo_transform(ast) {
12591
- var b = this.syntax.builders;
12592
- var walker = new this.syntax.Walker();
12593
-
12594
- walker.visit(ast, function (node) {
12595
- if (!validate(node)) {
12596
- return;
12597
- }
12598
-
12599
- node.escaped = true;
12600
- node.params[0] = b.sexpr(b.string('-html-safe'), [node.params[0]]);
12601
- });
12602
-
12603
- return ast;
12604
- };
12605
-
12606
- function validate(node) {
12607
- return node.type === 'MustacheStatement' && node.path.original === 'link-to' && !node.escaped;
12608
- }
12609
- });
12610
12738
  enifed('ember-template-compiler/plugins', ['exports'], function (exports) {
12611
12739
  /**
12612
12740
  @module ember
@@ -12674,7 +12802,7 @@ enifed('ember-template-compiler/system/calculate-location-display', ['exports'],
12674
12802
  return moduleInfo;
12675
12803
  }
12676
12804
  });
12677
- enifed('ember-template-compiler/system/compile', ['exports', 'require', 'ember-template-compiler/system/compile_options', 'ember-template-compiler/system/template'], function (exports, _require, _emberTemplateCompilerSystemCompile_options, _emberTemplateCompilerSystemTemplate) {
12805
+ enifed('ember-template-compiler/system/compile', ['exports', 'ember-metal/features', 'require', 'ember-template-compiler/system/compile_options', 'ember-template-compiler/system/template'], function (exports, _emberMetalFeatures, _require, _emberTemplateCompilerSystemCompile_options, _emberTemplateCompilerSystemTemplate) {
12678
12806
  /**
12679
12807
  @module ember
12680
12808
  @submodule ember-template-compiler
@@ -12717,12 +12845,14 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
12717
12845
 
12718
12846
  'use strict';
12719
12847
 
12848
+ var compileOptions = undefined;
12849
+ var fragmentReason = undefined;
12850
+
12720
12851
  /**
12721
12852
  @private
12722
12853
  @property compileOptions
12723
12854
  */
12724
-
12725
- exports.default = function (_options) {
12855
+ compileOptions = function (_options) {
12726
12856
  var disableComponentGeneration = true;
12727
12857
 
12728
12858
  var options = undefined;
@@ -12749,7 +12879,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
12749
12879
  options.buildMeta = function buildMeta(program) {
12750
12880
  return {
12751
12881
  fragmentReason: fragmentReason(program),
12752
- revision: 'Ember@2.5.1',
12882
+ revision: 'Ember@2.6.0-beta.1',
12753
12883
  loc: program.loc,
12754
12884
  moduleName: options.moduleName
12755
12885
  };
@@ -12758,7 +12888,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
12758
12888
  return options;
12759
12889
  };
12760
12890
 
12761
- function fragmentReason(program) {
12891
+ fragmentReason = function (program) {
12762
12892
  var loc = program.loc;
12763
12893
  var body = program.body;
12764
12894
 
@@ -12813,13 +12943,16 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
12813
12943
  } else {
12814
12944
  return false;
12815
12945
  }
12816
- }
12946
+ };
12947
+
12948
+ exports.default = compileOptions;
12817
12949
  });
12818
- enifed('ember-template-compiler/system/precompile', ['exports', 'require', 'ember-template-compiler/system/compile_options'], function (exports, _require, _emberTemplateCompilerSystemCompile_options) {
12950
+ enifed('ember-template-compiler/system/precompile', ['exports', 'ember-metal/features', 'require', 'ember-template-compiler/system/compile_options'], function (exports, _emberMetalFeatures, _require, _emberTemplateCompilerSystemCompile_options) {
12819
12951
  /**
12820
12952
  @module ember
12821
12953
  @submodule ember-template-compiler
12822
12954
  */
12955
+
12823
12956
  'use strict';
12824
12957
 
12825
12958
  var compileSpec;
@@ -12847,7 +12980,7 @@ enifed('ember-template-compiler/system/precompile', ['exports', 'require', 'embe
12847
12980
  return compileSpec(templateString, _emberTemplateCompilerSystemCompile_options.default(options));
12848
12981
  };
12849
12982
  });
12850
- enifed('ember-template-compiler/system/template', ['exports', 'htmlbars-runtime/hooks'], function (exports, _htmlbarsRuntimeHooks) {
12983
+ enifed('ember-template-compiler/system/template', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require2) {
12851
12984
  'use strict';
12852
12985
 
12853
12986
  /**
@@ -12864,9 +12997,15 @@ enifed('ember-template-compiler/system/template', ['exports', 'htmlbars-runtime/
12864
12997
  @param {Function} templateSpec This is the compiled HTMLBars template spec.
12865
12998
  */
12866
12999
 
12867
- exports.default = function (templateSpec) {
13000
+ var template = undefined;
13001
+
13002
+ var _require = _require2.default('htmlbars-runtime/hooks');
13003
+
13004
+ var wrap = _require.wrap;
13005
+
13006
+ template = function (templateSpec) {
12868
13007
  if (!templateSpec.render) {
12869
- templateSpec = _htmlbarsRuntimeHooks.wrap(templateSpec);
13008
+ templateSpec = wrap(templateSpec);
12870
13009
  }
12871
13010
 
12872
13011
  templateSpec.isTop = true;
@@ -12874,6 +13013,7 @@ enifed('ember-template-compiler/system/template', ['exports', 'htmlbars-runtime/
12874
13013
 
12875
13014
  return templateSpec;
12876
13015
  };
13016
+ exports.default = template;
12877
13017
  });
12878
13018
  enifed("htmlbars-compiler/compiler", ["exports", "htmlbars-syntax/parser", "htmlbars-compiler/template-compiler", "htmlbars-runtime/hooks", "htmlbars-runtime/render"], function (exports, _htmlbarsSyntaxParser, _htmlbarsCompilerTemplateCompiler, _htmlbarsRuntimeHooks, _htmlbarsRuntimeRender) {
12879
13019
  /*jshint evil:true*/
@@ -18080,7 +18220,9 @@ enifed("htmlbars-syntax/parser/handlebars-node-visitors", ["exports", "htmlbars-
18080
18220
  changeLines = leadingNewlineDifference(content.original, content.value);
18081
18221
  }
18082
18222
 
18083
- this.tokenizer.line = this.tokenizer.line + changeLines;
18223
+ this.tokenizer.line = content.loc.start.line + changeLines;
18224
+ this.tokenizer.column = changeLines ? 0 : content.loc.start.column;
18225
+
18084
18226
  this.tokenizer.tokenizePart(content.value);
18085
18227
  this.tokenizer.flushData();
18086
18228
  },