ember-source 2.15.1 → 2.15.2

Sign up to get free protection for your applications and to get access to all the features.
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: