ember-source 2.15.1 → 2.15.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b16a33ee5f7d098c3645827fa1b883ada71366c0
4
- data.tar.gz: 7c5fef9ae81fe0844c89874d17f84398559d870b
3
+ metadata.gz: 75ea3d50be79c06fde837b9c2ade40348eee5cac
4
+ data.tar.gz: 9f119605dda824c233c6846e83053b637a9a5fe6
5
5
  SHA512:
6
- metadata.gz: dedf4b44506283b10c9bdfe18b1fa49aeb1928d04e1c9fc17e81252934d6c6cefcad70a1ead868aca3f1bf30c2d67ebd63aae611dff37e1f5ddae67ff41e886d
7
- data.tar.gz: e6d1ac559afab94d902c80749369779424d89a71703d68bd98a01ad8454df162f5dd9b7992c41a9f9483178c340d9ba4c26d7ec902c241eddcdf778eae2d029c
6
+ metadata.gz: 5ec4b3cdeb3ebb518c68b290c5de34eed6eb2ce9860d73025cf009c3cfadbb07ae80496c25935a3d9ec7293c095d523750037495753372cc5a9915cb1a3db62c
7
+ data.tar.gz: e7c808cca25dbef35e3a477e3c77ad7569a7c9bcd683b08eeef73cde414e2e2d85ff9a09be6dcd48ba03e0b9ea3e03ca82ede59da4f92be31c56c24183646233
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.15.1
1
+ 2.15.2
@@ -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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -17145,7 +17145,7 @@ enifed('ember/features', ['exports', 'ember-environment', 'ember-utils'], functi
17145
17145
  enifed("ember/version", ["exports"], function (exports) {
17146
17146
  "use strict";
17147
17147
 
17148
- exports.default = "2.15.1";
17148
+ exports.default = "2.15.2";
17149
17149
  });
17150
17150
  enifed("handlebars", ["exports"], function (exports) {
17151
17151
  "use strict";
@@ -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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
data/dist/ember-tests.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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -1779,6 +1779,7 @@ enifed('ember-application/tests/system/application_instance_test', ['ember-babel
1779
1779
  appInstance = (0, _emberMetal.run)(function () {
1780
1780
  return _applicationInstance.default.create({ application: application });
1781
1781
  });
1782
+ appInstance.setupRegistry();
1782
1783
 
1783
1784
  application.customEvents = {
1784
1785
  awesome: 'sauce'
@@ -1798,6 +1799,7 @@ enifed('ember-application/tests/system/application_instance_test', ['ember-babel
1798
1799
  (0, _emberMetal.run)(function () {
1799
1800
  return appInstance = _applicationInstance.default.create({ application: application });
1800
1801
  });
1802
+ appInstance.setupRegistry();
1801
1803
 
1802
1804
  application.customEvents = {
1803
1805
  awesome: 'sauce'
@@ -1817,6 +1819,7 @@ enifed('ember-application/tests/system/application_instance_test', ['ember-babel
1817
1819
  appInstance = (0, _emberMetal.run)(function () {
1818
1820
  return _applicationInstance.default.create({ application: application });
1819
1821
  });
1822
+ appInstance.setupRegistry();
1820
1823
 
1821
1824
  appInstance.customEvents = {
1822
1825
  awesome: 'sauce'
@@ -5762,15 +5765,22 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5762
5765
  });
5763
5766
  };
5764
5767
 
5765
- _class.prototype['@test visit() on engine resolves engine component'] = function (assert) {
5768
+ _class.prototype['@test visit() does not setup the event_dispatcher:main if isInteractive is false (with Engines) GH#15615'] = function (assert) {
5766
5769
  var _this8 = this;
5767
5770
 
5768
- assert.expect(2);
5771
+ assert.expect(3);
5769
5772
 
5770
5773
  this.router.map(function () {
5771
5774
  this.mount('blog');
5772
5775
  });
5773
5776
 
5777
+ this.addTemplate('application', '<h1>Hello world</h1>{{outlet}}');
5778
+ this.add('event_dispatcher:main', {
5779
+ create: function () {
5780
+ throw new Error('should not happen!');
5781
+ }
5782
+ });
5783
+
5774
5784
  // Register engine
5775
5785
  var BlogEngine = _engine.default.extend({
5776
5786
  init: function () {
@@ -5790,14 +5800,15 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5790
5800
  var BlogMap = function () {};
5791
5801
  this.add('route-map:blog', BlogMap);
5792
5802
 
5793
- assert.strictEqual(this.$().children().length, 0, 'there are no elements in the fixture element');
5803
+ assert.strictEqual(this.$('#qunit-fixture').children().length, 0, 'there are no elements in the fixture element');
5794
5804
 
5795
- return this.visit('/blog', { shouldRender: true }).then(function (instance) {
5805
+ return this.visit('/blog', { isInteractive: false }).then(function (instance) {
5806
+ assert.ok(instance instanceof _applicationInstance.default, 'promise is resolved with an ApplicationInstance');
5796
5807
  assert.strictEqual(_this8.$().find('p').text(), 'Dis cache money', 'Engine component is resolved');
5797
5808
  });
5798
5809
  };
5799
5810
 
5800
- _class.prototype['@test visit() on engine resolves engine helper'] = function (assert) {
5811
+ _class.prototype['@test visit() on engine resolves engine component'] = function (assert) {
5801
5812
  var _this9 = this;
5802
5813
 
5803
5814
  assert.expect(2);
@@ -5813,6 +5824,41 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5813
5824
  args[_key2] = arguments[_key2];
5814
5825
  }
5815
5826
 
5827
+ this._super.apply(this, args);
5828
+ this.register('template:application', (0, _emberTemplateCompiler.compile)('{{cache-money}}'));
5829
+ this.register('template:components/cache-money', (0, _emberTemplateCompiler.compile)('\n <p>Dis cache money</p>\n '));
5830
+ this.register('component:cache-money', _emberGlimmer.Component.extend({}));
5831
+ }
5832
+ });
5833
+ this.add('engine:blog', BlogEngine);
5834
+
5835
+ // Register engine route map
5836
+ var BlogMap = function () {};
5837
+ this.add('route-map:blog', BlogMap);
5838
+
5839
+ assert.strictEqual(this.$().children().length, 0, 'there are no elements in the fixture element');
5840
+
5841
+ return this.visit('/blog', { shouldRender: true }).then(function (instance) {
5842
+ assert.strictEqual(_this9.$().find('p').text(), 'Dis cache money', 'Engine component is resolved');
5843
+ });
5844
+ };
5845
+
5846
+ _class.prototype['@test visit() on engine resolves engine helper'] = function (assert) {
5847
+ var _this10 = this;
5848
+
5849
+ assert.expect(2);
5850
+
5851
+ this.router.map(function () {
5852
+ this.mount('blog');
5853
+ });
5854
+
5855
+ // Register engine
5856
+ var BlogEngine = _engine.default.extend({
5857
+ init: function () {
5858
+ for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5859
+ args[_key3] = arguments[_key3];
5860
+ }
5861
+
5816
5862
  this._super.apply(this, args);
5817
5863
  this.register('template:application', (0, _emberTemplateCompiler.compile)('{{swag}}'));
5818
5864
  this.register('helper:swag', (0, _emberGlimmer.helper)(function () {
@@ -5829,12 +5875,12 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5829
5875
  assert.strictEqual(this.$().children().length, 0, 'there are no elements in the fixture element');
5830
5876
 
5831
5877
  return this.visit('/blog', { shouldRender: true }).then(function () {
5832
- assert.strictEqual(_this9.$().text(), 'turnt up', 'Engine component is resolved');
5878
+ assert.strictEqual(_this10.$().text(), 'turnt up', 'Engine component is resolved');
5833
5879
  });
5834
5880
  };
5835
5881
 
5836
5882
  _class.prototype['@test Ember Islands-style setup'] = function (assert) {
5837
- var _this10 = this;
5883
+ var _this11 = this;
5838
5884
 
5839
5885
  var xFooInitCalled = false;
5840
5886
  var xFooDidInsertElementCalled = false;
@@ -5921,9 +5967,9 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5921
5967
  var instances = [];
5922
5968
 
5923
5969
  return _emberRuntime.RSVP.all([this.runTask(function () {
5924
- return _this10.application.visit('/x-foo?data=' + data, { rootElement: $foo[0] });
5970
+ return _this11.application.visit('/x-foo?data=' + data, { rootElement: $foo[0] });
5925
5971
  }), this.runTask(function () {
5926
- return _this10.application.visit('/x-bar', { rootElement: $bar[0] });
5972
+ return _this11.application.visit('/x-bar', { rootElement: $bar[0] });
5927
5973
  })]).then(function (_instances) {
5928
5974
  instances = _instances;
5929
5975
 
@@ -5941,14 +5987,14 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5941
5987
  assert.equal($bar.find('button').text(), 'Join 0 others in clicking me!');
5942
5988
  assert.ok($bar.text().indexOf('X-Foo') === -1);
5943
5989
 
5944
- _this10.runTask(function () {
5990
+ _this11.runTask(function () {
5945
5991
  $foo.find('x-foo').click();
5946
5992
  });
5947
5993
 
5948
5994
  assert.equal($foo.find('p').text(), 'Hello Godfrey, I have been clicked 1 times (1 times combined)!');
5949
5995
  assert.equal($bar.find('button').text(), 'Join 1 others in clicking me!');
5950
5996
 
5951
- _this10.runTask(function () {
5997
+ _this11.runTask(function () {
5952
5998
  $bar.find('button').click();
5953
5999
  $bar.find('button').click();
5954
6000
  });
@@ -5956,7 +6002,7 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5956
6002
  assert.equal($foo.find('p').text(), 'Hello Godfrey, I have been clicked 1 times (3 times combined)!');
5957
6003
  assert.equal($bar.find('button').text(), 'Join 3 others in clicking me!');
5958
6004
  }).finally(function () {
5959
- _this10.runTask(function () {
6005
+ _this11.runTask(function () {
5960
6006
  instances.forEach(function (instance) {
5961
6007
  instance.destroy();
5962
6008
  });
@@ -7715,9 +7761,38 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7715
7761
  });
7716
7762
  };
7717
7763
 
7718
- _class.prototype['@test Records Added'] = function testRecordsAdded() {
7764
+ _class.prototype['@test Model Types Updated but Unchanged Do not Trigger Callbacks'] = function testModelTypesUpdatedButUnchangedDoNotTriggerCallbacks() {
7719
7765
  var _this6 = this;
7720
7766
 
7767
+ expect(0);
7768
+ var records = (0, _emberRuntime.A)([1, 2, 3]);
7769
+ this.add('data-adapter:main', DataAdapter.extend({
7770
+ getRecords: function (klass, name) {
7771
+ return records;
7772
+ }
7773
+ }));
7774
+ this.add('model:post', PostClass);
7775
+
7776
+ return this.visit('/').then(function () {
7777
+ adapter = _this6.applicationInstance.lookup('data-adapter:main');
7778
+
7779
+ function modelTypesAdded(types) {
7780
+ (0, _emberMetal.run)(function () {
7781
+ records.arrayContentDidChange(0, 0, 0);
7782
+ });
7783
+ }
7784
+
7785
+ function modelTypesUpdated(types) {
7786
+ ok(false, "modelTypesUpdated should not be triggered if the array didn't change");
7787
+ }
7788
+
7789
+ adapter.watchModelTypes(modelTypesAdded, modelTypesUpdated);
7790
+ });
7791
+ };
7792
+
7793
+ _class.prototype['@test Records Added'] = function testRecordsAdded() {
7794
+ var _this7 = this;
7795
+
7721
7796
  var countAdded = 1;
7722
7797
  var post = PostClass.create();
7723
7798
  var recordList = (0, _emberRuntime.A)([post]);
@@ -7739,7 +7814,7 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7739
7814
  this.add('model:post', PostClass);
7740
7815
 
7741
7816
  return this.visit('/').then(function () {
7742
- adapter = _this6.applicationInstance.lookup('data-adapter:main');
7817
+ adapter = _this7.applicationInstance.lookup('data-adapter:main');
7743
7818
 
7744
7819
  function recordsAdded(records) {
7745
7820
  var record = records[0];
@@ -7757,7 +7832,7 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7757
7832
  };
7758
7833
 
7759
7834
  _class.prototype['@test Observes and releases a record correctly'] = function testObservesAndReleasesARecordCorrectly() {
7760
- var _this7 = this;
7835
+ var _this8 = this;
7761
7836
 
7762
7837
  var updatesCalled = 0;
7763
7838
  var post = PostClass.create({ title: 'Post' });
@@ -7784,7 +7859,7 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7784
7859
  this.add('model:post', PostClass);
7785
7860
 
7786
7861
  return this.visit('/').then(function () {
7787
- adapter = _this7.applicationInstance.lookup('data-adapter:main');
7862
+ adapter = _this8.applicationInstance.lookup('data-adapter:main');
7788
7863
 
7789
7864
  function recordsAdded() {
7790
7865
  (0, _emberMetal.set)(post, 'title', 'Post Modified');
@@ -7803,12 +7878,12 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7803
7878
  };
7804
7879
 
7805
7880
  _class.prototype['@test _nameToClass does not error when not found'] = function test_nameToClassDoesNotErrorWhenNotFound() {
7806
- var _this8 = this;
7881
+ var _this9 = this;
7807
7882
 
7808
7883
  this.add('data-adapter:main', DataAdapter);
7809
7884
 
7810
7885
  return this.visit('/').then(function () {
7811
- adapter = _this8.applicationInstance.lookup('data-adapter:main');
7886
+ adapter = _this9.applicationInstance.lookup('data-adapter:main');
7812
7887
 
7813
7888
  var klass = adapter._nameToClass('foo');
7814
7889
 
@@ -23010,15 +23085,6 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
23010
23085
  this.render('{{x-foo}}');
23011
23086
  };
23012
23087
 
23013
- _class2.prototype['@test canDispatchToEventManager is deprecated in EventDispatcher'] = function testCanDispatchToEventManagerIsDeprecatedInEventDispatcher(assert) {
23014
- var MyDispatcher = _emberViews.EventDispatcher.extend({
23015
- canDispatchToEventManager: null
23016
- });
23017
-
23018
- expectDeprecation(/`canDispatchToEventManager` has been deprecated/);
23019
- MyDispatcher.create();
23020
- };
23021
-
23022
23088
  _class2.prototype['@test a rootElement can be specified'] = function testARootElementCanBeSpecified(assert) {
23023
23089
  this.$().append('<div id="app"></div>');
23024
23090
  this.dispatcher.setup({ myevent: 'myEvent' }, '#app');
@@ -23063,21 +23129,49 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
23063
23129
  return _class2;
23064
23130
  }(_testCase.RenderingTest));
23065
23131
 
23132
+ (0, _testCase.moduleFor)('custom EventDispatcher subclass with #setup', function (_RenderingTest3) {
23133
+ (0, _emberBabel.inherits)(_class3, _RenderingTest3);
23134
+
23135
+ function _class3() {
23136
+ (0, _emberBabel.classCallCheck)(this, _class3);
23137
+
23138
+ var _this9 = (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest3.call(this));
23139
+
23140
+ var dispatcher = _this9.owner.lookup('event_dispatcher:main');
23141
+ (0, _emberMetal.run)(dispatcher, 'destroy');
23142
+ _this9.owner.__container__.reset('event_dispatcher:main');
23143
+ _this9.owner.unregister('event_dispatcher:main');
23144
+ return _this9;
23145
+ }
23146
+
23147
+ _class3.prototype['@test canDispatchToEventManager is deprecated in EventDispatcher'] = function testCanDispatchToEventManagerIsDeprecatedInEventDispatcher(assert) {
23148
+ var MyDispatcher = _emberViews.EventDispatcher.extend({
23149
+ canDispatchToEventManager: null
23150
+ });
23151
+ this.owner.register('event_dispatcher:main', MyDispatcher);
23152
+
23153
+ expectDeprecation(/`canDispatchToEventManager` has been deprecated/);
23154
+ this.owner.lookup('event_dispatcher:main');
23155
+ };
23156
+
23157
+ return _class3;
23158
+ }(_testCase.RenderingTest));
23159
+
23066
23160
  if (_features.EMBER_IMPROVED_INSTRUMENTATION) {
23067
- (0, _testCase.moduleFor)('EventDispatcher - Instrumentation', function (_RenderingTest3) {
23068
- (0, _emberBabel.inherits)(_class3, _RenderingTest3);
23161
+ (0, _testCase.moduleFor)('EventDispatcher - Instrumentation', function (_RenderingTest4) {
23162
+ (0, _emberBabel.inherits)(_class4, _RenderingTest4);
23069
23163
 
23070
- function _class3() {
23071
- (0, _emberBabel.classCallCheck)(this, _class3);
23072
- return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest3.apply(this, arguments));
23164
+ function _class4() {
23165
+ (0, _emberBabel.classCallCheck)(this, _class4);
23166
+ return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest4.apply(this, arguments));
23073
23167
  }
23074
23168
 
23075
- _class3.prototype.teardown = function teardown() {
23076
- _RenderingTest3.prototype.teardown.call(this);
23169
+ _class4.prototype.teardown = function teardown() {
23170
+ _RenderingTest4.prototype.teardown.call(this);
23077
23171
  (0, _emberMetal.instrumentationReset)();
23078
23172
  };
23079
23173
 
23080
- _class3.prototype['@test instruments triggered events'] = function testInstrumentsTriggeredEvents(assert) {
23174
+ _class4.prototype['@test instruments triggered events'] = function testInstrumentsTriggeredEvents(assert) {
23081
23175
  var clicked = 0;
23082
23176
 
23083
23177
  this.registerComponent('x-foo', {
@@ -23124,20 +23218,20 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
23124
23218
  assert.strictEqual(keypressInstrumented, 0, 'The keypress was not instrumented');
23125
23219
  };
23126
23220
 
23127
- return _class3;
23221
+ return _class4;
23128
23222
  }(_testCase.RenderingTest));
23129
23223
  }
23130
23224
 
23131
23225
  if (canDataTransfer) {
23132
- (0, _testCase.moduleFor)('EventDispatcher - Event Properties', function (_RenderingTest4) {
23133
- (0, _emberBabel.inherits)(_class4, _RenderingTest4);
23226
+ (0, _testCase.moduleFor)('EventDispatcher - Event Properties', function (_RenderingTest5) {
23227
+ (0, _emberBabel.inherits)(_class5, _RenderingTest5);
23134
23228
 
23135
- function _class4() {
23136
- (0, _emberBabel.classCallCheck)(this, _class4);
23137
- return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest4.apply(this, arguments));
23229
+ function _class5() {
23230
+ (0, _emberBabel.classCallCheck)(this, _class5);
23231
+ return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest5.apply(this, arguments));
23138
23232
  }
23139
23233
 
23140
- _class4.prototype['@test dataTransfer property is added to drop event'] = function testDataTransferPropertyIsAddedToDropEvent(assert) {
23234
+ _class5.prototype['@test dataTransfer property is added to drop event'] = function testDataTransferPropertyIsAddedToDropEvent(assert) {
23141
23235
  var receivedEvent = void 0;
23142
23236
  this.registerComponent('x-foo', {
23143
23237
  ComponentClass: _helpers.Component.extend({
@@ -23153,7 +23247,7 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
23153
23247
  assert.equal(receivedEvent.dataTransfer, 'success');
23154
23248
  };
23155
23249
 
23156
- return _class4;
23250
+ return _class5;
23157
23251
  }(_testCase.RenderingTest));
23158
23252
  }
23159
23253
  });
@@ -79661,10 +79755,12 @@ enifed('internal-test-helpers/test-cases/abstract-rendering', ['exports', 'ember
79661
79755
 
79662
79756
  var _this = (0, _emberBabel.possibleConstructorReturn)(this, _AbstractTestCase.call(this));
79663
79757
 
79758
+ var bootOptions = _this.getBootOptions();
79759
+
79664
79760
  var owner = _this.owner = (0, _buildOwner.default)({
79665
79761
  ownerOptions: _this.getOwnerOptions(),
79666
- bootOptions: _this.getBootOptions(),
79667
- resolver: _this.getResolver()
79762
+ resolver: _this.getResolver(),
79763
+ bootOptions: bootOptions
79668
79764
  });
79669
79765
 
79670
79766
  _this.renderer = _this.owner.lookup('renderer:-dom');
@@ -79673,7 +79769,9 @@ enifed('internal-test-helpers/test-cases/abstract-rendering', ['exports', 'ember
79673
79769
 
79674
79770
  owner.register('event_dispatcher:main', _emberViews.EventDispatcher);
79675
79771
  owner.inject('event_dispatcher:main', '_viewRegistry', '-view-registry:main');
79676
- owner.lookup('event_dispatcher:main').setup(_this.getCustomDispatcherEvents(), _this.element);
79772
+ if (!bootOptions || bootOptions.isInteractive !== false) {
79773
+ owner.lookup('event_dispatcher:main').setup(_this.getCustomDispatcherEvents(), _this.element);
79774
+ }
79677
79775
  return _this;
79678
79776
  }
79679
79777
 
@@ -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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -1536,6 +1536,7 @@ enifed('ember-application/tests/system/application_instance_test', ['ember-babel
1536
1536
  appInstance = (0, _emberMetal.run)(function () {
1537
1537
  return _applicationInstance.default.create({ application: application });
1538
1538
  });
1539
+ appInstance.setupRegistry();
1539
1540
 
1540
1541
  application.customEvents = {
1541
1542
  awesome: 'sauce'
@@ -1555,6 +1556,7 @@ enifed('ember-application/tests/system/application_instance_test', ['ember-babel
1555
1556
  (0, _emberMetal.run)(function () {
1556
1557
  return appInstance = _applicationInstance.default.create({ application: application });
1557
1558
  });
1559
+ appInstance.setupRegistry();
1558
1560
 
1559
1561
  application.customEvents = {
1560
1562
  awesome: 'sauce'
@@ -1574,6 +1576,7 @@ enifed('ember-application/tests/system/application_instance_test', ['ember-babel
1574
1576
  appInstance = (0, _emberMetal.run)(function () {
1575
1577
  return _applicationInstance.default.create({ application: application });
1576
1578
  });
1579
+ appInstance.setupRegistry();
1577
1580
 
1578
1581
  appInstance.customEvents = {
1579
1582
  awesome: 'sauce'
@@ -5382,15 +5385,22 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5382
5385
  });
5383
5386
  };
5384
5387
 
5385
- _class.prototype['@test visit() on engine resolves engine component'] = function (assert) {
5388
+ _class.prototype['@test visit() does not setup the event_dispatcher:main if isInteractive is false (with Engines) GH#15615'] = function (assert) {
5386
5389
  var _this8 = this;
5387
5390
 
5388
- assert.expect(2);
5391
+ assert.expect(3);
5389
5392
 
5390
5393
  this.router.map(function () {
5391
5394
  this.mount('blog');
5392
5395
  });
5393
5396
 
5397
+ this.addTemplate('application', '<h1>Hello world</h1>{{outlet}}');
5398
+ this.add('event_dispatcher:main', {
5399
+ create: function () {
5400
+ throw new Error('should not happen!');
5401
+ }
5402
+ });
5403
+
5394
5404
  // Register engine
5395
5405
  var BlogEngine = _engine.default.extend({
5396
5406
  init: function () {
@@ -5412,14 +5422,15 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5412
5422
 
5413
5423
  this.add('route-map:blog', function () {});
5414
5424
 
5415
- assert.strictEqual(this.$().children().length, 0, 'there are no elements in the fixture element');
5425
+ assert.strictEqual(this.$('#qunit-fixture').children().length, 0, 'there are no elements in the fixture element');
5416
5426
 
5417
- return this.visit('/blog', { shouldRender: true }).then(function () {
5427
+ return this.visit('/blog', { isInteractive: false }).then(function (instance) {
5428
+ assert.ok(instance instanceof _applicationInstance.default, 'promise is resolved with an ApplicationInstance');
5418
5429
  assert.strictEqual(_this8.$().find('p').text(), 'Dis cache money', 'Engine component is resolved');
5419
5430
  });
5420
5431
  };
5421
5432
 
5422
- _class.prototype['@test visit() on engine resolves engine helper'] = function (assert) {
5433
+ _class.prototype['@test visit() on engine resolves engine component'] = function (assert) {
5423
5434
  var _this9 = this;
5424
5435
 
5425
5436
  assert.expect(2);
@@ -5437,6 +5448,43 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5437
5448
  args[_key2] = arguments[_key2];
5438
5449
  }
5439
5450
 
5451
+ this._super.apply(this, args);
5452
+ this.register('template:application', (0, _emberTemplateCompiler.compile)('{{cache-money}}'));
5453
+ this.register('template:components/cache-money', (0, _emberTemplateCompiler.compile)('\n <p>Dis cache money</p>\n '));
5454
+ this.register('component:cache-money', _emberGlimmer.Component.extend({}));
5455
+ }
5456
+ });
5457
+ this.add('engine:blog', BlogEngine);
5458
+
5459
+ // Register engine route map
5460
+
5461
+ this.add('route-map:blog', function () {});
5462
+
5463
+ assert.strictEqual(this.$().children().length, 0, 'there are no elements in the fixture element');
5464
+
5465
+ return this.visit('/blog', { shouldRender: true }).then(function () {
5466
+ assert.strictEqual(_this9.$().find('p').text(), 'Dis cache money', 'Engine component is resolved');
5467
+ });
5468
+ };
5469
+
5470
+ _class.prototype['@test visit() on engine resolves engine helper'] = function (assert) {
5471
+ var _this10 = this;
5472
+
5473
+ assert.expect(2);
5474
+
5475
+ this.router.map(function () {
5476
+ this.mount('blog');
5477
+ });
5478
+
5479
+ // Register engine
5480
+ var BlogEngine = _engine.default.extend({
5481
+ init: function () {
5482
+ var _len3, args, _key3;
5483
+
5484
+ for (_len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5485
+ args[_key3] = arguments[_key3];
5486
+ }
5487
+
5440
5488
  this._super.apply(this, args);
5441
5489
  this.register('template:application', (0, _emberTemplateCompiler.compile)('{{swag}}'));
5442
5490
  this.register('helper:swag', (0, _emberGlimmer.helper)(function () {
@@ -5453,12 +5501,12 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5453
5501
  assert.strictEqual(this.$().children().length, 0, 'there are no elements in the fixture element');
5454
5502
 
5455
5503
  return this.visit('/blog', { shouldRender: true }).then(function () {
5456
- assert.strictEqual(_this9.$().text(), 'turnt up', 'Engine component is resolved');
5504
+ assert.strictEqual(_this10.$().text(), 'turnt up', 'Engine component is resolved');
5457
5505
  });
5458
5506
  };
5459
5507
 
5460
5508
  _class.prototype['@test Ember Islands-style setup'] = function (assert) {
5461
- var _this10 = this;
5509
+ var _this11 = this;
5462
5510
 
5463
5511
  var xFooInitCalled = false;
5464
5512
  var xFooDidInsertElementCalled = false;
@@ -5545,9 +5593,9 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5545
5593
  var instances = [];
5546
5594
 
5547
5595
  return _emberRuntime.RSVP.all([this.runTask(function () {
5548
- return _this10.application.visit('/x-foo?data=' + data, { rootElement: $foo[0] });
5596
+ return _this11.application.visit('/x-foo?data=' + data, { rootElement: $foo[0] });
5549
5597
  }), this.runTask(function () {
5550
- return _this10.application.visit('/x-bar', { rootElement: $bar[0] });
5598
+ return _this11.application.visit('/x-bar', { rootElement: $bar[0] });
5551
5599
  })]).then(function (_instances) {
5552
5600
  instances = _instances;
5553
5601
 
@@ -5565,14 +5613,14 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5565
5613
  assert.equal($bar.find('button').text(), 'Join 0 others in clicking me!');
5566
5614
  assert.ok($bar.text().indexOf('X-Foo') === -1);
5567
5615
 
5568
- _this10.runTask(function () {
5616
+ _this11.runTask(function () {
5569
5617
  $foo.find('x-foo').click();
5570
5618
  });
5571
5619
 
5572
5620
  assert.equal($foo.find('p').text(), 'Hello Godfrey, I have been clicked 1 times (1 times combined)!');
5573
5621
  assert.equal($bar.find('button').text(), 'Join 1 others in clicking me!');
5574
5622
 
5575
- _this10.runTask(function () {
5623
+ _this11.runTask(function () {
5576
5624
  $bar.find('button').click();
5577
5625
  $bar.find('button').click();
5578
5626
  });
@@ -5580,7 +5628,7 @@ enifed('ember-application/tests/system/visit_test', ['ember-babel', 'internal-te
5580
5628
  assert.equal($foo.find('p').text(), 'Hello Godfrey, I have been clicked 1 times (3 times combined)!');
5581
5629
  assert.equal($bar.find('button').text(), 'Join 3 others in clicking me!');
5582
5630
  }).finally(function () {
5583
- _this10.runTask(function () {
5631
+ _this11.runTask(function () {
5584
5632
  instances.forEach(function (instance) {
5585
5633
  instance.destroy();
5586
5634
  });
@@ -7193,9 +7241,34 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7193
7241
  });
7194
7242
  };
7195
7243
 
7196
- _class.prototype['@test Records Added'] = function () {
7244
+ _class.prototype['@test Model Types Updated but Unchanged Do not Trigger Callbacks'] = function () {
7197
7245
  var _this6 = this;
7198
7246
 
7247
+ expect(0);
7248
+ var records = (0, _emberRuntime.A)([1, 2, 3]);
7249
+ this.add('data-adapter:main', DataAdapter.extend({
7250
+ getRecords: function () {
7251
+ return records;
7252
+ }
7253
+ }));
7254
+ this.add('model:post', PostClass);
7255
+
7256
+ return this.visit('/').then(function () {
7257
+ adapter = _this6.applicationInstance.lookup('data-adapter:main');
7258
+
7259
+ adapter.watchModelTypes(function () {
7260
+ (0, _emberMetal.run)(function () {
7261
+ records.arrayContentDidChange(0, 0, 0);
7262
+ });
7263
+ }, function () {
7264
+ ok(false, "modelTypesUpdated should not be triggered if the array didn't change");
7265
+ });
7266
+ });
7267
+ };
7268
+
7269
+ _class.prototype['@test Records Added'] = function () {
7270
+ var _this7 = this;
7271
+
7199
7272
  var countAdded = 1;
7200
7273
  var post = PostClass.create();
7201
7274
  var recordList = (0, _emberRuntime.A)([post]);
@@ -7217,7 +7290,7 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7217
7290
  this.add('model:post', PostClass);
7218
7291
 
7219
7292
  return this.visit('/').then(function () {
7220
- adapter = _this6.applicationInstance.lookup('data-adapter:main');
7293
+ adapter = _this7.applicationInstance.lookup('data-adapter:main');
7221
7294
 
7222
7295
  adapter.watchRecords('post', function (records) {
7223
7296
  var record = records[0];
@@ -7233,7 +7306,7 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7233
7306
  };
7234
7307
 
7235
7308
  _class.prototype['@test Observes and releases a record correctly'] = function () {
7236
- var _this7 = this;
7309
+ var _this8 = this;
7237
7310
 
7238
7311
  var updatesCalled = 0;
7239
7312
  var post = PostClass.create({ title: 'Post' });
@@ -7260,7 +7333,7 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7260
7333
  this.add('model:post', PostClass);
7261
7334
 
7262
7335
  return this.visit('/').then(function () {
7263
- adapter = _this7.applicationInstance.lookup('data-adapter:main');
7336
+ adapter = _this8.applicationInstance.lookup('data-adapter:main');
7264
7337
 
7265
7338
  var release = adapter.watchRecords('post', function () {
7266
7339
  (0, _emberMetal.set)(post, 'title', 'Post Modified');
@@ -7275,12 +7348,12 @@ enifed('ember-extension-support/tests/data_adapter_test', ['ember-babel', 'ember
7275
7348
  };
7276
7349
 
7277
7350
  _class.prototype['@test _nameToClass does not error when not found'] = function () {
7278
- var _this8 = this;
7351
+ var _this9 = this;
7279
7352
 
7280
7353
  this.add('data-adapter:main', DataAdapter);
7281
7354
 
7282
7355
  return this.visit('/').then(function () {
7283
- adapter = _this8.applicationInstance.lookup('data-adapter:main');
7356
+ adapter = _this9.applicationInstance.lookup('data-adapter:main');
7284
7357
 
7285
7358
  var klass = adapter._nameToClass('foo');
7286
7359
 
@@ -21680,15 +21753,6 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
21680
21753
  this.render('{{x-foo}}');
21681
21754
  };
21682
21755
 
21683
- _class2.prototype['@test canDispatchToEventManager is deprecated in EventDispatcher'] = function () {
21684
- var MyDispatcher = _emberViews.EventDispatcher.extend({
21685
- canDispatchToEventManager: null
21686
- });
21687
-
21688
- expectDeprecation(/`canDispatchToEventManager` has been deprecated/);
21689
- MyDispatcher.create();
21690
- };
21691
-
21692
21756
  _class2.prototype['@test a rootElement can be specified'] = function (assert) {
21693
21757
  this.$().append('<div id="app"></div>');
21694
21758
  this.dispatcher.setup({ myevent: 'myEvent' }, '#app');
@@ -21733,15 +21797,42 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
21733
21797
  return _class2;
21734
21798
  }(_testCase.RenderingTest));
21735
21799
 
21800
+ (0, _testCase.moduleFor)('custom EventDispatcher subclass with #setup', function (_RenderingTest3) {
21801
+ (0, _emberBabel.inherits)(_class3, _RenderingTest3);
21802
+
21803
+ function _class3() {
21804
+
21805
+ var _this9 = (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest3.call(this));
21806
+
21807
+ var dispatcher = _this9.owner.lookup('event_dispatcher:main');
21808
+ (0, _emberMetal.run)(dispatcher, 'destroy');
21809
+ _this9.owner.__container__.reset('event_dispatcher:main');
21810
+ _this9.owner.unregister('event_dispatcher:main');
21811
+ return _this9;
21812
+ }
21813
+
21814
+ _class3.prototype['@test canDispatchToEventManager is deprecated in EventDispatcher'] = function () {
21815
+ var MyDispatcher = _emberViews.EventDispatcher.extend({
21816
+ canDispatchToEventManager: null
21817
+ });
21818
+ this.owner.register('event_dispatcher:main', MyDispatcher);
21819
+
21820
+ expectDeprecation(/`canDispatchToEventManager` has been deprecated/);
21821
+ this.owner.lookup('event_dispatcher:main');
21822
+ };
21823
+
21824
+ return _class3;
21825
+ }(_testCase.RenderingTest));
21826
+
21736
21827
  if (canDataTransfer) {
21737
- (0, _testCase.moduleFor)('EventDispatcher - Event Properties', function (_RenderingTest4) {
21738
- (0, _emberBabel.inherits)(_class4, _RenderingTest4);
21828
+ (0, _testCase.moduleFor)('EventDispatcher - Event Properties', function (_RenderingTest5) {
21829
+ (0, _emberBabel.inherits)(_class5, _RenderingTest5);
21739
21830
 
21740
- function _class4() {
21741
- return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest4.apply(this, arguments));
21831
+ function _class5() {
21832
+ return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest5.apply(this, arguments));
21742
21833
  }
21743
21834
 
21744
- _class4.prototype['@test dataTransfer property is added to drop event'] = function (assert) {
21835
+ _class5.prototype['@test dataTransfer property is added to drop event'] = function (assert) {
21745
21836
  var receivedEvent = void 0;
21746
21837
  this.registerComponent('x-foo', {
21747
21838
  ComponentClass: _helpers.Component.extend({
@@ -21757,7 +21848,7 @@ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['ember-babel',
21757
21848
  assert.equal(receivedEvent.dataTransfer, 'success');
21758
21849
  };
21759
21850
 
21760
- return _class4;
21851
+ return _class5;
21761
21852
  }(_testCase.RenderingTest));
21762
21853
  }
21763
21854
  });
@@ -75615,10 +75706,12 @@ enifed('internal-test-helpers/test-cases/abstract-rendering', ['exports', 'ember
75615
75706
 
75616
75707
  var _this = (0, _emberBabel.possibleConstructorReturn)(this, _AbstractTestCase.call(this));
75617
75708
 
75709
+ var bootOptions = _this.getBootOptions();
75710
+
75618
75711
  var owner = _this.owner = (0, _buildOwner.default)({
75619
75712
  ownerOptions: _this.getOwnerOptions(),
75620
- bootOptions: _this.getBootOptions(),
75621
- resolver: _this.getResolver()
75713
+ resolver: _this.getResolver(),
75714
+ bootOptions: bootOptions
75622
75715
  });
75623
75716
 
75624
75717
  _this.renderer = _this.owner.lookup('renderer:-dom');
@@ -75627,7 +75720,9 @@ enifed('internal-test-helpers/test-cases/abstract-rendering', ['exports', 'ember
75627
75720
 
75628
75721
  owner.register('event_dispatcher:main', _emberViews.EventDispatcher);
75629
75722
  owner.inject('event_dispatcher:main', '_viewRegistry', '-view-registry:main');
75630
- owner.lookup('event_dispatcher:main').setup(_this.getCustomDispatcherEvents(), _this.element);
75723
+ if (!bootOptions || bootOptions.isInteractive !== false) {
75724
+ owner.lookup('event_dispatcher:main').setup(_this.getCustomDispatcherEvents(), _this.element);
75725
+ }
75631
75726
  return _this;
75632
75727
  }
75633
75728
 
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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -12327,7 +12327,11 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
12327
12327
  var env = parent.lookup('-environment:main');
12328
12328
  this.register('-environment:main', env, { instantiate: false });
12329
12329
 
12330
- var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document', 'event_dispatcher:main'];
12330
+ var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document'];
12331
+
12332
+ if (env.isInteractive) {
12333
+ singletons.push('event_dispatcher:main');
12334
+ }
12331
12335
 
12332
12336
  singletons.forEach(function (key) {
12333
12337
  return _this2.register(key, parent.lookup(key), { instantiate: false });
@@ -14694,8 +14698,12 @@ enifed('ember-extension-support/data_adapter', ['exports', 'ember-utils', 'ember
14694
14698
  }
14695
14699
 
14696
14700
  var observer = {
14697
- didChange: function () {
14698
- _emberMetal.run.scheduleOnce('actions', this, onChange);
14701
+ didChange: function (array, idx, removedCount, addedCount) {
14702
+ // Only re-fetch records if the record count changed
14703
+ // (which is all we care about as far as model types are concerned).
14704
+ if (removedCount > 0 || addedCount > 0) {
14705
+ _emberMetal.run.scheduleOnce('actions', this, onChange);
14706
+ }
14699
14707
  },
14700
14708
  willChange: function () {
14701
14709
  return this;
@@ -46802,14 +46810,15 @@ enifed("ember-views/system/action_manager", ["exports"], function (exports) {
46802
46810
  */
46803
46811
  ActionManager.registeredActions = {};
46804
46812
  });
46805
- enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-environment', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _emberEnvironment, _fallbackViewRegistry) {
46813
+ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _fallbackViewRegistry) {
46806
46814
  'use strict';
46807
46815
 
46808
- var ROOT_ELEMENT_CLASS = 'ember-application'; /**
46809
- @module ember
46810
- @submodule ember-views
46811
- */
46816
+ /**
46817
+ @module ember
46818
+ @submodule ember-views
46819
+ */
46812
46820
 
46821
+ var ROOT_ELEMENT_CLASS = 'ember-application';
46813
46822
  var ROOT_ELEMENT_SELECTOR = '.' + ROOT_ELEMENT_CLASS;
46814
46823
 
46815
46824
  /**
@@ -46921,8 +46930,18 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
46921
46930
  */
46922
46931
 
46923
46932
  init: function () {
46933
+ var _this = this;
46934
+
46924
46935
  this._super();
46925
- (true && !(_emberEnvironment.environment.hasDOM) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberEnvironment.environment.hasDOM));
46936
+
46937
+ (true && !(function () {
46938
+ var owner = (0, _emberUtils.getOwner)(_this);
46939
+ var environment = owner.lookup('-environment:main');
46940
+
46941
+ return environment.isInteractive;
46942
+ }()) && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', function () {
46943
+ var owner = (0, _emberUtils.getOwner)(_this);var environment = owner.lookup('-environment:main');return environment.isInteractive;
46944
+ }()));
46926
46945
  (true && !(!('canDispatchToEventManager' in this)) && (0, _emberDebug.deprecate)('`canDispatchToEventManager` has been deprecated in ' + this + '.', !('canDispatchToEventManager' in this), {
46927
46946
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
46928
46947
  until: '2.17.0'
@@ -48214,7 +48233,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
48214
48233
  enifed("ember/version", ["exports"], function (exports) {
48215
48234
  "use strict";
48216
48235
 
48217
- exports.default = "2.15.1";
48236
+ exports.default = "2.15.2";
48218
48237
  });
48219
48238
  enifed("handlebars", ["exports"], function (exports) {
48220
48239
  "use strict";
data/dist/ember.min.js CHANGED
@@ -990,8 +990,8 @@ var r=n.buildInstance(t)
990
990
  return(0,a.setEngineParent)(r,this),r},cloneParentDependencies:function(){var e=this,t=(0,a.getEngineParent)(this);["route:basic","service:-routing","service:-glimmer-environment"].forEach(function(n){return e.register(n,t.resolveRegistration(n))})
991
991
  var n=t.lookup("-environment:main")
992
992
  this.register("-environment:main",n,{instantiate:!1})
993
- var r=["router:main",(0,s.privatize)(u),"-view-registry:main","renderer:-"+(n.isInteractive?"dom":"inert"),"service:-document","event_dispatcher:main"]
994
- r.forEach(function(n){return e.register(n,t.lookup(n),{instantiate:!1})}),this.inject("view","_environment","-environment:main"),this.inject("route","_environment","-environment:main")}})
993
+ var r=["router:main",(0,s.privatize)(u),"-view-registry:main","renderer:-"+(n.isInteractive?"dom":"inert"),"service:-document"]
994
+ n.isInteractive&&r.push("event_dispatcher:main"),r.forEach(function(n){return e.register(n,t.lookup(n),{instantiate:!1})}),this.inject("view","_environment","-environment:main"),this.inject("route","_environment","-environment:main")}})
995
995
  c.reopenClass({setupRegistry:function(e,t){t&&(e.injection("view","_environment","-environment:main"),e.injection("route","_environment","-environment:main"),t.isInteractive?(e.injection("view","renderer","renderer:-dom"),e.injection("component","renderer","renderer:-dom")):(e.injection("view","renderer","renderer:-inert"),e.injection("component","renderer","renderer:-inert")))}}),e["default"]=c}),e("ember-application/system/engine-parent",["exports","ember-utils"],function(e,t){"use strict"
996
996
  e.ENGINE_PARENT=void 0,e.getEngineParent=function(e){return e[n]},e.setEngineParent=function(e,t){e[n]=t}
997
997
  var n=e.ENGINE_PARENT=(0,t.symbol)("ENGINE_PARENT")}),e("ember-application/system/engine",["exports","ember-babel","ember-utils","ember-runtime","container","dag-map","ember-debug","ember-metal","ember-application/system/resolver","ember-application/system/engine-instance","ember-routing","ember-extension-support","ember-views","ember-glimmer"],function(e,t,n,r,i,o,s,a,u,c,l,p,h,f){"use strict"
@@ -1067,7 +1067,7 @@ return this.releaseMethods.pushObject(a),a},_nameToClass:function(e){var n,r
1067
1067
  return"string"==typeof e&&(n=(0,t.getOwner)(this),r=n.factoryFor("model:"+e),e=r&&r["class"]),e},watchRecords:function(e,t,n,i){function o(e){n([e])}var s=this,a=(0,r.A)(),u=this._nameToClass(e),c=this.getRecords(u,e),l=void 0,p=c.map(function(e){return a.push(s.observeRecord(e,o)),s.wrapRecord(e)}),h={didChange:function(e,n,u,c){var l,p,h
1068
1068
  for(l=n;l<n+c;l++)p=(0,r.objectAt)(e,l),h=s.wrapRecord(p),a.push(s.observeRecord(p,o)),t([h])
1069
1069
  u&&i(n,u)},willChange:function(){return this}}
1070
- return(0,r.addArrayObserver)(c,this,h),l=function(){a.forEach(function(e){return e()}),(0,r.removeArrayObserver)(c,s,h),s.releaseMethods.removeObject(l)},t(p),this.releaseMethods.pushObject(l),l},willDestroy:function(){this._super.apply(this,arguments),this.releaseMethods.forEach(function(e){return e()})},detect:function(){return!1},columnsForType:function(){return(0,r.A)()},observeModelType:function(e,t){function i(){t([this.wrapModelType(s,e)])}var o=this,s=this._nameToClass(e),a=this.getRecords(s,e),u={didChange:function(){n.run.scheduleOnce("actions",this,i)},willChange:function(){return this}}
1070
+ return(0,r.addArrayObserver)(c,this,h),l=function(){a.forEach(function(e){return e()}),(0,r.removeArrayObserver)(c,s,h),s.releaseMethods.removeObject(l)},t(p),this.releaseMethods.pushObject(l),l},willDestroy:function(){this._super.apply(this,arguments),this.releaseMethods.forEach(function(e){return e()})},detect:function(){return!1},columnsForType:function(){return(0,r.A)()},observeModelType:function(e,t){function i(){t([this.wrapModelType(s,e)])}var o=this,s=this._nameToClass(e),a=this.getRecords(s,e),u={didChange:function(e,t,r,o){(r>0||o>0)&&n.run.scheduleOnce("actions",this,i)},willChange:function(){return this}}
1071
1071
  return(0,r.addArrayObserver)(a,this,u),function(){return(0,r.removeArrayObserver)(a,o,u)}},wrapModelType:function(e,t){var r=this.getRecords(e,t),i=void 0
1072
1072
  return i={name:t,count:(0,n.get)(r,"length"),columns:this.columnsForType(e),object:e}},getModelTypes:function(){var e=this,t=this.get("containerDebugAdapter"),n=void 0
1073
1073
  return n=t.canCatalogEntriesByType("model")?t.catalogEntriesByType("model"):this._getObjectsOnNamespaces(),n=(0,r.A)(n).map(function(t){return{klass:e._nameToClass(t),name:t}}),n=(0,r.A)(n).filter(function(t){return e.detect(t.klass)}),(0,r.A)(n)},_getObjectsOnNamespaces:function(){var e=this,t=(0,r.A)(r.Namespace.NAMESPACES),n=(0,r.A)()
@@ -2566,19 +2566,19 @@ t=t.parentView}},c.rerender=function(){return this._currentState.rerender(this)}
2566
2566
  return n=t.hasDOM&&"string"==typeof e?document.querySelector(e):e,this.renderer.appendTo(this,n),this},c.append=function(){return this.appendTo(document.body)},c.elementId=null,c.findElementInParentElement=function(e){var t="#"+this.elementId
2567
2567
  return(0,a["default"])(t)[0]||(0,a["default"])(t,e)[0]},c.willInsertElement=u,c.didInsertElement=u,c.willClearRender=u,c.destroy=function(){this._super.apply(this,arguments),this._currentState.destroy(this)},c.willDestroyElement=u,c.parentViewDidChange=u,c.tagName=null,c.init=function(){var e,n
2568
2568
  this._super.apply(this,arguments),this.elementId||""===this.tagName||(this.elementId=(0,t.guidFor)(this)),this.eventManager&&(e=(0,t.getOwner)(this),n=e&&e.lookup("event_dispatcher:main"),!n||"canDispatchToEventManager"in n||(n.canDispatchToEventManager=!0))},c.__defineNonEnumerable=function(e){this[e.name]=e.descriptor.value},c.handleEvent=function(e,t){return this._currentState.handleEvent(this,e,t)},c))}),e("ember-views/system/action_manager",["exports"],function(e){"use strict"
2569
- function t(){}e["default"]=t,t.registeredActions={}}),e("ember-views/system/event_dispatcher",["exports","ember-utils","ember-debug","ember-metal","ember-runtime","ember-views/system/jquery","ember-views/system/action_manager","ember-environment","ember-views/compat/fallback-view-registry"],function(e,t,n,r,i,o,s,a,u){"use strict"
2570
- var c="ember-application",l="."+c
2569
+ function t(){}e["default"]=t,t.registeredActions={}}),e("ember-views/system/event_dispatcher",["exports","ember-utils","ember-debug","ember-metal","ember-runtime","ember-views/system/jquery","ember-views/system/action_manager","ember-views/compat/fallback-view-registry"],function(e,t,n,r,i,o,s,a){"use strict"
2570
+ var u="ember-application",c="."+u
2571
2571
  e["default"]=i.Object.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",init:function(){this._super()},setup:function(e,n){var i=void 0,s=this._finalEvents=(0,t.assign)({},(0,r.get)(this,"events"),e)
2572
- if((0,r.isNone)(n)?n=(0,r.get)(this,"rootElement"):(0,r.set)(this,"rootElement",n),n=(0,o["default"])(n),n.addClass(c),!n.is(l))throw new TypeError("Unable to add '"+c+"' class to root element ("+(n.selector||n[0].tagName)+"). Make sure you set rootElement to the body or an element in the body.")
2572
+ if((0,r.isNone)(n)?n=(0,r.get)(this,"rootElement"):(0,r.set)(this,"rootElement",n),n=(0,o["default"])(n),n.addClass(u),!n.is(c))throw new TypeError("Unable to add '"+u+"' class to root element ("+(n.selector||n[0].tagName)+"). Make sure you set rootElement to the body or an element in the body.")
2573
2573
  var a=this._getViewRegistry()
2574
2574
  for(i in s)s.hasOwnProperty(i)&&this.setupHandler(n,i,s[i],a)},setupHandler:function(e,t,n,r){var i=this
2575
2575
  null!==n&&(e.on(t+".ember",".ember-view",function(e,t){var o=r[this.id],s=!0,a=i.canDispatchToEventManager?i._findNearestEventManager(o,n):null
2576
2576
  return a&&a!==t?s=i._dispatchEvent(a,e,n,o):o&&(s=i._bubbleEvent(o,e,n)),s}),e.on(t+".ember","[data-ember-action]",function(e){var t,r,i,o,a=e.currentTarget.attributes,u=[]
2577
- for(t=0;t<a.length;t++)r=a.item(t),i=r.name,i.lastIndexOf("data-ember-action-",0)!==-1&&(o=s["default"].registeredActions[r.value],o&&o.eventName===n&&u.indexOf(o)===-1&&(o.handler(e),u.push(o)))}))},_getViewRegistry:function(){var e=(0,t.getOwner)(this),n=e&&e.lookup("-view-registry:main")||u["default"]
2577
+ for(t=0;t<a.length;t++)r=a.item(t),i=r.name,i.lastIndexOf("data-ember-action-",0)!==-1&&(o=s["default"].registeredActions[r.value],o&&o.eventName===n&&u.indexOf(o)===-1&&(o.handler(e),u.push(o)))}))},_getViewRegistry:function(){var e=(0,t.getOwner)(this),n=e&&e.lookup("-view-registry:main")||a["default"]
2578
2578
  return n},_findNearestEventManager:function(e,t){for(var n=null;e&&(n=(0,r.get)(e,"eventManager"),!n||!n[t]);)e=(0,r.get)(e,"parentView")
2579
2579
  return n},_dispatchEvent:function(e,t,n,i){var o=!0,s=e[n]
2580
2580
  return"function"==typeof s?(o=(0,r.run)(e,s,t,i),t.stopPropagation()):o=this._bubbleEvent(i,t,n),o},_bubbleEvent:function(e,t,n){return e.handleEvent(n,t)},destroy:function(){var e=(0,r.get)(this,"rootElement")
2581
- return(0,o["default"])(e).off(".ember","**").removeClass(c),this._super.apply(this,arguments)},toString:function(){return"(EventDispatcher)"}})}),e("ember-views/system/ext",["ember-metal"],function(e){"use strict"
2581
+ return(0,o["default"])(e).off(".ember","**").removeClass(u),this._super.apply(this,arguments)},toString:function(){return"(EventDispatcher)"}})}),e("ember-views/system/ext",["ember-metal"],function(e){"use strict"
2582
2582
  e.run._addQueue("render","actions"),e.run._addQueue("afterRender","render")}),e("ember-views/system/jquery",["exports","ember-environment"],function(e,t){"use strict"
2583
2583
  var n=void 0
2584
2584
  t.environment.hasDOM&&(n=t.context.imports.jQuery,n&&(n.event.addProp?n.event.addProp("dataTransfer"):["dragstart","drag","dragenter","dragleave","dragover","drop","dragend"].forEach(function(e){n.event.fixHooks[e]={props:["dataTransfer"]}}))),e["default"]=n}),e("ember-views/system/lookup_partial",["exports","ember-debug"],function(e,t){"use strict"
@@ -2623,7 +2623,7 @@ var b,_=s.computed
2623
2623
  _.alias=s.alias,s["default"].computed=_,s["default"].ComputedProperty=s.ComputedProperty,s["default"].cacheFor=s.cacheFor,s["default"].assert=u.assert,s["default"].warn=u.warn,s["default"].debug=u.debug,s["default"].deprecate=u.deprecate,s["default"].deprecateFunc=u.deprecateFunc,s["default"].runInDebug=u.runInDebug,s["default"].Debug={registerDeprecationHandler:u.registerDeprecationHandler,registerWarnHandler:u.registerWarnHandler},s["default"].merge=s.merge,s["default"].instrument=s.instrument,s["default"].subscribe=s.instrumentationSubscribe,s["default"].Instrumentation={instrument:s.instrument,subscribe:s.instrumentationSubscribe,unsubscribe:s.instrumentationUnsubscribe,reset:s.instrumentationReset},s["default"].Error=u.Error,s["default"].META_DESC=s.META_DESC,s["default"].meta=s.meta,s["default"].get=s.get,s["default"].getWithDefault=s.getWithDefault,s["default"]._getPath=s._getPath,s["default"].set=s.set,s["default"].trySet=s.trySet,s["default"].FEATURES=a.FEATURES,s["default"].FEATURES.isEnabled=u.isFeatureEnabled,s["default"]._Cache=s.Cache,s["default"].on=s.on,s["default"].addListener=s.addListener,s["default"].removeListener=s.removeListener,s["default"]._suspendListener=s.suspendListener,s["default"]._suspendListeners=s.suspendListeners,s["default"].sendEvent=s.sendEvent,s["default"].hasListeners=s.hasListeners,s["default"].watchedEvents=s.watchedEvents,s["default"].listenersFor=s.listenersFor,s["default"].accumulateListeners=s.accumulateListeners,s["default"].isNone=s.isNone,s["default"].isEmpty=s.isEmpty,s["default"].isBlank=s.isBlank,s["default"].isPresent=s.isPresent,s["default"].run=s.run,s["default"]._ObserverSet=s.ObserverSet,s["default"].propertyWillChange=s.propertyWillChange,s["default"].propertyDidChange=s.propertyDidChange,s["default"].overrideChains=s.overrideChains,s["default"].beginPropertyChanges=s.beginPropertyChanges,s["default"].endPropertyChanges=s.endPropertyChanges,s["default"].changeProperties=s.changeProperties,s["default"].platform={defineProperty:!0,hasPropertyAccessors:!0},s["default"].defineProperty=s.defineProperty,s["default"].watchKey=s.watchKey,s["default"].unwatchKey=s.unwatchKey,s["default"].removeChainWatcher=s.removeChainWatcher,s["default"]._ChainNode=s.ChainNode,s["default"].finishChains=s.finishChains,s["default"].watchPath=s.watchPath,s["default"].unwatchPath=s.unwatchPath,s["default"].watch=s.watch,s["default"].isWatching=s.isWatching,s["default"].unwatch=s.unwatch,s["default"].destroy=s.destroy,s["default"].libraries=s.libraries,s["default"].OrderedSet=s.OrderedSet,s["default"].Map=s.Map,s["default"].MapWithDefault=s.MapWithDefault,s["default"].getProperties=s.getProperties,s["default"].setProperties=s.setProperties,s["default"].expandProperties=s.expandProperties,s["default"].NAME_KEY=i.NAME_KEY,s["default"].addObserver=s.addObserver,s["default"].observersFor=s.observersFor,s["default"].removeObserver=s.removeObserver,s["default"]._suspendObserver=s._suspendObserver,s["default"]._suspendObservers=s._suspendObservers,s["default"].required=s.required,s["default"].aliasMethod=s.aliasMethod,s["default"].observer=s.observer,s["default"].immediateObserver=s._immediateObserver,s["default"].mixin=s.mixin,s["default"].Mixin=s.Mixin,s["default"].bind=s.bind,s["default"].Binding=s.Binding,s["default"].isGlobalPath=s.isGlobalPath,Object.defineProperty(s["default"],"ENV",{get:function(){return n.ENV},enumerable:!1}),Object.defineProperty(s["default"],"lookup",{get:function(){return n.context.lookup},set:function(e){n.context.lookup=e},enumerable:!1}),s["default"].EXTEND_PROTOTYPES=n.ENV.EXTEND_PROTOTYPES,Object.defineProperty(s["default"],"LOG_STACKTRACE_ON_DEPRECATION",{get:function(){return n.ENV.LOG_STACKTRACE_ON_DEPRECATION},set:function(e){n.ENV.LOG_STACKTRACE_ON_DEPRECATION=!!e},enumerable:!1}),Object.defineProperty(s["default"],"LOG_VERSION",{get:function(){return n.ENV.LOG_VERSION},set:function(e){n.ENV.LOG_VERSION=!!e},enumerable:!1}),Object.defineProperty(s["default"],"LOG_BINDINGS",{get:function(){return n.ENV.LOG_BINDINGS},set:function(e){n.ENV.LOG_BINDINGS=!!e},enumerable:!1}),Object.defineProperty(s["default"],"onerror",{get:s.getOnerror,set:s.setOnerror,enumerable:!1}),Object.defineProperty(s["default"],"K",{get:function(){return v}}),Object.defineProperty(s["default"],"testing",{get:u.isTesting,set:u.setTesting,enumerable:!1}),s["default"]._Backburner=c["default"],s["default"].Logger=l["default"],s["default"].String=p.String,s["default"].Object=p.Object,s["default"]._RegistryProxyMixin=p.RegistryProxyMixin,s["default"]._ContainerProxyMixin=p.ContainerProxyMixin,s["default"].compare=p.compare,s["default"].copy=p.copy,s["default"].isEqual=p.isEqual,s["default"].inject=p.inject,s["default"].Array=p.Array,s["default"].Comparable=p.Comparable,s["default"].Enumerable=p.Enumerable,s["default"].ArrayProxy=p.ArrayProxy,s["default"].ObjectProxy=p.ObjectProxy,s["default"].ActionHandler=p.ActionHandler,s["default"].CoreObject=p.CoreObject,s["default"].NativeArray=p.NativeArray,s["default"].Copyable=p.Copyable,s["default"].Freezable=p.Freezable,s["default"].FROZEN_ERROR=p.FROZEN_ERROR,s["default"].MutableEnumerable=p.MutableEnumerable,s["default"].MutableArray=p.MutableArray,s["default"].TargetActionSupport=p.TargetActionSupport,s["default"].Evented=p.Evented,s["default"].PromiseProxyMixin=p.PromiseProxyMixin,s["default"].Observable=p.Observable,s["default"].typeOf=p.typeOf,s["default"].isArray=p.isArray,s["default"].Object=p.Object,s["default"].onLoad=p.onLoad,s["default"].runLoadHooks=p.runLoadHooks,s["default"].Controller=p.Controller,s["default"].ControllerMixin=p.ControllerMixin,s["default"].Service=p.Service,s["default"]._ProxyMixin=p._ProxyMixin,s["default"].RSVP=p.RSVP,s["default"].Namespace=p.Namespace,_.empty=p.empty,_.notEmpty=p.notEmpty,_.none=p.none,_.not=p.not,_.bool=p.bool,_.match=p.match,_.equal=p.equal,_.gt=p.gt,_.gte=p.gte,_.lt=p.lt,_.lte=p.lte,_.oneWay=p.oneWay,_.reads=p.oneWay,_.readOnly=p.readOnly,_.deprecatingAlias=p.deprecatingAlias,_.and=p.and,_.or=p.or,_.any=p.any,_.sum=p.sum,_.min=p.min,_.max=p.max,_.map=p.map,_.sort=p.sort,_.setDiff=p.setDiff,_.mapBy=p.mapBy,_.filter=p.filter,_.filterBy=p.filterBy,_.uniq=p.uniq,_.uniqBy=p.uniqBy,_.union=p.union,_.intersect=p.intersect,_.collect=p.collect,Object.defineProperty(s["default"],"STRINGS",{configurable:!1,get:p.getStrings,set:p.setStrings}),Object.defineProperty(s["default"],"BOOTED",{configurable:!1,enumerable:!1,get:p.isNamespaceSearchDisabled,set:p.setNamespaceSearchDisabled}),s["default"].Component=h.Component,h.Helper.helper=h.helper,s["default"].Helper=h.Helper,s["default"].Checkbox=h.Checkbox,s["default"].TextField=h.TextField,s["default"].TextArea=h.TextArea,s["default"].LinkComponent=h.LinkComponent,n.ENV.EXTEND_PROTOTYPES.String&&(String.prototype.htmlSafe=function(){return(0,h.htmlSafe)(this)})
2624
2624
  var w=s["default"].Handlebars=s["default"].Handlebars||{},O=s["default"].HTMLBars=s["default"].HTMLBars||{},E=w.Utils=w.Utils||{}
2625
2625
  Object.defineProperty(w,"SafeString",{get:h._getSafeString}),O.template=w.template=h.template,E.escapeExpression=h.escapeExpression,p.String.htmlSafe=h.htmlSafe,p.String.isHTMLSafe=h.isHTMLSafe,Object.defineProperty(s["default"],"TEMPLATES",{get:h.getTemplates,set:h.setTemplates,configurable:!1,enumerable:!1}),e.VERSION=f["default"],s["default"].VERSION=f["default"],s.libraries.registerCoreLibrary("Ember",f["default"]),s["default"].$=d.jQuery,s["default"].ViewTargetActionSupport=d.ViewTargetActionSupport,s["default"].ViewUtils={isSimpleClick:d.isSimpleClick,getViewElement:d.getViewElement,getViewBounds:d.getViewBounds,getViewClientRects:d.getViewClientRects,getViewBoundingClientRect:d.getViewBoundingClientRect,getRootViews:d.getRootViews,getChildViews:d.getChildViews},s["default"].TextSupport=d.TextSupport,s["default"].ComponentLookup=d.ComponentLookup,s["default"].EventDispatcher=d.EventDispatcher,s["default"].Location=m.Location,s["default"].AutoLocation=m.AutoLocation,s["default"].HashLocation=m.HashLocation,s["default"].HistoryLocation=m.HistoryLocation,s["default"].NoneLocation=m.NoneLocation,s["default"].controllerFor=m.controllerFor,s["default"].generateControllerFactory=m.generateControllerFactory,s["default"].generateController=m.generateController,s["default"].RouterDSL=m.RouterDSL,s["default"].Router=m.Router,s["default"].Route=m.Route,s["default"].Application=g.Application,s["default"].ApplicationInstance=g.ApplicationInstance,s["default"].Engine=g.Engine,s["default"].EngineInstance=g.EngineInstance,s["default"].DefaultResolver=s["default"].Resolver=g.Resolver,(0,p.runLoadHooks)("Ember.Application",g.Application),s["default"].DataAdapter=y.DataAdapter,s["default"].ContainerDebugAdapter=y.ContainerDebugAdapter,(0,t.has)("ember-template-compiler")&&(0,t["default"])("ember-template-compiler"),(0,t.has)("ember-testing")&&(b=(0,t["default"])("ember-testing"),s["default"].Test=b.Test,s["default"].Test.Adapter=b.Adapter,s["default"].Test.QUnitAdapter=b.QUnitAdapter,s["default"].setupForTesting=b.setupForTesting),(0,p.runLoadHooks)("Ember"),e["default"]=s["default"],r.IS_NODE?r.module.exports=s["default"]:n.context.exports.Ember=n.context.exports.Em=s["default"]}),e("ember/version",["exports"],function(e){"use strict"
2626
- e["default"]="2.15.1"}),e("node-module",["exports"],function(e){var t="object"==typeof module&&"function"==typeof module.require
2626
+ e["default"]="2.15.2"}),e("node-module",["exports"],function(e){var t="object"==typeof module&&"function"==typeof module.require
2627
2627
  t?(e.require=module.require,e.module=module,e.IS_NODE=t):(e.require=null,e.module=null,e.IS_NODE=t)}),e("route-recognizer",["exports"],function(e){"use strict"
2628
2628
  function t(){var e=g(null)
2629
2629
  return e.__=void 0,delete e.__,e}function n(e,t,r){return function(i,o){var s=e+i
data/dist/ember.prod.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.15.1
9
+ * @version 2.15.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -12596,7 +12596,11 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-babel', 'e
12596
12596
  var env = parent.lookup('-environment:main');
12597
12597
  this.register('-environment:main', env, { instantiate: false });
12598
12598
 
12599
- var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document', 'event_dispatcher:main'];
12599
+ var singletons = ['router:main', (0, _container.privatize)(_templateObject), '-view-registry:main', 'renderer:-' + (env.isInteractive ? 'dom' : 'inert'), 'service:-document'];
12600
+
12601
+ if (env.isInteractive) {
12602
+ singletons.push('event_dispatcher:main');
12603
+ }
12600
12604
 
12601
12605
  singletons.forEach(function (key) {
12602
12606
  return _this2.register(key, parent.lookup(key), { instantiate: false });
@@ -14425,8 +14429,12 @@ enifed('ember-extension-support/data_adapter', ['exports', 'ember-utils', 'ember
14425
14429
  }
14426
14430
 
14427
14431
  var observer = {
14428
- didChange: function () {
14429
- _emberMetal.run.scheduleOnce('actions', this, onChange);
14432
+ didChange: function (array, idx, removedCount, addedCount) {
14433
+ // Only re-fetch records if the record count changed
14434
+ // (which is all we care about as far as model types are concerned).
14435
+ if (removedCount > 0 || addedCount > 0) {
14436
+ _emberMetal.run.scheduleOnce('actions', this, onChange);
14437
+ }
14430
14438
  },
14431
14439
  willChange: function () {
14432
14440
  return this;
@@ -42991,14 +42999,15 @@ enifed("ember-views/system/action_manager", ["exports"], function (exports) {
42991
42999
  */
42992
43000
  ActionManager.registeredActions = {};
42993
43001
  });
42994
- enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-environment', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _emberEnvironment, _fallbackViewRegistry) {
43002
+ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-debug', 'ember-metal', 'ember-runtime', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/compat/fallback-view-registry'], function (exports, _emberUtils, _emberDebug, _emberMetal, _emberRuntime, _jquery, _action_manager, _fallbackViewRegistry) {
42995
43003
  'use strict';
42996
43004
 
42997
- var ROOT_ELEMENT_CLASS = 'ember-application'; /**
42998
- @module ember
42999
- @submodule ember-views
43000
- */
43005
+ /**
43006
+ @module ember
43007
+ @submodule ember-views
43008
+ */
43001
43009
 
43010
+ var ROOT_ELEMENT_CLASS = 'ember-application';
43002
43011
  var ROOT_ELEMENT_SELECTOR = '.' + ROOT_ELEMENT_CLASS;
43003
43012
 
43004
43013
  /**
@@ -43110,8 +43119,18 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
43110
43119
  */
43111
43120
 
43112
43121
  init: function () {
43122
+ var _this = this;
43123
+
43113
43124
  this._super();
43114
- false && !_emberEnvironment.environment.hasDOM && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberEnvironment.environment.hasDOM);
43125
+
43126
+ false && !function () {
43127
+ var owner = (0, _emberUtils.getOwner)(_this);
43128
+ var environment = owner.lookup('-environment:main');
43129
+
43130
+ return environment.isInteractive;
43131
+ }() && (0, _emberDebug.assert)('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', function () {
43132
+ var owner = (0, _emberUtils.getOwner)(_this);var environment = owner.lookup('-environment:main');return environment.isInteractive;
43133
+ }());
43115
43134
  false && !!('canDispatchToEventManager' in this) && (0, _emberDebug.deprecate)('`canDispatchToEventManager` has been deprecated in ' + this + '.', !('canDispatchToEventManager' in this), {
43116
43135
  id: 'ember-views.event-dispatcher.canDispatchToEventManager',
43117
43136
  until: '2.17.0'
@@ -44331,7 +44350,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'node-module',
44331
44350
  enifed("ember/version", ["exports"], function (exports) {
44332
44351
  "use strict";
44333
44352
 
44334
- exports.default = "2.15.1";
44353
+ exports.default = "2.15.2";
44335
44354
  });
44336
44355
  enifed('node-module', ['exports'], function(_exports) {
44337
44356
  var IS_NODE = typeof module === 'object' && typeof module.require === 'function';
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ember-source
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.15.1
4
+ version: 2.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yehuda Katz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-03 00:00:00.000000000 Z
11
+ date: 2017-10-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ember.js source code wrapper for use with Ruby libs.
14
14
  email: