ember-source 2.13.0.beta.1 → 2.13.0.beta.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 +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +47 -31
- data/dist/ember-template-compiler.js +44 -31
- data/dist/ember-testing.js +8 -6
- data/dist/ember-tests.js +85 -4
- data/dist/ember-tests.prod.js +85 -4
- data/dist/ember.debug.js +66 -39
- data/dist/ember.js +66 -39
- data/dist/ember.min.js +35 -28
- data/dist/ember.prod.js +58 -33
- metadata +2 -2
data/dist/ember-testing.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.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -1225,13 +1225,15 @@ enifed('ember-testing/setup_for_testing', ['exports', 'ember-debug', 'ember-view
|
|
1225
1225
|
_emberTestingTestAdapter.setAdapter(typeof self.QUnit === 'undefined' ? new _emberTestingAdaptersAdapter.default() : new _emberTestingAdaptersQunit.default());
|
1226
1226
|
}
|
1227
1227
|
|
1228
|
-
_emberViews.jQuery
|
1229
|
-
|
1228
|
+
if (_emberViews.jQuery) {
|
1229
|
+
_emberViews.jQuery(document).off('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
1230
|
+
_emberViews.jQuery(document).off('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
1230
1231
|
|
1231
|
-
|
1232
|
+
_emberTestingTestPending_requests.clearPendingRequests();
|
1232
1233
|
|
1233
|
-
|
1234
|
-
|
1234
|
+
_emberViews.jQuery(document).on('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
1235
|
+
_emberViews.jQuery(document).on('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
1236
|
+
}
|
1235
1237
|
}
|
1236
1238
|
});
|
1237
1239
|
enifed('ember-testing/support', ['exports', 'ember-debug', 'ember-views', 'ember-environment'], function (exports, _emberDebug, _emberViews, _emberEnvironment) {
|
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.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -6784,6 +6784,34 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
|
|
6784
6784
|
|
6785
6785
|
_emberDebugIndex.warn('foo', false, {});
|
6786
6786
|
});
|
6787
|
+
|
6788
|
+
QUnit.test('warn without options.id nor test triggers a deprecation', function (assert) {
|
6789
|
+
assert.expect(2);
|
6790
|
+
|
6791
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6792
|
+
assert.equal(message, _emberDebugWarn.missingOptionsIdDeprecation, 'deprecation is triggered when options is missing');
|
6793
|
+
});
|
6794
|
+
|
6795
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6796
|
+
assert.equal(message, 'foo', 'original warning is triggered');
|
6797
|
+
});
|
6798
|
+
|
6799
|
+
_emberDebugIndex.warn('foo', {});
|
6800
|
+
});
|
6801
|
+
|
6802
|
+
QUnit.test('warn without test but with options does not trigger a deprecation', function (assert) {
|
6803
|
+
assert.expect(1);
|
6804
|
+
|
6805
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6806
|
+
assert.ok(false, 'there should be no deprecation ' + message);
|
6807
|
+
});
|
6808
|
+
|
6809
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6810
|
+
assert.equal(message, 'foo', 'warning was triggered');
|
6811
|
+
});
|
6812
|
+
|
6813
|
+
_emberDebugIndex.warn('foo', { id: 'ember-debug.do-not-raise' });
|
6814
|
+
});
|
6787
6815
|
});
|
6788
6816
|
enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports) {
|
6789
6817
|
'use strict';
|
@@ -27145,6 +27173,42 @@ babelHelpers.classCallCheck(this, _class2);
|
|
27145
27173
|
this.assertText('Click me');
|
27146
27174
|
};
|
27147
27175
|
|
27176
|
+
_class2.prototype['@test action handler that shifts element attributes doesn\'t trigger multiple invocations'] = function testActionHandlerThatShiftsElementAttributesDoesnTTriggerMultipleInvocations() {
|
27177
|
+
var _this34 = this;
|
27178
|
+
|
27179
|
+
var actionCount = 0;
|
27180
|
+
var ExampleComponent = _emberGlimmerTestsUtilsHelpers.Component.extend({
|
27181
|
+
selected: false,
|
27182
|
+
actions: {
|
27183
|
+
toggleSelected: function () {
|
27184
|
+
actionCount++;
|
27185
|
+
this.toggleProperty('selected');
|
27186
|
+
}
|
27187
|
+
}
|
27188
|
+
});
|
27189
|
+
|
27190
|
+
this.registerComponent('example-component', {
|
27191
|
+
ComponentClass: ExampleComponent,
|
27192
|
+
template: '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>'
|
27193
|
+
});
|
27194
|
+
|
27195
|
+
this.render('{{example-component}}');
|
27196
|
+
|
27197
|
+
this.runTask(function () {
|
27198
|
+
_this34.$('button').click();
|
27199
|
+
});
|
27200
|
+
|
27201
|
+
this.assert.equal(actionCount, 1, 'Click action only fired once.');
|
27202
|
+
this.assert.ok(this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27203
|
+
|
27204
|
+
this.runTask(function () {
|
27205
|
+
_this34.$('button').click();
|
27206
|
+
});
|
27207
|
+
|
27208
|
+
this.assert.equal(actionCount, 2, 'Second click action only fired once.');
|
27209
|
+
this.assert.ok(!this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27210
|
+
};
|
27211
|
+
|
27148
27212
|
return _class2;
|
27149
27213
|
})(_emberGlimmerTestsUtilsTestCase.RenderingTest));
|
27150
27214
|
});
|
@@ -41294,7 +41358,7 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
|
|
41294
41358
|
expect(1);
|
41295
41359
|
|
41296
41360
|
expectAssertion(function () {
|
41297
|
-
_emberMetalExpand_properties.default([], addProperty);
|
41361
|
+
_emberMetalExpand_properties.default([1, 2], addProperty);
|
41298
41362
|
}, /A computed property key must be a string/);
|
41299
41363
|
});
|
41300
41364
|
|
@@ -42480,7 +42544,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42480
42544
|
assert.equal(matching[0], t);
|
42481
42545
|
m.removeFromListeners('hello', t, 'm');
|
42482
42546
|
matching = m.matchingListeners('hello');
|
42483
|
-
assert.equal(matching
|
42547
|
+
assert.equal(matching, undefined);
|
42484
42548
|
});
|
42485
42549
|
|
42486
42550
|
QUnit.test('meta.listeners inheritance', function (assert) {
|
@@ -42499,7 +42563,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42499
42563
|
assert.equal(matching[2], 0);
|
42500
42564
|
m.removeFromListeners('hello', target, 'm');
|
42501
42565
|
matching = m.matchingListeners('hello');
|
42502
|
-
assert.equal(matching
|
42566
|
+
assert.equal(matching, undefined);
|
42503
42567
|
matching = parentMeta.matchingListeners('hello');
|
42504
42568
|
assert.equal(matching.length, 3);
|
42505
42569
|
});
|
@@ -47962,6 +48026,23 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
|
|
47962
48026
|
|
47963
48027
|
equal(location.getURL(), '/foo/bar?time=morphin#pink-power-ranger');
|
47964
48028
|
});
|
48029
|
+
|
48030
|
+
QUnit.test('HistoryLocation.getURL() drops duplicate slashes', function () {
|
48031
|
+
expect(1);
|
48032
|
+
|
48033
|
+
HistoryTestLocation.reopen({
|
48034
|
+
init: function () {
|
48035
|
+
this._super.apply(this, arguments);
|
48036
|
+
var location = mockBrowserLocation('//');
|
48037
|
+
location.pathname = '//'; // mockBrowserLocation does not allow for `//`, so force it
|
48038
|
+
_emberMetal.set(this, 'location', location);
|
48039
|
+
}
|
48040
|
+
});
|
48041
|
+
|
48042
|
+
createLocation();
|
48043
|
+
|
48044
|
+
equal(location.getURL(), '/');
|
48045
|
+
});
|
47965
48046
|
});
|
47966
48047
|
enifed('ember-routing/tests/location/history_location_test.lint-test', ['exports'], function (exports) {
|
47967
48048
|
'use strict';
|
data/dist/ember-tests.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.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -6773,6 +6773,34 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
|
|
6773
6773
|
|
6774
6774
|
_emberDebugIndex.warn('foo', false, {});
|
6775
6775
|
});
|
6776
|
+
|
6777
|
+
QUnit.test('warn without options.id nor test triggers a deprecation', function (assert) {
|
6778
|
+
assert.expect(2);
|
6779
|
+
|
6780
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6781
|
+
assert.equal(message, _emberDebugWarn.missingOptionsIdDeprecation, 'deprecation is triggered when options is missing');
|
6782
|
+
});
|
6783
|
+
|
6784
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6785
|
+
assert.equal(message, 'foo', 'original warning is triggered');
|
6786
|
+
});
|
6787
|
+
|
6788
|
+
_emberDebugIndex.warn('foo', {});
|
6789
|
+
});
|
6790
|
+
|
6791
|
+
QUnit.test('warn without test but with options does not trigger a deprecation', function (assert) {
|
6792
|
+
assert.expect(1);
|
6793
|
+
|
6794
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6795
|
+
assert.ok(false, 'there should be no deprecation ' + message);
|
6796
|
+
});
|
6797
|
+
|
6798
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6799
|
+
assert.equal(message, 'foo', 'warning was triggered');
|
6800
|
+
});
|
6801
|
+
|
6802
|
+
_emberDebugIndex.warn('foo', { id: 'ember-debug.do-not-raise' });
|
6803
|
+
});
|
6776
6804
|
});
|
6777
6805
|
enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports) {
|
6778
6806
|
'use strict';
|
@@ -26997,6 +27025,42 @@ babelHelpers.inherits(_class2, _RenderingTest2);
|
|
26997
27025
|
this.assertText('Click me');
|
26998
27026
|
};
|
26999
27027
|
|
27028
|
+
_class2.prototype['@test action handler that shifts element attributes doesn\'t trigger multiple invocations'] = function testActionHandlerThatShiftsElementAttributesDoesnTTriggerMultipleInvocations() {
|
27029
|
+
var _this34 = this;
|
27030
|
+
|
27031
|
+
var actionCount = 0;
|
27032
|
+
var ExampleComponent = _emberGlimmerTestsUtilsHelpers.Component.extend({
|
27033
|
+
selected: false,
|
27034
|
+
actions: {
|
27035
|
+
toggleSelected: function () {
|
27036
|
+
actionCount++;
|
27037
|
+
this.toggleProperty('selected');
|
27038
|
+
}
|
27039
|
+
}
|
27040
|
+
});
|
27041
|
+
|
27042
|
+
this.registerComponent('example-component', {
|
27043
|
+
ComponentClass: ExampleComponent,
|
27044
|
+
template: '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>'
|
27045
|
+
});
|
27046
|
+
|
27047
|
+
this.render('{{example-component}}');
|
27048
|
+
|
27049
|
+
this.runTask(function () {
|
27050
|
+
_this34.$('button').click();
|
27051
|
+
});
|
27052
|
+
|
27053
|
+
this.assert.equal(actionCount, 1, 'Click action only fired once.');
|
27054
|
+
this.assert.ok(this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27055
|
+
|
27056
|
+
this.runTask(function () {
|
27057
|
+
_this34.$('button').click();
|
27058
|
+
});
|
27059
|
+
|
27060
|
+
this.assert.equal(actionCount, 2, 'Second click action only fired once.');
|
27061
|
+
this.assert.ok(!this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27062
|
+
};
|
27063
|
+
|
27000
27064
|
return _class2;
|
27001
27065
|
})(_emberGlimmerTestsUtilsTestCase.RenderingTest));
|
27002
27066
|
});
|
@@ -40916,7 +40980,7 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
|
|
40916
40980
|
expect(1);
|
40917
40981
|
|
40918
40982
|
expectAssertion(function () {
|
40919
|
-
_emberMetalExpand_properties.default([], addProperty);
|
40983
|
+
_emberMetalExpand_properties.default([1, 2], addProperty);
|
40920
40984
|
}, /A computed property key must be a string/);
|
40921
40985
|
});
|
40922
40986
|
|
@@ -42102,7 +42166,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42102
42166
|
assert.equal(matching[0], t);
|
42103
42167
|
m.removeFromListeners('hello', t, 'm');
|
42104
42168
|
matching = m.matchingListeners('hello');
|
42105
|
-
assert.equal(matching
|
42169
|
+
assert.equal(matching, undefined);
|
42106
42170
|
});
|
42107
42171
|
|
42108
42172
|
QUnit.test('meta.listeners inheritance', function (assert) {
|
@@ -42121,7 +42185,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42121
42185
|
assert.equal(matching[2], 0);
|
42122
42186
|
m.removeFromListeners('hello', target, 'm');
|
42123
42187
|
matching = m.matchingListeners('hello');
|
42124
|
-
assert.equal(matching
|
42188
|
+
assert.equal(matching, undefined);
|
42125
42189
|
matching = parentMeta.matchingListeners('hello');
|
42126
42190
|
assert.equal(matching.length, 3);
|
42127
42191
|
});
|
@@ -47584,6 +47648,23 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
|
|
47584
47648
|
|
47585
47649
|
equal(location.getURL(), '/foo/bar?time=morphin#pink-power-ranger');
|
47586
47650
|
});
|
47651
|
+
|
47652
|
+
QUnit.test('HistoryLocation.getURL() drops duplicate slashes', function () {
|
47653
|
+
expect(1);
|
47654
|
+
|
47655
|
+
HistoryTestLocation.reopen({
|
47656
|
+
init: function () {
|
47657
|
+
this._super.apply(this, arguments);
|
47658
|
+
var location = mockBrowserLocation('//');
|
47659
|
+
location.pathname = '//'; // mockBrowserLocation does not allow for `//`, so force it
|
47660
|
+
_emberMetal.set(this, 'location', location);
|
47661
|
+
}
|
47662
|
+
});
|
47663
|
+
|
47664
|
+
createLocation();
|
47665
|
+
|
47666
|
+
equal(location.getURL(), '/');
|
47667
|
+
});
|
47587
47668
|
});
|
47588
47669
|
enifed('ember-routing/tests/location/history_location_test.lint-test', ['exports'], function (exports) {
|
47589
47670
|
'use strict';
|
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.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -3697,6 +3697,7 @@ enifed('container/container', ['exports', 'ember-debug', 'ember-utils', 'ember-e
|
|
3697
3697
|
this.fullName = fullName;
|
3698
3698
|
this.normalizedName = normalizedName;
|
3699
3699
|
this.madeToString = undefined;
|
3700
|
+
this.injections = undefined;
|
3700
3701
|
}
|
3701
3702
|
|
3702
3703
|
FactoryManager.prototype.create = function create() {
|
@@ -3704,7 +3705,13 @@ enifed('container/container', ['exports', 'ember-debug', 'ember-utils', 'ember-e
|
|
3704
3705
|
|
3705
3706
|
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
|
3706
3707
|
|
3707
|
-
var injections =
|
3708
|
+
var injections = this.injections;
|
3709
|
+
if (injections === undefined) {
|
3710
|
+
injections = injectionsFor(this.container, this.normalizedName);
|
3711
|
+
if (areInjectionsDynamic(injections) === false) {
|
3712
|
+
this.injections = injections;
|
3713
|
+
}
|
3714
|
+
}
|
3708
3715
|
var props = _emberUtils.assign({}, injections, options);
|
3709
3716
|
|
3710
3717
|
props[_emberUtils.NAME_KEY] = this.madeToString || (this.madeToString = this.container.registry.makeToString(this.class, this.fullName));
|
@@ -8347,6 +8354,10 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
|
|
8347
8354
|
*/
|
8348
8355
|
|
8349
8356
|
function warn(message, test, options) {
|
8357
|
+
if (arguments.length === 2 && typeof test === 'object') {
|
8358
|
+
options = test;
|
8359
|
+
test = false;
|
8360
|
+
}
|
8350
8361
|
if (!options) {
|
8351
8362
|
_emberDebugDeprecate.default(missingOptionsDeprecation, false, {
|
8352
8363
|
id: 'ember-debug.warn-options-missing',
|
@@ -8363,7 +8374,7 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
|
|
8363
8374
|
});
|
8364
8375
|
}
|
8365
8376
|
|
8366
|
-
_emberDebugHandlers.invoke
|
8377
|
+
_emberDebugHandlers.invoke('warn', message, test, options);
|
8367
8378
|
}
|
8368
8379
|
});
|
8369
8380
|
enifed('ember-environment/global', ['exports'], function (exports) {
|
@@ -18759,18 +18770,18 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18759
18770
|
// It is false for the root of a chain (because we have no parent)
|
18760
18771
|
// and for global paths (because the parent node is the object with
|
18761
18772
|
// the observer on it)
|
18762
|
-
this._watching = value === undefined;
|
18773
|
+
var isWatching = this._watching = value === undefined;
|
18763
18774
|
|
18764
18775
|
this._chains = undefined;
|
18765
18776
|
this._object = undefined;
|
18766
18777
|
this.count = 0;
|
18767
18778
|
|
18768
18779
|
this._value = value;
|
18769
|
-
this._paths =
|
18770
|
-
if (
|
18780
|
+
this._paths = undefined;
|
18781
|
+
if (isWatching === true) {
|
18771
18782
|
var obj = parent.value();
|
18772
18783
|
|
18773
|
-
if (!isObject(obj)) {
|
18784
|
+
if (!isObject(obj) === true) {
|
18774
18785
|
return;
|
18775
18786
|
}
|
18776
18787
|
|
@@ -18781,7 +18792,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18781
18792
|
}
|
18782
18793
|
|
18783
18794
|
ChainNode.prototype.value = function value() {
|
18784
|
-
if (this._value === undefined && this._watching) {
|
18795
|
+
if (this._value === undefined && this._watching === true) {
|
18785
18796
|
var obj = this._parent.value();
|
18786
18797
|
this._value = lazyGet(obj, this._key);
|
18787
18798
|
}
|
@@ -18789,7 +18800,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18789
18800
|
};
|
18790
18801
|
|
18791
18802
|
ChainNode.prototype.destroy = function destroy() {
|
18792
|
-
if (this._watching) {
|
18803
|
+
if (this._watching === true) {
|
18793
18804
|
var obj = this._object;
|
18794
18805
|
if (obj) {
|
18795
18806
|
removeChainWatcher(obj, this._key, this);
|
@@ -18804,13 +18815,14 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18804
18815
|
var ret = new ChainNode(null, null, obj);
|
18805
18816
|
var paths = this._paths;
|
18806
18817
|
var path = undefined;
|
18807
|
-
|
18808
|
-
|
18809
|
-
|
18810
|
-
|
18811
|
-
|
18818
|
+
if (paths !== undefined) {
|
18819
|
+
for (path in paths) {
|
18820
|
+
// this check will also catch non-number vals.
|
18821
|
+
if (paths[path] <= 0) {
|
18822
|
+
continue;
|
18823
|
+
}
|
18824
|
+
ret.add(path);
|
18812
18825
|
}
|
18813
|
-
ret.add(path);
|
18814
18826
|
}
|
18815
18827
|
return ret;
|
18816
18828
|
};
|
@@ -18819,7 +18831,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18819
18831
|
// path.
|
18820
18832
|
|
18821
18833
|
ChainNode.prototype.add = function add(path) {
|
18822
|
-
var paths = this._paths;
|
18834
|
+
var paths = this._paths || (this._paths = {});
|
18823
18835
|
paths[path] = (paths[path] || 0) + 1;
|
18824
18836
|
|
18825
18837
|
var key = firstKey(path);
|
@@ -18833,6 +18845,9 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18833
18845
|
|
18834
18846
|
ChainNode.prototype.remove = function remove(path) {
|
18835
18847
|
var paths = this._paths;
|
18848
|
+
if (paths === undefined) {
|
18849
|
+
return;
|
18850
|
+
}
|
18836
18851
|
if (paths[path] > 0) {
|
18837
18852
|
paths[path]--;
|
18838
18853
|
}
|
@@ -18886,11 +18901,11 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18886
18901
|
};
|
18887
18902
|
|
18888
18903
|
ChainNode.prototype.notify = function notify(revalidate, affected) {
|
18889
|
-
if (revalidate && this._watching) {
|
18904
|
+
if (revalidate && this._watching === true) {
|
18890
18905
|
var parentValue = this._parent.value();
|
18891
18906
|
|
18892
18907
|
if (parentValue !== this._object) {
|
18893
|
-
if (this._object) {
|
18908
|
+
if (this._object !== undefined) {
|
18894
18909
|
removeChainWatcher(this._object, this._key, this);
|
18895
18910
|
}
|
18896
18911
|
|
@@ -18907,7 +18922,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18907
18922
|
// then notify chains...
|
18908
18923
|
var chains = this._chains;
|
18909
18924
|
var node = undefined;
|
18910
|
-
if (chains) {
|
18925
|
+
if (chains !== undefined) {
|
18911
18926
|
for (var key in chains) {
|
18912
18927
|
node = chains[key];
|
18913
18928
|
if (node !== undefined) {
|
@@ -18946,12 +18961,12 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18946
18961
|
var meta = _emberMetalMeta.peekMeta(obj);
|
18947
18962
|
|
18948
18963
|
// check if object meant only to be a prototype
|
18949
|
-
if (meta && meta.proto === obj) {
|
18964
|
+
if (meta !== undefined && meta.proto === obj) {
|
18950
18965
|
return;
|
18951
18966
|
}
|
18952
18967
|
|
18953
18968
|
// Use `get` if the return value is an EachProxy or an uncacheable value.
|
18954
|
-
if (isVolatile(obj[key])) {
|
18969
|
+
if (isVolatile(obj[key]) === true) {
|
18955
18970
|
return _emberMetalProperty_get.get(obj, key);
|
18956
18971
|
// Otherwise attempt to get the cached value of the computed property
|
18957
18972
|
} else {
|
@@ -18965,17 +18980,17 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18965
18980
|
function finishChains(obj) {
|
18966
18981
|
// We only create meta if we really have to
|
18967
18982
|
var m = _emberMetalMeta.peekMeta(obj);
|
18968
|
-
if (m) {
|
18983
|
+
if (m !== undefined) {
|
18969
18984
|
m = _emberMetalMeta.meta(obj);
|
18970
18985
|
|
18971
18986
|
// finish any current chains node watchers that reference obj
|
18972
18987
|
var chainWatchers = m.readableChainWatchers();
|
18973
|
-
if (chainWatchers) {
|
18988
|
+
if (chainWatchers !== undefined) {
|
18974
18989
|
chainWatchers.revalidateAll();
|
18975
18990
|
}
|
18976
18991
|
// ensure that if we have inherited any chains they have been
|
18977
18992
|
// copied onto our own meta.
|
18978
|
-
if (m.readableChains()) {
|
18993
|
+
if (m.readableChains() !== undefined) {
|
18979
18994
|
m.writableChains(_emberMetalWatch_path.makeChainNode);
|
18980
18995
|
}
|
18981
18996
|
}
|
@@ -19853,6 +19868,9 @@ enifed('ember-metal/events', ['exports', 'ember-utils', 'ember-metal/meta', 'emb
|
|
19853
19868
|
return;
|
19854
19869
|
}
|
19855
19870
|
var actions = meta.matchingListeners(eventName);
|
19871
|
+
if (actions === undefined) {
|
19872
|
+
return;
|
19873
|
+
}
|
19856
19874
|
var newActions = [];
|
19857
19875
|
|
19858
19876
|
for (var i = actions.length - 3; i >= 0; i -= 3) {
|
@@ -20070,7 +20088,8 @@ enifed('ember-metal/events', ['exports', 'ember-utils', 'ember-metal/meta', 'emb
|
|
20070
20088
|
if (!meta) {
|
20071
20089
|
return false;
|
20072
20090
|
}
|
20073
|
-
|
20091
|
+
var matched = meta.matchingListeners(eventName);
|
20092
|
+
return matched !== undefined && matched.length > 0;
|
20074
20093
|
}
|
20075
20094
|
|
20076
20095
|
/**
|
@@ -20176,7 +20195,7 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-debug'], function (ex
|
|
20176
20195
|
*/
|
20177
20196
|
|
20178
20197
|
function expandProperties(pattern, callback) {
|
20179
|
-
_emberDebug.assert('A computed property key must be a string', typeof pattern === 'string');
|
20198
|
+
_emberDebug.assert('A computed property key must be a string, you passed ' + typeof pattern + ' ' + pattern, typeof pattern === 'string');
|
20180
20199
|
_emberDebug.assert('Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"', pattern.indexOf(' ') === -1);
|
20181
20200
|
|
20182
20201
|
var unbalancedNestedError = 'Brace expanded properties have to be balanced and cannot be nested, pattern: ' + pattern;
|
@@ -22227,23 +22246,24 @@ enifed('ember-metal/meta_listeners', ['exports'], function (exports) {
|
|
22227
22246
|
|
22228
22247
|
matchingListeners: function (eventName) {
|
22229
22248
|
var pointer = this;
|
22230
|
-
var result =
|
22231
|
-
while (pointer) {
|
22249
|
+
var result = undefined;
|
22250
|
+
while (pointer !== undefined) {
|
22232
22251
|
var listeners = pointer._listeners;
|
22233
|
-
if (listeners) {
|
22252
|
+
if (listeners !== undefined) {
|
22234
22253
|
for (var index = 0; index < listeners.length - 3; index += 4) {
|
22235
22254
|
if (listeners[index] === eventName) {
|
22255
|
+
result = result || [];
|
22236
22256
|
pushUniqueListener(result, listeners, index);
|
22237
22257
|
}
|
22238
22258
|
}
|
22239
22259
|
}
|
22240
|
-
if (pointer._listenersFinalized) {
|
22260
|
+
if (pointer._listenersFinalized === true) {
|
22241
22261
|
break;
|
22242
22262
|
}
|
22243
22263
|
pointer = pointer.parent;
|
22244
22264
|
}
|
22245
22265
|
var sus = this._suspendedListeners;
|
22246
|
-
if (sus) {
|
22266
|
+
if (sus !== undefined && result !== undefined) {
|
22247
22267
|
for (var susIndex = 0; susIndex < sus.length - 2; susIndex += 3) {
|
22248
22268
|
if (eventName === sus[susIndex]) {
|
22249
22269
|
for (var resultIndex = 0; resultIndex < result.length - 2; resultIndex += 3) {
|
@@ -26561,7 +26581,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal', 'em
|
|
26561
26581
|
baseURL = baseURL.replace(/\/$/, '');
|
26562
26582
|
|
26563
26583
|
// remove baseURL and rootURL from start of path
|
26564
|
-
var url = path.replace(new RegExp('^' + baseURL + '(?=/|$)'), '').replace(new RegExp('^' + rootURL + '(?=/|$)'), '');
|
26584
|
+
var url = path.replace(new RegExp('^' + baseURL + '(?=/|$)'), '').replace(new RegExp('^' + rootURL + '(?=/|$)'), '').replace(/\/\/$/g, '/'); // remove extra slashes
|
26565
26585
|
|
26566
26586
|
var search = location.search || '';
|
26567
26587
|
url += search + this.getHash();
|
@@ -41401,13 +41421,15 @@ enifed('ember-testing/setup_for_testing', ['exports', 'ember-debug', 'ember-view
|
|
41401
41421
|
_emberTestingTestAdapter.setAdapter(typeof self.QUnit === 'undefined' ? new _emberTestingAdaptersAdapter.default() : new _emberTestingAdaptersQunit.default());
|
41402
41422
|
}
|
41403
41423
|
|
41404
|
-
_emberViews.jQuery
|
41405
|
-
|
41424
|
+
if (_emberViews.jQuery) {
|
41425
|
+
_emberViews.jQuery(document).off('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
41426
|
+
_emberViews.jQuery(document).off('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
41406
41427
|
|
41407
|
-
|
41428
|
+
_emberTestingTestPending_requests.clearPendingRequests();
|
41408
41429
|
|
41409
|
-
|
41410
|
-
|
41430
|
+
_emberViews.jQuery(document).on('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
41431
|
+
_emberViews.jQuery(document).on('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
41432
|
+
}
|
41411
41433
|
}
|
41412
41434
|
});
|
41413
41435
|
enifed('ember-testing/support', ['exports', 'ember-debug', 'ember-views', 'ember-environment'], function (exports, _emberDebug, _emberViews, _emberEnvironment) {
|
@@ -44207,6 +44229,7 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
|
|
44207
44229
|
|
44208
44230
|
rootElement.on(event + '.ember', '[data-ember-action]', function (evt) {
|
44209
44231
|
var attributes = evt.currentTarget.attributes;
|
44232
|
+
var handledActions = [];
|
44210
44233
|
|
44211
44234
|
for (var i = 0; i < attributes.length; i++) {
|
44212
44235
|
var attr = attributes.item(i);
|
@@ -44218,8 +44241,12 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
|
|
44218
44241
|
// We have to check for action here since in some cases, jQuery will trigger
|
44219
44242
|
// an event on `removeChild` (i.e. focusout) after we've already torn down the
|
44220
44243
|
// action handlers for the view.
|
44221
|
-
if (action && action.eventName === eventName) {
|
44244
|
+
if (action && action.eventName === eventName && handledActions.indexOf(action) === -1) {
|
44222
44245
|
action.handler(evt);
|
44246
|
+
// Action handlers can mutate state which in turn creates new attributes on the element.
|
44247
|
+
// This effect could cause the `data-ember-action` attribute to shift down and be invoked twice.
|
44248
|
+
// To avoid this, we keep track of which actions have been handled.
|
44249
|
+
handledActions.push(action);
|
44223
44250
|
}
|
44224
44251
|
}
|
44225
44252
|
}
|
@@ -45426,7 +45453,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'ember-utils',
|
|
45426
45453
|
enifed("ember/version", ["exports"], function (exports) {
|
45427
45454
|
"use strict";
|
45428
45455
|
|
45429
|
-
exports.default = "2.13.0-beta.
|
45456
|
+
exports.default = "2.13.0-beta.2";
|
45430
45457
|
});
|
45431
45458
|
enifed('internal-test-helpers/apply-mixins', ['exports', 'ember-utils'], function (exports, _emberUtils) {
|
45432
45459
|
'use strict';
|