ember-source 2.3.0 → 2.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +124 -41
- data/dist/ember-template-compiler.js +97 -12
- data/dist/ember-testing.js +1 -1
- data/dist/ember.debug.js +151 -51
- data/dist/ember.js +151 -51
- data/dist/ember.min.js +12 -12
- data/dist/ember.prod.js +149 -48
- 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.3.
|
9
|
+
* @version 2.3.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, requirejs, Ember;
|
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.3.
|
9
|
+
* @version 2.3.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, requirejs, Ember;
|
@@ -10137,7 +10137,7 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
|
|
10137
10137
|
|
10138
10138
|
'use strict';
|
10139
10139
|
|
10140
|
-
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.
|
10140
|
+
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.1';
|
10141
10141
|
|
10142
10142
|
/**
|
10143
10143
|
The `{{outlet}}` helper lets you specify where a child routes will render in
|
@@ -14780,7 +14780,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
|
|
14780
14780
|
var args;
|
14781
14781
|
|
14782
14782
|
var addArg = function (property) {
|
14783
|
-
_emberMetalDebug.assert('Depending on arrays using a dependent key ending with `@each` is no longer supported. ' + ('Please refactor from `Ember.computed(\'' + property + '\', function() {});` to `Ember.computed(\'' + property.slice(0, -6) + '.[]\', function() {})`.'), property.slice(-5) !== '@each');
|
14784
14783
|
args.push(property);
|
14785
14784
|
};
|
14786
14785
|
|
@@ -15884,7 +15883,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
15884
15883
|
|
15885
15884
|
@class Ember
|
15886
15885
|
@static
|
15887
|
-
@version 2.3.
|
15886
|
+
@version 2.3.1
|
15888
15887
|
@public
|
15889
15888
|
*/
|
15890
15889
|
|
@@ -15928,11 +15927,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
15928
15927
|
|
15929
15928
|
@property VERSION
|
15930
15929
|
@type String
|
15931
|
-
@default '2.3.
|
15930
|
+
@default '2.3.1'
|
15932
15931
|
@static
|
15933
15932
|
@public
|
15934
15933
|
*/
|
15935
|
-
Ember.VERSION = '2.3.
|
15934
|
+
Ember.VERSION = '2.3.1';
|
15936
15935
|
|
15937
15936
|
/**
|
15938
15937
|
The hash of environment variables used to control various configuration
|
@@ -16669,6 +16668,8 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-metal/error'], functi
|
|
16669
16668
|
|
16670
16669
|
var SPLIT_REGEX = /\{|\}/;
|
16671
16670
|
|
16671
|
+
var END_WITH_EACH_REGEX = /\.@each$/;
|
16672
|
+
|
16672
16673
|
/**
|
16673
16674
|
Expands `pattern`, invoking `callback` for each expansion.
|
16674
16675
|
|
@@ -16713,10 +16714,10 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-metal/error'], functi
|
|
16713
16714
|
});
|
16714
16715
|
|
16715
16716
|
properties.forEach(function (property) {
|
16716
|
-
callback(property.join(''));
|
16717
|
+
callback(property.join('').replace(END_WITH_EACH_REGEX, '.[]'));
|
16717
16718
|
});
|
16718
16719
|
} else {
|
16719
|
-
callback(pattern);
|
16720
|
+
callback(pattern.replace(END_WITH_EACH_REGEX, '.[]'));
|
16720
16721
|
}
|
16721
16722
|
}
|
16722
16723
|
|
@@ -18595,6 +18596,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
18595
18596
|
exports.aliasMethod = aliasMethod;
|
18596
18597
|
exports.observer = observer;
|
18597
18598
|
exports._immediateObserver = _immediateObserver;
|
18599
|
+
exports._beforeObserver = _beforeObserver;
|
18598
18600
|
|
18599
18601
|
function ROOT() {}
|
18600
18602
|
ROOT.__hasSuper = false;
|
@@ -18918,11 +18920,13 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
18918
18920
|
var prev = obj[key];
|
18919
18921
|
|
18920
18922
|
if ('function' === typeof prev) {
|
18923
|
+
updateObserversAndListeners(obj, key, prev, '__ember_observesBefore__', _emberMetalObserver._removeBeforeObserver);
|
18921
18924
|
updateObserversAndListeners(obj, key, prev, '__ember_observes__', _emberMetalObserver.removeObserver);
|
18922
18925
|
updateObserversAndListeners(obj, key, prev, '__ember_listens__', _emberMetalEvents.removeListener);
|
18923
18926
|
}
|
18924
18927
|
|
18925
18928
|
if ('function' === typeof observerOrListener) {
|
18929
|
+
updateObserversAndListeners(obj, key, observerOrListener, '__ember_observesBefore__', _emberMetalObserver._addBeforeObserver);
|
18926
18930
|
updateObserversAndListeners(obj, key, observerOrListener, '__ember_observes__', _emberMetalObserver.addObserver);
|
18927
18931
|
updateObserversAndListeners(obj, key, observerOrListener, '__ember_listens__', _emberMetalEvents.addListener);
|
18928
18932
|
}
|
@@ -19361,8 +19365,6 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
19361
19365
|
var paths;
|
19362
19366
|
|
19363
19367
|
var addWatchedProperty = function (path) {
|
19364
|
-
_emberMetalDebug.assert('Depending on arrays using a dependent key ending with `@each` is no longer supported. ' + ('Please refactor from `Ember.observer(\'' + path + '\', function() {});` to `Ember.observer(\'' + path.slice(0, -6) + '.[]\', function() {})`.'), path.slice(-5) !== '@each');
|
19365
|
-
|
19366
19368
|
paths.push(path);
|
19367
19369
|
};
|
19368
19370
|
var _paths = args.slice(0, -1);
|
@@ -19426,6 +19428,82 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
19426
19428
|
return observer.apply(this, arguments);
|
19427
19429
|
}
|
19428
19430
|
|
19431
|
+
/**
|
19432
|
+
When observers fire, they are called with the arguments `obj`, `keyName`.
|
19433
|
+
|
19434
|
+
Note, `@each.property` observer is called per each add or replace of an element
|
19435
|
+
and it's not called with a specific enumeration item.
|
19436
|
+
|
19437
|
+
A `_beforeObserver` fires before a property changes.
|
19438
|
+
|
19439
|
+
A `_beforeObserver` is an alternative form of `.observesBefore()`.
|
19440
|
+
|
19441
|
+
```javascript
|
19442
|
+
App.PersonView = Ember.View.extend({
|
19443
|
+
friends: [{ name: 'Tom' }, { name: 'Stefan' }, { name: 'Kris' }],
|
19444
|
+
|
19445
|
+
valueDidChange: Ember.observer('content.value', function(obj, keyName) {
|
19446
|
+
// only run if updating a value already in the DOM
|
19447
|
+
if (this.get('state') === 'inDOM') {
|
19448
|
+
var color = obj.get(keyName) > this.changingFrom ? 'green' : 'red';
|
19449
|
+
// logic
|
19450
|
+
}
|
19451
|
+
}),
|
19452
|
+
|
19453
|
+
friendsDidChange: Ember.observer('friends.@each.name', function(obj, keyName) {
|
19454
|
+
// some logic
|
19455
|
+
// obj.get(keyName) returns friends array
|
19456
|
+
})
|
19457
|
+
});
|
19458
|
+
```
|
19459
|
+
|
19460
|
+
Also available as `Function.prototype.observesBefore` if prototype extensions are
|
19461
|
+
enabled.
|
19462
|
+
|
19463
|
+
@method beforeObserver
|
19464
|
+
@for Ember
|
19465
|
+
@param {String} propertyNames*
|
19466
|
+
@param {Function} func
|
19467
|
+
@return func
|
19468
|
+
@deprecated
|
19469
|
+
@private
|
19470
|
+
*/
|
19471
|
+
|
19472
|
+
function _beforeObserver() {
|
19473
|
+
for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
19474
|
+
args[_key5] = arguments[_key5];
|
19475
|
+
}
|
19476
|
+
|
19477
|
+
var func = args.slice(-1)[0];
|
19478
|
+
var paths;
|
19479
|
+
|
19480
|
+
var addWatchedProperty = function (path) {
|
19481
|
+
paths.push(path);
|
19482
|
+
};
|
19483
|
+
|
19484
|
+
var _paths = args.slice(0, -1);
|
19485
|
+
|
19486
|
+
if (typeof func !== 'function') {
|
19487
|
+
// revert to old, soft-deprecated argument ordering
|
19488
|
+
|
19489
|
+
func = args[0];
|
19490
|
+
_paths = args.slice(1);
|
19491
|
+
}
|
19492
|
+
|
19493
|
+
paths = [];
|
19494
|
+
|
19495
|
+
for (var i = 0; i < _paths.length; ++i) {
|
19496
|
+
_emberMetalExpand_properties.default(_paths[i], addWatchedProperty);
|
19497
|
+
}
|
19498
|
+
|
19499
|
+
if (typeof func !== 'function') {
|
19500
|
+
throw new _emberMetalCore.default.Error('Ember.beforeObserver called without a function');
|
19501
|
+
}
|
19502
|
+
|
19503
|
+
func.__ember_observesBefore__ = paths;
|
19504
|
+
return func;
|
19505
|
+
}
|
19506
|
+
|
19429
19507
|
exports.IS_BINDING = IS_BINDING;
|
19430
19508
|
exports.Mixin = Mixin;
|
19431
19509
|
exports.required = required;
|
@@ -22579,6 +22657,7 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
|
|
22579
22657
|
|
22580
22658
|
superWrapper.wrappedFunction = func;
|
22581
22659
|
superWrapper.__ember_observes__ = func.__ember_observes__;
|
22660
|
+
superWrapper.__ember_observesBefore__ = func.__ember_observesBefore__;
|
22582
22661
|
superWrapper.__ember_listens__ = func.__ember_listens__;
|
22583
22662
|
|
22584
22663
|
return superWrapper;
|
@@ -22958,6 +23037,7 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/chains', 'ember-metal/wa
|
|
22958
23037
|
'use strict';
|
22959
23038
|
|
22960
23039
|
exports.isWatching = isWatching;
|
23040
|
+
exports.watcherCount = watcherCount;
|
22961
23041
|
exports.unwatch = unwatch;
|
22962
23042
|
exports.destroy = destroy;
|
22963
23043
|
|
@@ -22994,6 +23074,11 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/chains', 'ember-metal/wa
|
|
22994
23074
|
return (meta && meta.peekWatching(key)) > 0;
|
22995
23075
|
}
|
22996
23076
|
|
23077
|
+
function watcherCount(obj, key) {
|
23078
|
+
var meta = _emberMetalMeta.peekMeta(obj);
|
23079
|
+
return meta && meta.peekWatching(key) || 0;
|
23080
|
+
}
|
23081
|
+
|
22997
23082
|
watch.flushPending = _emberMetalChains.flushPendingChains;
|
22998
23083
|
|
22999
23084
|
function unwatch(obj, _keyPath, m) {
|
@@ -25591,6 +25676,10 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
25591
25676
|
subsequent `willTransition` actions to fire for the redirecting
|
25592
25677
|
transition, you must first explicitly call
|
25593
25678
|
`transition.abort()`.
|
25679
|
+
To allow the `willTransition` event to continue bubbling to the parent
|
25680
|
+
route, use `return true;`. When the `willTransition` method has a
|
25681
|
+
return value of `true` then the parent route's `willTransition` method
|
25682
|
+
will be fired, enabling "bubbling" behavior for the event.
|
25594
25683
|
@event willTransition
|
25595
25684
|
@param {Transition} transition
|
25596
25685
|
@public
|
@@ -29675,7 +29764,7 @@ enifed('ember-routing-views/components/link-to', ['exports', 'ember-metal/logger
|
|
29675
29764
|
|
29676
29765
|
'use strict';
|
29677
29766
|
|
29678
|
-
_emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.3.
|
29767
|
+
_emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.3.1';
|
29679
29768
|
|
29680
29769
|
/**
|
29681
29770
|
`Ember.LinkComponent` renders an element whose `click` event triggers a
|
@@ -30165,7 +30254,7 @@ enifed('ember-routing-views/views/outlet', ['exports', 'ember-views/views/view',
|
|
30165
30254
|
|
30166
30255
|
'use strict';
|
30167
30256
|
|
30168
|
-
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.
|
30257
|
+
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.1';
|
30169
30258
|
|
30170
30259
|
var CoreOutletView = _emberViewsViewsView.default.extend({
|
30171
30260
|
defaultTemplate: _emberHtmlbarsTemplatesTopLevelView.default,
|
@@ -31398,8 +31487,6 @@ enifed('ember-runtime/ext/function', ['exports', 'ember-metal/core', 'ember-meta
|
|
31398
31487
|
});
|
31399
31488
|
// Ember.EXTEND_PROTOTYPES
|
31400
31489
|
enifed('ember-runtime/ext/rsvp', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/logger', 'ember-metal/run_loop', 'rsvp'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalLogger, _emberMetalRun_loop, _rsvp) {
|
31401
|
-
/* globals RSVP:true */
|
31402
|
-
|
31403
31490
|
'use strict';
|
31404
31491
|
|
31405
31492
|
exports.onerrorDefault = onerrorDefault;
|
@@ -32676,13 +32763,10 @@ enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal/mixin', 'embe
|
|
32676
32763
|
For example, when a Handlebars template uses the `{{action}}` helper,
|
32677
32764
|
it will attempt to send the action to the view's controller's `target`.
|
32678
32765
|
By default, the value of the target property is set to the router, and
|
32679
|
-
is injected when a controller is instantiated. This injection is
|
32680
|
-
|
32681
|
-
|
32682
|
-
|
32683
|
-
template, or when a controller is used as an `itemController`. In most
|
32684
|
-
cases the `target` property will automatically be set to the logical
|
32685
|
-
consumer of actions for the controller.
|
32766
|
+
is injected when a controller is instantiated. This injection is applied
|
32767
|
+
as part of the application's initialization process. In most cases the
|
32768
|
+
`target` property will automatically be set to the logical consumer of
|
32769
|
+
actions for the controller.
|
32686
32770
|
@property target
|
32687
32771
|
@default null
|
32688
32772
|
@public
|
@@ -35625,21 +35709,7 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35625
35709
|
@type Ember.Array
|
35626
35710
|
@private
|
35627
35711
|
*/
|
35628
|
-
content:
|
35629
|
-
get: function () {
|
35630
|
-
return this._content;
|
35631
|
-
},
|
35632
|
-
set: function (k, v) {
|
35633
|
-
if (this._didInitArrayProxy) {
|
35634
|
-
var oldContent = this._content;
|
35635
|
-
var len = oldContent ? _emberMetalProperty_get.get(oldContent, 'length') : 0;
|
35636
|
-
this.arrangedContentArrayWillChange(this, 0, len, undefined);
|
35637
|
-
this.arrangedContentWillChange(this);
|
35638
|
-
}
|
35639
|
-
this._content = v;
|
35640
|
-
return v;
|
35641
|
-
}
|
35642
|
-
}),
|
35712
|
+
content: null,
|
35643
35713
|
|
35644
35714
|
/**
|
35645
35715
|
The array that the proxy pretends to be. In the default `ArrayProxy`
|
@@ -35647,7 +35717,7 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35647
35717
|
can override this property to provide things like sorting and filtering.
|
35648
35718
|
@property arrangedContent
|
35649
35719
|
@private
|
35650
|
-
|
35720
|
+
*/
|
35651
35721
|
arrangedContent: _emberMetalAlias.default('content'),
|
35652
35722
|
|
35653
35723
|
/**
|
@@ -35681,7 +35751,19 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35681
35751
|
_emberMetalProperty_get.get(this, 'content').replace(idx, amt, objects);
|
35682
35752
|
},
|
35683
35753
|
|
35684
|
-
|
35754
|
+
/**
|
35755
|
+
Invoked when the content property is about to change. Notifies observers that the
|
35756
|
+
entire array content will change.
|
35757
|
+
@private
|
35758
|
+
@method _contentWillChange
|
35759
|
+
*/
|
35760
|
+
_contentWillChange: _emberMetalMixin._beforeObserver('content', function () {
|
35761
|
+
this._teardownContent();
|
35762
|
+
}),
|
35763
|
+
|
35764
|
+
_teardownContent: function () {
|
35765
|
+
var content = _emberMetalProperty_get.get(this, 'content');
|
35766
|
+
|
35685
35767
|
if (content) {
|
35686
35768
|
content.removeArrayObserver(this, {
|
35687
35769
|
willChange: 'contentArrayWillChange',
|
@@ -35719,7 +35801,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35719
35801
|
*/
|
35720
35802
|
_contentDidChange: _emberMetalMixin.observer('content', function () {
|
35721
35803
|
var content = _emberMetalProperty_get.get(this, 'content');
|
35722
|
-
this._teardownContent(this._prevContent);
|
35723
35804
|
|
35724
35805
|
_emberMetalDebug.assert('Can\'t set ArrayProxy\'s content to itself', content !== this);
|
35725
35806
|
|
@@ -35728,7 +35809,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35728
35809
|
|
35729
35810
|
_setupContent: function () {
|
35730
35811
|
var content = _emberMetalProperty_get.get(this, 'content');
|
35731
|
-
this._prevContent = content;
|
35732
35812
|
|
35733
35813
|
if (content) {
|
35734
35814
|
_emberMetalDebug.assert('ArrayProxy expects an Array or Ember.ArrayProxy, but you passed ' + typeof content, _emberRuntimeUtils.isArray(content) || content.isDestroyed);
|
@@ -35740,8 +35820,17 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35740
35820
|
}
|
35741
35821
|
},
|
35742
35822
|
|
35823
|
+
_arrangedContentWillChange: _emberMetalMixin._beforeObserver('arrangedContent', function () {
|
35824
|
+
var arrangedContent = _emberMetalProperty_get.get(this, 'arrangedContent');
|
35825
|
+
var len = arrangedContent ? _emberMetalProperty_get.get(arrangedContent, 'length') : 0;
|
35826
|
+
|
35827
|
+
this.arrangedContentArrayWillChange(this, 0, len, undefined);
|
35828
|
+
this.arrangedContentWillChange(this);
|
35829
|
+
|
35830
|
+
this._teardownArrangedContent(arrangedContent);
|
35831
|
+
}),
|
35832
|
+
|
35743
35833
|
_arrangedContentDidChange: _emberMetalMixin.observer('arrangedContent', function () {
|
35744
|
-
this._teardownArrangedContent(this._prevArrangedContent);
|
35745
35834
|
var arrangedContent = _emberMetalProperty_get.get(this, 'arrangedContent');
|
35746
35835
|
var len = arrangedContent ? _emberMetalProperty_get.get(arrangedContent, 'length') : 0;
|
35747
35836
|
|
@@ -35755,7 +35844,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35755
35844
|
|
35756
35845
|
_setupArrangedContent: function () {
|
35757
35846
|
var arrangedContent = _emberMetalProperty_get.get(this, 'arrangedContent');
|
35758
|
-
this._prevArrangedContent = arrangedContent;
|
35759
35847
|
|
35760
35848
|
if (arrangedContent) {
|
35761
35849
|
_emberMetalDebug.assert('ArrayProxy expects an Array or Ember.ArrayProxy, but you passed ' + typeof arrangedContent, _emberRuntimeUtils.isArray(arrangedContent) || arrangedContent.isDestroyed);
|
@@ -35909,7 +35997,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35909
35997
|
},
|
35910
35998
|
|
35911
35999
|
init: function () {
|
35912
|
-
this._didInitArrayProxy = true;
|
35913
36000
|
this._super.apply(this, arguments);
|
35914
36001
|
this._setupContent();
|
35915
36002
|
this._setupArrangedContent();
|
@@ -35917,7 +36004,7 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35917
36004
|
|
35918
36005
|
willDestroy: function () {
|
35919
36006
|
this._teardownArrangedContent();
|
35920
|
-
this._teardownContent(
|
36007
|
+
this._teardownContent();
|
35921
36008
|
}
|
35922
36009
|
});
|
35923
36010
|
|
@@ -39108,7 +39195,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
|
|
39108
39195
|
options.buildMeta = function buildMeta(program) {
|
39109
39196
|
return {
|
39110
39197
|
fragmentReason: fragmentReason(program),
|
39111
|
-
revision: 'Ember@2.3.
|
39198
|
+
revision: 'Ember@2.3.1',
|
39112
39199
|
loc: program.loc,
|
39113
39200
|
moduleName: options.moduleName
|
39114
39201
|
};
|
@@ -40606,7 +40693,7 @@ enifed('ember-views/component_lookup', ['exports', 'ember-metal/core', 'ember-me
|
|
40606
40693
|
}
|
40607
40694
|
});
|
40608
40695
|
});
|
40609
|
-
enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'ember-runtime/mixins/target_action_support', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/utils', 'ember-metal/computed', 'ember-views/compat/attrs-proxy', 'container/owner'], function (exports, _emberMetalDebug, _emberRuntimeMixinsTarget_action_support, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalUtils, _emberMetalComputed, _emberViewsCompatAttrsProxy, _containerOwner) {
|
40696
|
+
enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'ember-metal/environment', 'ember-runtime/mixins/target_action_support', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/utils', 'ember-metal/computed', 'ember-views/compat/attrs-proxy', 'container/owner'], function (exports, _emberMetalDebug, _emberMetalEnvironment, _emberRuntimeMixinsTarget_action_support, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalUtils, _emberMetalComputed, _emberViewsCompatAttrsProxy, _containerOwner) {
|
40610
40697
|
'use strict';
|
40611
40698
|
|
40612
40699
|
function validateAction(component, actionName) {
|
@@ -40751,7 +40838,7 @@ enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'emb
|
|
40751
40838
|
}
|
40752
40839
|
|
40753
40840
|
// If in a tagless component, assert that no event handlers are defined
|
40754
|
-
_emberMetalDebug.assert('You can not define a function that handles DOM events in the `' + this + '` tagless component since it doesn\'t have any DOM element.', this.tagName !== '' || !(function () {
|
40841
|
+
_emberMetalDebug.assert('You can not define a function that handles DOM events in the `' + this + '` tagless component since it doesn\'t have any DOM element.', this.tagName !== '' || !_emberMetalEnvironment.default.hasDOM || !(function () {
|
40755
40842
|
var eventDispatcher = _containerOwner.getOwner(_this).lookup('event_dispatcher:main');
|
40756
40843
|
var events = eventDispatcher && eventDispatcher._finalEvents || {};
|
40757
40844
|
|
@@ -43466,7 +43553,7 @@ enifed('ember-views/system/build-component-template', ['exports', 'ember-metal/d
|
|
43466
43553
|
})());
|
43467
43554
|
}
|
43468
43555
|
});
|
43469
|
-
enifed('ember-views/system/event_dispatcher', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/views/view', 'ember-metal/assign', 'container/owner'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberViewsSystemJquery, _emberViewsSystemAction_manager, _emberViewsViewsView, _emberMetalAssign, _containerOwner) {
|
43556
|
+
enifed('ember-views/system/event_dispatcher', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/views/view', 'ember-metal/assign', 'container/owner', 'ember-metal/environment'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberViewsSystemJquery, _emberViewsSystemAction_manager, _emberViewsViewsView, _emberMetalAssign, _containerOwner, _emberMetalEnvironment) {
|
43470
43557
|
/**
|
43471
43558
|
@module ember
|
43472
43559
|
@submodule ember-views
|
@@ -43585,6 +43672,11 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-metal/debug', '
|
|
43585
43672
|
*/
|
43586
43673
|
canDispatchToEventManager: true,
|
43587
43674
|
|
43675
|
+
init: function () {
|
43676
|
+
this._super();
|
43677
|
+
_emberMetalDebug.assert('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberMetalEnvironment.default.hasDOM);
|
43678
|
+
},
|
43679
|
+
|
43588
43680
|
/**
|
43589
43681
|
Sets up event listeners for standard browser events.
|
43590
43682
|
This will be called after the browser sends a `DOMContentReady` event. By
|
@@ -44396,7 +44488,7 @@ enifed('ember-views/views/collection_view', ['exports', 'ember-metal/core', 'emb
|
|
44396
44488
|
enifed('ember-views/views/container_view', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-runtime/mixins/mutable_array', 'ember-runtime/system/native_array', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/mixin', 'ember-metal/events', 'ember-htmlbars/templates/container-view'], function (exports, _emberMetalCore, _emberMetalDebug, _emberRuntimeMixinsMutable_array, _emberRuntimeSystemNative_array, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalMixin, _emberMetalEvents, _emberHtmlbarsTemplatesContainerView) {
|
44397
44489
|
'use strict';
|
44398
44490
|
|
44399
|
-
_emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.3.
|
44491
|
+
_emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.3.1';
|
44400
44492
|
|
44401
44493
|
/**
|
44402
44494
|
@module ember
|
@@ -49361,8 +49453,16 @@ enifed("morph-attr", ["exports", "morph-attr/sanitize-attribute-value", "dom-hel
|
|
49361
49453
|
|
49362
49454
|
function updateProperty(value) {
|
49363
49455
|
if (this._renderedInitially === true || !_domHelperProp.isAttrRemovalValue(value)) {
|
49364
|
-
|
49365
|
-
|
49456
|
+
var element = this.element;
|
49457
|
+
var attrName = this.attrName;
|
49458
|
+
|
49459
|
+
if (attrName === 'value' && element.tagName === 'INPUT' && element.value === value) {
|
49460
|
+
// Do nothing. Attempts to avoid accidently changing the input cursor location.
|
49461
|
+
// See https://github.com/tildeio/htmlbars/pull/447 for more details.
|
49462
|
+
} else {
|
49463
|
+
// do not render if initial value is undefined or null
|
49464
|
+
this.domHelper.setPropertyStrict(element, attrName, value);
|
49465
|
+
}
|
49366
49466
|
}
|
49367
49467
|
|
49368
49468
|
this._renderedInitially = true;
|
data/dist/ember.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.3.
|
9
|
+
* @version 2.3.1
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, requirejs, Ember;
|
@@ -10137,7 +10137,7 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
|
|
10137
10137
|
|
10138
10138
|
'use strict';
|
10139
10139
|
|
10140
|
-
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.
|
10140
|
+
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.1';
|
10141
10141
|
|
10142
10142
|
/**
|
10143
10143
|
The `{{outlet}}` helper lets you specify where a child routes will render in
|
@@ -14780,7 +14780,6 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
|
|
14780
14780
|
var args;
|
14781
14781
|
|
14782
14782
|
var addArg = function (property) {
|
14783
|
-
_emberMetalDebug.assert('Depending on arrays using a dependent key ending with `@each` is no longer supported. ' + ('Please refactor from `Ember.computed(\'' + property + '\', function() {});` to `Ember.computed(\'' + property.slice(0, -6) + '.[]\', function() {})`.'), property.slice(-5) !== '@each');
|
14784
14783
|
args.push(property);
|
14785
14784
|
};
|
14786
14785
|
|
@@ -15884,7 +15883,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
15884
15883
|
|
15885
15884
|
@class Ember
|
15886
15885
|
@static
|
15887
|
-
@version 2.3.
|
15886
|
+
@version 2.3.1
|
15888
15887
|
@public
|
15889
15888
|
*/
|
15890
15889
|
|
@@ -15928,11 +15927,11 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
15928
15927
|
|
15929
15928
|
@property VERSION
|
15930
15929
|
@type String
|
15931
|
-
@default '2.3.
|
15930
|
+
@default '2.3.1'
|
15932
15931
|
@static
|
15933
15932
|
@public
|
15934
15933
|
*/
|
15935
|
-
Ember.VERSION = '2.3.
|
15934
|
+
Ember.VERSION = '2.3.1';
|
15936
15935
|
|
15937
15936
|
/**
|
15938
15937
|
The hash of environment variables used to control various configuration
|
@@ -16669,6 +16668,8 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-metal/error'], functi
|
|
16669
16668
|
|
16670
16669
|
var SPLIT_REGEX = /\{|\}/;
|
16671
16670
|
|
16671
|
+
var END_WITH_EACH_REGEX = /\.@each$/;
|
16672
|
+
|
16672
16673
|
/**
|
16673
16674
|
Expands `pattern`, invoking `callback` for each expansion.
|
16674
16675
|
|
@@ -16713,10 +16714,10 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-metal/error'], functi
|
|
16713
16714
|
});
|
16714
16715
|
|
16715
16716
|
properties.forEach(function (property) {
|
16716
|
-
callback(property.join(''));
|
16717
|
+
callback(property.join('').replace(END_WITH_EACH_REGEX, '.[]'));
|
16717
16718
|
});
|
16718
16719
|
} else {
|
16719
|
-
callback(pattern);
|
16720
|
+
callback(pattern.replace(END_WITH_EACH_REGEX, '.[]'));
|
16720
16721
|
}
|
16721
16722
|
}
|
16722
16723
|
|
@@ -18595,6 +18596,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
18595
18596
|
exports.aliasMethod = aliasMethod;
|
18596
18597
|
exports.observer = observer;
|
18597
18598
|
exports._immediateObserver = _immediateObserver;
|
18599
|
+
exports._beforeObserver = _beforeObserver;
|
18598
18600
|
|
18599
18601
|
function ROOT() {}
|
18600
18602
|
ROOT.__hasSuper = false;
|
@@ -18918,11 +18920,13 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
18918
18920
|
var prev = obj[key];
|
18919
18921
|
|
18920
18922
|
if ('function' === typeof prev) {
|
18923
|
+
updateObserversAndListeners(obj, key, prev, '__ember_observesBefore__', _emberMetalObserver._removeBeforeObserver);
|
18921
18924
|
updateObserversAndListeners(obj, key, prev, '__ember_observes__', _emberMetalObserver.removeObserver);
|
18922
18925
|
updateObserversAndListeners(obj, key, prev, '__ember_listens__', _emberMetalEvents.removeListener);
|
18923
18926
|
}
|
18924
18927
|
|
18925
18928
|
if ('function' === typeof observerOrListener) {
|
18929
|
+
updateObserversAndListeners(obj, key, observerOrListener, '__ember_observesBefore__', _emberMetalObserver._addBeforeObserver);
|
18926
18930
|
updateObserversAndListeners(obj, key, observerOrListener, '__ember_observes__', _emberMetalObserver.addObserver);
|
18927
18931
|
updateObserversAndListeners(obj, key, observerOrListener, '__ember_listens__', _emberMetalEvents.addListener);
|
18928
18932
|
}
|
@@ -19361,8 +19365,6 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
19361
19365
|
var paths;
|
19362
19366
|
|
19363
19367
|
var addWatchedProperty = function (path) {
|
19364
|
-
_emberMetalDebug.assert('Depending on arrays using a dependent key ending with `@each` is no longer supported. ' + ('Please refactor from `Ember.observer(\'' + path + '\', function() {});` to `Ember.observer(\'' + path.slice(0, -6) + '.[]\', function() {})`.'), path.slice(-5) !== '@each');
|
19365
|
-
|
19366
19368
|
paths.push(path);
|
19367
19369
|
};
|
19368
19370
|
var _paths = args.slice(0, -1);
|
@@ -19426,6 +19428,82 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/error',
|
|
19426
19428
|
return observer.apply(this, arguments);
|
19427
19429
|
}
|
19428
19430
|
|
19431
|
+
/**
|
19432
|
+
When observers fire, they are called with the arguments `obj`, `keyName`.
|
19433
|
+
|
19434
|
+
Note, `@each.property` observer is called per each add or replace of an element
|
19435
|
+
and it's not called with a specific enumeration item.
|
19436
|
+
|
19437
|
+
A `_beforeObserver` fires before a property changes.
|
19438
|
+
|
19439
|
+
A `_beforeObserver` is an alternative form of `.observesBefore()`.
|
19440
|
+
|
19441
|
+
```javascript
|
19442
|
+
App.PersonView = Ember.View.extend({
|
19443
|
+
friends: [{ name: 'Tom' }, { name: 'Stefan' }, { name: 'Kris' }],
|
19444
|
+
|
19445
|
+
valueDidChange: Ember.observer('content.value', function(obj, keyName) {
|
19446
|
+
// only run if updating a value already in the DOM
|
19447
|
+
if (this.get('state') === 'inDOM') {
|
19448
|
+
var color = obj.get(keyName) > this.changingFrom ? 'green' : 'red';
|
19449
|
+
// logic
|
19450
|
+
}
|
19451
|
+
}),
|
19452
|
+
|
19453
|
+
friendsDidChange: Ember.observer('friends.@each.name', function(obj, keyName) {
|
19454
|
+
// some logic
|
19455
|
+
// obj.get(keyName) returns friends array
|
19456
|
+
})
|
19457
|
+
});
|
19458
|
+
```
|
19459
|
+
|
19460
|
+
Also available as `Function.prototype.observesBefore` if prototype extensions are
|
19461
|
+
enabled.
|
19462
|
+
|
19463
|
+
@method beforeObserver
|
19464
|
+
@for Ember
|
19465
|
+
@param {String} propertyNames*
|
19466
|
+
@param {Function} func
|
19467
|
+
@return func
|
19468
|
+
@deprecated
|
19469
|
+
@private
|
19470
|
+
*/
|
19471
|
+
|
19472
|
+
function _beforeObserver() {
|
19473
|
+
for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
19474
|
+
args[_key5] = arguments[_key5];
|
19475
|
+
}
|
19476
|
+
|
19477
|
+
var func = args.slice(-1)[0];
|
19478
|
+
var paths;
|
19479
|
+
|
19480
|
+
var addWatchedProperty = function (path) {
|
19481
|
+
paths.push(path);
|
19482
|
+
};
|
19483
|
+
|
19484
|
+
var _paths = args.slice(0, -1);
|
19485
|
+
|
19486
|
+
if (typeof func !== 'function') {
|
19487
|
+
// revert to old, soft-deprecated argument ordering
|
19488
|
+
|
19489
|
+
func = args[0];
|
19490
|
+
_paths = args.slice(1);
|
19491
|
+
}
|
19492
|
+
|
19493
|
+
paths = [];
|
19494
|
+
|
19495
|
+
for (var i = 0; i < _paths.length; ++i) {
|
19496
|
+
_emberMetalExpand_properties.default(_paths[i], addWatchedProperty);
|
19497
|
+
}
|
19498
|
+
|
19499
|
+
if (typeof func !== 'function') {
|
19500
|
+
throw new _emberMetalCore.default.Error('Ember.beforeObserver called without a function');
|
19501
|
+
}
|
19502
|
+
|
19503
|
+
func.__ember_observesBefore__ = paths;
|
19504
|
+
return func;
|
19505
|
+
}
|
19506
|
+
|
19429
19507
|
exports.IS_BINDING = IS_BINDING;
|
19430
19508
|
exports.Mixin = Mixin;
|
19431
19509
|
exports.required = required;
|
@@ -22579,6 +22657,7 @@ enifed('ember-metal/utils', ['exports'], function (exports) {
|
|
22579
22657
|
|
22580
22658
|
superWrapper.wrappedFunction = func;
|
22581
22659
|
superWrapper.__ember_observes__ = func.__ember_observes__;
|
22660
|
+
superWrapper.__ember_observesBefore__ = func.__ember_observesBefore__;
|
22582
22661
|
superWrapper.__ember_listens__ = func.__ember_listens__;
|
22583
22662
|
|
22584
22663
|
return superWrapper;
|
@@ -22958,6 +23037,7 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/chains', 'ember-metal/wa
|
|
22958
23037
|
'use strict';
|
22959
23038
|
|
22960
23039
|
exports.isWatching = isWatching;
|
23040
|
+
exports.watcherCount = watcherCount;
|
22961
23041
|
exports.unwatch = unwatch;
|
22962
23042
|
exports.destroy = destroy;
|
22963
23043
|
|
@@ -22994,6 +23074,11 @@ enifed('ember-metal/watching', ['exports', 'ember-metal/chains', 'ember-metal/wa
|
|
22994
23074
|
return (meta && meta.peekWatching(key)) > 0;
|
22995
23075
|
}
|
22996
23076
|
|
23077
|
+
function watcherCount(obj, key) {
|
23078
|
+
var meta = _emberMetalMeta.peekMeta(obj);
|
23079
|
+
return meta && meta.peekWatching(key) || 0;
|
23080
|
+
}
|
23081
|
+
|
22997
23082
|
watch.flushPending = _emberMetalChains.flushPendingChains;
|
22998
23083
|
|
22999
23084
|
function unwatch(obj, _keyPath, m) {
|
@@ -25591,6 +25676,10 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
25591
25676
|
subsequent `willTransition` actions to fire for the redirecting
|
25592
25677
|
transition, you must first explicitly call
|
25593
25678
|
`transition.abort()`.
|
25679
|
+
To allow the `willTransition` event to continue bubbling to the parent
|
25680
|
+
route, use `return true;`. When the `willTransition` method has a
|
25681
|
+
return value of `true` then the parent route's `willTransition` method
|
25682
|
+
will be fired, enabling "bubbling" behavior for the event.
|
25594
25683
|
@event willTransition
|
25595
25684
|
@param {Transition} transition
|
25596
25685
|
@public
|
@@ -29675,7 +29764,7 @@ enifed('ember-routing-views/components/link-to', ['exports', 'ember-metal/logger
|
|
29675
29764
|
|
29676
29765
|
'use strict';
|
29677
29766
|
|
29678
|
-
_emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.3.
|
29767
|
+
_emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.3.1';
|
29679
29768
|
|
29680
29769
|
/**
|
29681
29770
|
`Ember.LinkComponent` renders an element whose `click` event triggers a
|
@@ -30165,7 +30254,7 @@ enifed('ember-routing-views/views/outlet', ['exports', 'ember-views/views/view',
|
|
30165
30254
|
|
30166
30255
|
'use strict';
|
30167
30256
|
|
30168
|
-
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.
|
30257
|
+
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.3.1';
|
30169
30258
|
|
30170
30259
|
var CoreOutletView = _emberViewsViewsView.default.extend({
|
30171
30260
|
defaultTemplate: _emberHtmlbarsTemplatesTopLevelView.default,
|
@@ -31398,8 +31487,6 @@ enifed('ember-runtime/ext/function', ['exports', 'ember-metal/core', 'ember-meta
|
|
31398
31487
|
});
|
31399
31488
|
// Ember.EXTEND_PROTOTYPES
|
31400
31489
|
enifed('ember-runtime/ext/rsvp', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-metal/logger', 'ember-metal/run_loop', 'rsvp'], function (exports, _emberMetalCore, _emberMetalDebug, _emberMetalLogger, _emberMetalRun_loop, _rsvp) {
|
31401
|
-
/* globals RSVP:true */
|
31402
|
-
|
31403
31490
|
'use strict';
|
31404
31491
|
|
31405
31492
|
exports.onerrorDefault = onerrorDefault;
|
@@ -32676,13 +32763,10 @@ enifed('ember-runtime/mixins/controller', ['exports', 'ember-metal/mixin', 'embe
|
|
32676
32763
|
For example, when a Handlebars template uses the `{{action}}` helper,
|
32677
32764
|
it will attempt to send the action to the view's controller's `target`.
|
32678
32765
|
By default, the value of the target property is set to the router, and
|
32679
|
-
is injected when a controller is instantiated. This injection is
|
32680
|
-
|
32681
|
-
|
32682
|
-
|
32683
|
-
template, or when a controller is used as an `itemController`. In most
|
32684
|
-
cases the `target` property will automatically be set to the logical
|
32685
|
-
consumer of actions for the controller.
|
32766
|
+
is injected when a controller is instantiated. This injection is applied
|
32767
|
+
as part of the application's initialization process. In most cases the
|
32768
|
+
`target` property will automatically be set to the logical consumer of
|
32769
|
+
actions for the controller.
|
32686
32770
|
@property target
|
32687
32771
|
@default null
|
32688
32772
|
@public
|
@@ -35625,21 +35709,7 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35625
35709
|
@type Ember.Array
|
35626
35710
|
@private
|
35627
35711
|
*/
|
35628
|
-
content:
|
35629
|
-
get: function () {
|
35630
|
-
return this._content;
|
35631
|
-
},
|
35632
|
-
set: function (k, v) {
|
35633
|
-
if (this._didInitArrayProxy) {
|
35634
|
-
var oldContent = this._content;
|
35635
|
-
var len = oldContent ? _emberMetalProperty_get.get(oldContent, 'length') : 0;
|
35636
|
-
this.arrangedContentArrayWillChange(this, 0, len, undefined);
|
35637
|
-
this.arrangedContentWillChange(this);
|
35638
|
-
}
|
35639
|
-
this._content = v;
|
35640
|
-
return v;
|
35641
|
-
}
|
35642
|
-
}),
|
35712
|
+
content: null,
|
35643
35713
|
|
35644
35714
|
/**
|
35645
35715
|
The array that the proxy pretends to be. In the default `ArrayProxy`
|
@@ -35647,7 +35717,7 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35647
35717
|
can override this property to provide things like sorting and filtering.
|
35648
35718
|
@property arrangedContent
|
35649
35719
|
@private
|
35650
|
-
|
35720
|
+
*/
|
35651
35721
|
arrangedContent: _emberMetalAlias.default('content'),
|
35652
35722
|
|
35653
35723
|
/**
|
@@ -35681,7 +35751,19 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35681
35751
|
_emberMetalProperty_get.get(this, 'content').replace(idx, amt, objects);
|
35682
35752
|
},
|
35683
35753
|
|
35684
|
-
|
35754
|
+
/**
|
35755
|
+
Invoked when the content property is about to change. Notifies observers that the
|
35756
|
+
entire array content will change.
|
35757
|
+
@private
|
35758
|
+
@method _contentWillChange
|
35759
|
+
*/
|
35760
|
+
_contentWillChange: _emberMetalMixin._beforeObserver('content', function () {
|
35761
|
+
this._teardownContent();
|
35762
|
+
}),
|
35763
|
+
|
35764
|
+
_teardownContent: function () {
|
35765
|
+
var content = _emberMetalProperty_get.get(this, 'content');
|
35766
|
+
|
35685
35767
|
if (content) {
|
35686
35768
|
content.removeArrayObserver(this, {
|
35687
35769
|
willChange: 'contentArrayWillChange',
|
@@ -35719,7 +35801,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35719
35801
|
*/
|
35720
35802
|
_contentDidChange: _emberMetalMixin.observer('content', function () {
|
35721
35803
|
var content = _emberMetalProperty_get.get(this, 'content');
|
35722
|
-
this._teardownContent(this._prevContent);
|
35723
35804
|
|
35724
35805
|
_emberMetalDebug.assert('Can\'t set ArrayProxy\'s content to itself', content !== this);
|
35725
35806
|
|
@@ -35728,7 +35809,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35728
35809
|
|
35729
35810
|
_setupContent: function () {
|
35730
35811
|
var content = _emberMetalProperty_get.get(this, 'content');
|
35731
|
-
this._prevContent = content;
|
35732
35812
|
|
35733
35813
|
if (content) {
|
35734
35814
|
_emberMetalDebug.assert('ArrayProxy expects an Array or Ember.ArrayProxy, but you passed ' + typeof content, _emberRuntimeUtils.isArray(content) || content.isDestroyed);
|
@@ -35740,8 +35820,17 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35740
35820
|
}
|
35741
35821
|
},
|
35742
35822
|
|
35823
|
+
_arrangedContentWillChange: _emberMetalMixin._beforeObserver('arrangedContent', function () {
|
35824
|
+
var arrangedContent = _emberMetalProperty_get.get(this, 'arrangedContent');
|
35825
|
+
var len = arrangedContent ? _emberMetalProperty_get.get(arrangedContent, 'length') : 0;
|
35826
|
+
|
35827
|
+
this.arrangedContentArrayWillChange(this, 0, len, undefined);
|
35828
|
+
this.arrangedContentWillChange(this);
|
35829
|
+
|
35830
|
+
this._teardownArrangedContent(arrangedContent);
|
35831
|
+
}),
|
35832
|
+
|
35743
35833
|
_arrangedContentDidChange: _emberMetalMixin.observer('arrangedContent', function () {
|
35744
|
-
this._teardownArrangedContent(this._prevArrangedContent);
|
35745
35834
|
var arrangedContent = _emberMetalProperty_get.get(this, 'arrangedContent');
|
35746
35835
|
var len = arrangedContent ? _emberMetalProperty_get.get(arrangedContent, 'length') : 0;
|
35747
35836
|
|
@@ -35755,7 +35844,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35755
35844
|
|
35756
35845
|
_setupArrangedContent: function () {
|
35757
35846
|
var arrangedContent = _emberMetalProperty_get.get(this, 'arrangedContent');
|
35758
|
-
this._prevArrangedContent = arrangedContent;
|
35759
35847
|
|
35760
35848
|
if (arrangedContent) {
|
35761
35849
|
_emberMetalDebug.assert('ArrayProxy expects an Array or Ember.ArrayProxy, but you passed ' + typeof arrangedContent, _emberRuntimeUtils.isArray(arrangedContent) || arrangedContent.isDestroyed);
|
@@ -35909,7 +35997,6 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35909
35997
|
},
|
35910
35998
|
|
35911
35999
|
init: function () {
|
35912
|
-
this._didInitArrayProxy = true;
|
35913
36000
|
this._super.apply(this, arguments);
|
35914
36001
|
this._setupContent();
|
35915
36002
|
this._setupArrangedContent();
|
@@ -35917,7 +36004,7 @@ enifed('ember-runtime/system/array_proxy', ['exports', 'ember-metal/debug', 'emb
|
|
35917
36004
|
|
35918
36005
|
willDestroy: function () {
|
35919
36006
|
this._teardownArrangedContent();
|
35920
|
-
this._teardownContent(
|
36007
|
+
this._teardownContent();
|
35921
36008
|
}
|
35922
36009
|
});
|
35923
36010
|
|
@@ -39108,7 +39195,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
|
|
39108
39195
|
options.buildMeta = function buildMeta(program) {
|
39109
39196
|
return {
|
39110
39197
|
fragmentReason: fragmentReason(program),
|
39111
|
-
revision: 'Ember@2.3.
|
39198
|
+
revision: 'Ember@2.3.1',
|
39112
39199
|
loc: program.loc,
|
39113
39200
|
moduleName: options.moduleName
|
39114
39201
|
};
|
@@ -40606,7 +40693,7 @@ enifed('ember-views/component_lookup', ['exports', 'ember-metal/core', 'ember-me
|
|
40606
40693
|
}
|
40607
40694
|
});
|
40608
40695
|
});
|
40609
|
-
enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'ember-runtime/mixins/target_action_support', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/utils', 'ember-metal/computed', 'ember-views/compat/attrs-proxy', 'container/owner'], function (exports, _emberMetalDebug, _emberRuntimeMixinsTarget_action_support, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalUtils, _emberMetalComputed, _emberViewsCompatAttrsProxy, _containerOwner) {
|
40696
|
+
enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'ember-metal/environment', 'ember-runtime/mixins/target_action_support', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/utils', 'ember-metal/computed', 'ember-views/compat/attrs-proxy', 'container/owner'], function (exports, _emberMetalDebug, _emberMetalEnvironment, _emberRuntimeMixinsTarget_action_support, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalUtils, _emberMetalComputed, _emberViewsCompatAttrsProxy, _containerOwner) {
|
40610
40697
|
'use strict';
|
40611
40698
|
|
40612
40699
|
function validateAction(component, actionName) {
|
@@ -40751,7 +40838,7 @@ enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'emb
|
|
40751
40838
|
}
|
40752
40839
|
|
40753
40840
|
// If in a tagless component, assert that no event handlers are defined
|
40754
|
-
_emberMetalDebug.assert('You can not define a function that handles DOM events in the `' + this + '` tagless component since it doesn\'t have any DOM element.', this.tagName !== '' || !(function () {
|
40841
|
+
_emberMetalDebug.assert('You can not define a function that handles DOM events in the `' + this + '` tagless component since it doesn\'t have any DOM element.', this.tagName !== '' || !_emberMetalEnvironment.default.hasDOM || !(function () {
|
40755
40842
|
var eventDispatcher = _containerOwner.getOwner(_this).lookup('event_dispatcher:main');
|
40756
40843
|
var events = eventDispatcher && eventDispatcher._finalEvents || {};
|
40757
40844
|
|
@@ -43466,7 +43553,7 @@ enifed('ember-views/system/build-component-template', ['exports', 'ember-metal/d
|
|
43466
43553
|
})());
|
43467
43554
|
}
|
43468
43555
|
});
|
43469
|
-
enifed('ember-views/system/event_dispatcher', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/views/view', 'ember-metal/assign', 'container/owner'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberViewsSystemJquery, _emberViewsSystemAction_manager, _emberViewsViewsView, _emberMetalAssign, _containerOwner) {
|
43556
|
+
enifed('ember-views/system/event_dispatcher', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/is_none', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-views/views/view', 'ember-metal/assign', 'container/owner', 'ember-metal/environment'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalIs_none, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberViewsSystemJquery, _emberViewsSystemAction_manager, _emberViewsViewsView, _emberMetalAssign, _containerOwner, _emberMetalEnvironment) {
|
43470
43557
|
/**
|
43471
43558
|
@module ember
|
43472
43559
|
@submodule ember-views
|
@@ -43585,6 +43672,11 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-metal/debug', '
|
|
43585
43672
|
*/
|
43586
43673
|
canDispatchToEventManager: true,
|
43587
43674
|
|
43675
|
+
init: function () {
|
43676
|
+
this._super();
|
43677
|
+
_emberMetalDebug.assert('EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.', _emberMetalEnvironment.default.hasDOM);
|
43678
|
+
},
|
43679
|
+
|
43588
43680
|
/**
|
43589
43681
|
Sets up event listeners for standard browser events.
|
43590
43682
|
This will be called after the browser sends a `DOMContentReady` event. By
|
@@ -44396,7 +44488,7 @@ enifed('ember-views/views/collection_view', ['exports', 'ember-metal/core', 'emb
|
|
44396
44488
|
enifed('ember-views/views/container_view', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-runtime/mixins/mutable_array', 'ember-runtime/system/native_array', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/mixin', 'ember-metal/events', 'ember-htmlbars/templates/container-view'], function (exports, _emberMetalCore, _emberMetalDebug, _emberRuntimeMixinsMutable_array, _emberRuntimeSystemNative_array, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalMixin, _emberMetalEvents, _emberHtmlbarsTemplatesContainerView) {
|
44397
44489
|
'use strict';
|
44398
44490
|
|
44399
|
-
_emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.3.
|
44491
|
+
_emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.3.1';
|
44400
44492
|
|
44401
44493
|
/**
|
44402
44494
|
@module ember
|
@@ -49361,8 +49453,16 @@ enifed("morph-attr", ["exports", "morph-attr/sanitize-attribute-value", "dom-hel
|
|
49361
49453
|
|
49362
49454
|
function updateProperty(value) {
|
49363
49455
|
if (this._renderedInitially === true || !_domHelperProp.isAttrRemovalValue(value)) {
|
49364
|
-
|
49365
|
-
|
49456
|
+
var element = this.element;
|
49457
|
+
var attrName = this.attrName;
|
49458
|
+
|
49459
|
+
if (attrName === 'value' && element.tagName === 'INPUT' && element.value === value) {
|
49460
|
+
// Do nothing. Attempts to avoid accidently changing the input cursor location.
|
49461
|
+
// See https://github.com/tildeio/htmlbars/pull/447 for more details.
|
49462
|
+
} else {
|
49463
|
+
// do not render if initial value is undefined or null
|
49464
|
+
this.domHelper.setPropertyStrict(element, attrName, value);
|
49465
|
+
}
|
49366
49466
|
}
|
49367
49467
|
|
49368
49468
|
this._renderedInitially = true;
|