ember-source 2.9.0.beta.4 → 2.9.0.beta.5
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 +329 -341
- data/dist/ember-template-compiler.js +38 -45
- data/dist/ember-testing.js +1 -1
- data/dist/ember.debug.js +449 -453
- data/dist/ember.js +449 -453
- data/dist/ember.min.js +15 -15
- data/dist/ember.prod.js +425 -442
- metadata +3 -4
- data/dist/test-template.js +0 -6
@@ -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.9.0-beta.
|
9
|
+
* @version 2.9.0-beta.5
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, Ember;
|
@@ -9018,19 +9018,12 @@ enifed('ember-metal/set_properties', ['exports', 'ember-metal/property_events',
|
|
9018
9018
|
return properties;
|
9019
9019
|
}
|
9020
9020
|
});
|
9021
|
-
enifed('ember-metal/tags', ['exports', 'ember-metal/meta', 'require'], function (exports, _emberMetalMeta,
|
9021
|
+
enifed('ember-metal/tags', ['exports', 'glimmer-reference', 'ember-metal/meta', 'require'], function (exports, _glimmerReference, _emberMetalMeta, _require) {
|
9022
9022
|
'use strict';
|
9023
9023
|
|
9024
9024
|
exports.setHasViews = setHasViews;
|
9025
9025
|
exports.tagFor = tagFor;
|
9026
|
-
|
9027
|
-
var hasGlimmer = _require2.has('glimmer-reference');
|
9028
|
-
|
9029
|
-
var CONSTANT_TAG = undefined,
|
9030
|
-
CURRENT_TAG = undefined,
|
9031
|
-
DirtyableTag = undefined,
|
9032
|
-
makeTag = undefined,
|
9033
|
-
run = undefined;
|
9026
|
+
exports.markObjectAsDirty = markObjectAsDirty;
|
9034
9027
|
|
9035
9028
|
var hasViews = function () {
|
9036
9029
|
return false;
|
@@ -9040,56 +9033,41 @@ enifed('ember-metal/tags', ['exports', 'ember-metal/meta', 'require'], function
|
|
9040
9033
|
hasViews = fn;
|
9041
9034
|
}
|
9042
9035
|
|
9043
|
-
|
9044
|
-
|
9045
|
-
|
9036
|
+
function makeTag() {
|
9037
|
+
return new _glimmerReference.DirtyableTag();
|
9038
|
+
}
|
9046
9039
|
|
9047
9040
|
function tagFor(object, _meta) {
|
9048
|
-
if (!hasGlimmer) {
|
9049
|
-
throw new Error('Cannot call tagFor without Glimmer');
|
9050
|
-
}
|
9051
|
-
|
9052
9041
|
if (typeof object === 'object' && object) {
|
9053
9042
|
var meta = _meta || _emberMetalMeta.meta(object);
|
9054
9043
|
return meta.writableTag(makeTag);
|
9055
9044
|
} else {
|
9056
|
-
return CONSTANT_TAG;
|
9045
|
+
return _glimmerReference.CONSTANT_TAG;
|
9057
9046
|
}
|
9058
9047
|
}
|
9059
9048
|
|
9049
|
+
function markObjectAsDirty(meta) {
|
9050
|
+
var tag = meta && meta.readableTag();
|
9051
|
+
|
9052
|
+
if (tag) {
|
9053
|
+
ensureRunloop();
|
9054
|
+
tag.dirty();
|
9055
|
+
}
|
9056
|
+
}
|
9057
|
+
|
9058
|
+
var run = undefined;
|
9059
|
+
|
9060
9060
|
function K() {}
|
9061
|
+
|
9061
9062
|
function ensureRunloop() {
|
9062
9063
|
if (!run) {
|
9063
|
-
run =
|
9064
|
+
run = _require.default('ember-metal/run_loop').default;
|
9064
9065
|
}
|
9065
9066
|
|
9066
9067
|
if (hasViews() && !run.backburner.currentInstance) {
|
9067
9068
|
run.schedule('actions', K);
|
9068
9069
|
}
|
9069
9070
|
}
|
9070
|
-
|
9071
|
-
if (hasGlimmer) {
|
9072
|
-
var _require = _require2.default('glimmer-reference');
|
9073
|
-
|
9074
|
-
DirtyableTag = _require.DirtyableTag;
|
9075
|
-
CONSTANT_TAG = _require.CONSTANT_TAG;
|
9076
|
-
CURRENT_TAG = _require.CURRENT_TAG;
|
9077
|
-
|
9078
|
-
makeTag = function () {
|
9079
|
-
return new DirtyableTag();
|
9080
|
-
};
|
9081
|
-
|
9082
|
-
exports.markObjectAsDirty = markObjectAsDirty = function (meta) {
|
9083
|
-
var tag = meta && meta.readableTag();
|
9084
|
-
|
9085
|
-
if (tag) {
|
9086
|
-
ensureRunloop();
|
9087
|
-
tag.dirty();
|
9088
|
-
}
|
9089
|
-
};
|
9090
|
-
} else {
|
9091
|
-
exports.markObjectAsDirty = markObjectAsDirty = function () {};
|
9092
|
-
}
|
9093
9071
|
});
|
9094
9072
|
enifed("ember-metal/testing", ["exports"], function (exports) {
|
9095
9073
|
"use strict";
|
@@ -9179,7 +9157,7 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d
|
|
9179
9157
|
label = 'the same value';
|
9180
9158
|
}
|
9181
9159
|
|
9182
|
-
return 'You modified ' + parts.join('.') + ' twice in a single render. This was unreliable and slow in Ember 1.x and ' + implication;
|
9160
|
+
return 'You modified ' + parts.join('.') + ' twice on ' + object + ' in a single render. This was unreliable and slow in Ember 1.x and ' + implication;
|
9183
9161
|
})(), false);
|
9184
9162
|
|
9185
9163
|
shouldReflush = true;
|
@@ -9887,6 +9865,21 @@ enifed('ember-template-compiler/plugins/transform-attrs-into-args', ['exports'],
|
|
9887
9865
|
this.syntax = null;
|
9888
9866
|
}
|
9889
9867
|
|
9868
|
+
function isAttrs(node) {
|
9869
|
+
if (node.parts[0] === 'attrs') {
|
9870
|
+
return true;
|
9871
|
+
}
|
9872
|
+
|
9873
|
+
var _this = node.parts[0];
|
9874
|
+
var attrs = node.parts[1];
|
9875
|
+
|
9876
|
+
if (_this === null && attrs === 'attrs') {
|
9877
|
+
node.parts.shift();
|
9878
|
+
node.original = node.original.slice(5);
|
9879
|
+
return true;
|
9880
|
+
}
|
9881
|
+
}
|
9882
|
+
|
9890
9883
|
/**
|
9891
9884
|
@private
|
9892
9885
|
@method transform
|
@@ -9899,7 +9892,7 @@ enifed('ember-template-compiler/plugins/transform-attrs-into-args', ['exports'],
|
|
9899
9892
|
|
9900
9893
|
traverse(ast, {
|
9901
9894
|
PathExpression: function (node) {
|
9902
|
-
if (node
|
9895
|
+
if (isAttrs(node)) {
|
9903
9896
|
var path = b.path(node.original.substr(6));
|
9904
9897
|
path.original = '@' + path.original;
|
9905
9898
|
path.data = true;
|
@@ -11593,7 +11586,7 @@ enifed("ember/features", ["exports"], function (exports) {
|
|
11593
11586
|
enifed("ember/version", ["exports"], function (exports) {
|
11594
11587
|
"use strict";
|
11595
11588
|
|
11596
|
-
exports.default = "2.9.0-beta.
|
11589
|
+
exports.default = "2.9.0-beta.5";
|
11597
11590
|
});
|
11598
11591
|
enifed("glimmer-compiler/index", ["exports", "glimmer-compiler/lib/compiler", "glimmer-compiler/lib/template-visitor"], function (exports, _glimmerCompilerLibCompiler, _glimmerCompilerLibTemplateVisitor) {
|
11599
11592
|
"use strict";
|
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.9.0-beta.
|
9
|
+
* @version 2.9.0-beta.5
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, 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.9.0-beta.
|
9
|
+
* @version 2.9.0-beta.5
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, Ember;
|
@@ -7150,7 +7150,8 @@ enifed('ember-glimmer/component', ['exports', 'ember-utils', 'ember-views', 'emb
|
|
7150
7150
|
Component[_emberMetal.NAME_KEY] = 'Ember.Component';
|
7151
7151
|
|
7152
7152
|
Component.reopenClass({
|
7153
|
-
isComponentFactory: true
|
7153
|
+
isComponentFactory: true,
|
7154
|
+
positionalParams: []
|
7154
7155
|
});
|
7155
7156
|
|
7156
7157
|
exports.default = Component;
|
@@ -8677,8 +8678,6 @@ enifed('ember-glimmer/environment', ['exports', 'ember-utils', 'ember-metal', 'e
|
|
8677
8678
|
enifed('ember-glimmer/helper', ['exports', 'ember-utils', 'ember-runtime', 'glimmer-reference'], function (exports, _emberUtils, _emberRuntime, _glimmerReference) {
|
8678
8679
|
'use strict';
|
8679
8680
|
|
8680
|
-
var _EmberObject$extend;
|
8681
|
-
|
8682
8681
|
exports.helper = helper;
|
8683
8682
|
var RECOMPUTE_TAG = _emberUtils.symbol('RECOMPUTE_TAG');
|
8684
8683
|
|
@@ -8723,23 +8722,49 @@ enifed('ember-glimmer/helper', ['exports', 'ember-utils', 'ember-runtime', 'glim
|
|
8723
8722
|
@public
|
8724
8723
|
@since 1.13.0
|
8725
8724
|
*/
|
8726
|
-
var Helper = _emberRuntime.
|
8727
|
-
isHelperInstance: true
|
8725
|
+
var Helper = _emberRuntime.FrameworkObject.extend({
|
8726
|
+
isHelperInstance: true,
|
8728
8727
|
|
8729
|
-
|
8730
|
-
|
8731
|
-
|
8732
|
-
|
8733
|
-
|
8728
|
+
init: function () {
|
8729
|
+
this._super.apply(this, arguments);
|
8730
|
+
this[RECOMPUTE_TAG] = new _glimmerReference.DirtyableTag();
|
8731
|
+
},
|
8732
|
+
|
8733
|
+
/**
|
8734
|
+
On a class-based helper, it may be useful to force a recomputation of that
|
8735
|
+
helpers value. This is akin to `rerender` on a component.
|
8736
|
+
For example, this component will rerender when the `currentUser` on a
|
8737
|
+
session service changes:
|
8738
|
+
```js
|
8739
|
+
// app/helpers/current-user-email.js
|
8740
|
+
export default Ember.Helper.extend({
|
8741
|
+
session: Ember.inject.service(),
|
8742
|
+
onNewUser: Ember.observer('session.currentUser', function() {
|
8743
|
+
this.recompute();
|
8744
|
+
}),
|
8745
|
+
compute() {
|
8746
|
+
return this.get('session.currentUser.email');
|
8747
|
+
}
|
8748
|
+
});
|
8749
|
+
```
|
8750
|
+
@method recompute
|
8751
|
+
@public
|
8752
|
+
@since 1.13.0
|
8753
|
+
*/
|
8754
|
+
recompute: function () {
|
8755
|
+
this[RECOMPUTE_TAG].dirty();
|
8756
|
+
}
|
8757
|
+
|
8758
|
+
/**
|
8759
|
+
Override this function when writing a class-based helper.
|
8760
|
+
@method compute
|
8761
|
+
@param {Array} params The positional arguments to the helper
|
8762
|
+
@param {Object} hash The named arguments to the helper
|
8763
|
+
@public
|
8764
|
+
@since 1.13.0
|
8765
|
+
*/
|
8766
|
+
});
|
8734
8767
|
|
8735
|
-
/**
|
8736
|
-
Override this function when writing a class-based helper.
|
8737
|
-
@method compute
|
8738
|
-
@param {Array} params The positional arguments to the helper
|
8739
|
-
@param {Object} hash The named arguments to the helper
|
8740
|
-
@public
|
8741
|
-
@since 1.13.0
|
8742
|
-
*/
|
8743
8768
|
Helper.reopenClass({
|
8744
8769
|
isHelperFactory: true
|
8745
8770
|
});
|
@@ -8774,28 +8799,6 @@ enifed('ember-glimmer/helper', ['exports', 'ember-utils', 'ember-runtime', 'glim
|
|
8774
8799
|
|
8775
8800
|
exports.default = Helper;
|
8776
8801
|
});
|
8777
|
-
|
8778
|
-
/**
|
8779
|
-
On a class-based helper, it may be useful to force a recomputation of that
|
8780
|
-
helpers value. This is akin to `rerender` on a component.
|
8781
|
-
For example, this component will rerender when the `currentUser` on a
|
8782
|
-
session service changes:
|
8783
|
-
```js
|
8784
|
-
// app/helpers/current-user-email.js
|
8785
|
-
export default Ember.Helper.extend({
|
8786
|
-
session: Ember.inject.service(),
|
8787
|
-
onNewUser: Ember.observer('session.currentUser', function() {
|
8788
|
-
this.recompute();
|
8789
|
-
}),
|
8790
|
-
compute() {
|
8791
|
-
return this.get('session.currentUser.email');
|
8792
|
-
}
|
8793
|
-
});
|
8794
|
-
```
|
8795
|
-
@method recompute
|
8796
|
-
@public
|
8797
|
-
@since 1.13.0
|
8798
|
-
*/
|
8799
8802
|
enifed('ember-glimmer/helpers/-class', ['exports', 'ember-glimmer/utils/references', 'ember-runtime'], function (exports, _emberGlimmerUtilsReferences, _emberRuntime) {
|
8800
8803
|
'use strict';
|
8801
8804
|
|
@@ -8888,8 +8891,10 @@ enifed('ember-glimmer/helpers/action', ['exports', 'ember-utils', 'ember-glimmer
|
|
8888
8891
|
|
8889
8892
|
exports.createClosureAction = createClosureAction;
|
8890
8893
|
var INVOKE = _emberUtils.symbol('INVOKE');
|
8891
|
-
|
8892
8894
|
exports.INVOKE = INVOKE;
|
8895
|
+
var ACTION = _emberUtils.symbol('ACTION');
|
8896
|
+
|
8897
|
+
exports.ACTION = ACTION;
|
8893
8898
|
|
8894
8899
|
var ClosureActionReference = (function (_CachedReference) {
|
8895
8900
|
babelHelpers.inherits(ClosureActionReference, _CachedReference);
|
@@ -9023,6 +9028,7 @@ enifed('ember-glimmer/helpers/action', ['exports', 'ember-utils', 'ember-glimmer
|
|
9023
9028
|
};
|
9024
9029
|
}
|
9025
9030
|
|
9031
|
+
closureAction[ACTION] = true;
|
9026
9032
|
return closureAction;
|
9027
9033
|
}
|
9028
9034
|
});
|
@@ -10459,15 +10465,6 @@ enifed('ember-glimmer/renderer', ['exports', 'ember-glimmer/utils/references', '
|
|
10459
10465
|
this._scheduleRevalidate();
|
10460
10466
|
};
|
10461
10467
|
|
10462
|
-
Renderer.prototype.componentInitAttrs = function componentInitAttrs() {
|
10463
|
-
// TODO: Remove me
|
10464
|
-
};
|
10465
|
-
|
10466
|
-
Renderer.prototype.ensureViewNotRendering = function ensureViewNotRendering() {
|
10467
|
-
// TODO: Implement this
|
10468
|
-
// throw new Error('Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.');
|
10469
|
-
};
|
10470
|
-
|
10471
10468
|
Renderer.prototype.register = function register(view) {
|
10472
10469
|
var id = _emberViews.getViewId(view);
|
10473
10470
|
_emberMetal.assert('Attempted to register a view with an id already in use: ' + id, !this._viewRegistry[id]);
|
@@ -10597,6 +10594,8 @@ enifed('ember-glimmer/renderer', ['exports', 'ember-glimmer/utils/references', '
|
|
10597
10594
|
globalShouldReflush = globalShouldReflush || shouldReflush;
|
10598
10595
|
}
|
10599
10596
|
|
10597
|
+
this._lastRevision = _glimmerReference.CURRENT_TAG.value();
|
10598
|
+
|
10600
10599
|
env.commit();
|
10601
10600
|
} while (globalShouldReflush || roots.length > initialRootsLength);
|
10602
10601
|
|
@@ -10624,10 +10623,14 @@ enifed('ember-glimmer/renderer', ['exports', 'ember-glimmer/utils/references', '
|
|
10624
10623
|
// while we are actively rendering roots
|
10625
10624
|
this._isRenderingRoots = true;
|
10626
10625
|
|
10626
|
+
var completedWithoutError = false;
|
10627
10627
|
try {
|
10628
10628
|
this._renderRoots();
|
10629
|
+
completedWithoutError = true;
|
10629
10630
|
} finally {
|
10630
|
-
|
10631
|
+
if (!completedWithoutError) {
|
10632
|
+
this._lastRevision = _glimmerReference.CURRENT_TAG.value();
|
10633
|
+
}
|
10631
10634
|
this._isRenderingRoots = false;
|
10632
10635
|
}
|
10633
10636
|
};
|
@@ -11070,8 +11073,14 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
11070
11073
|
component.trigger('didInitAttrs', { attrs: attrs });
|
11071
11074
|
component.trigger('didReceiveAttrs', { newAttrs: attrs });
|
11072
11075
|
|
11073
|
-
|
11074
|
-
|
11076
|
+
// We usually do this in the `didCreateElement`, but that hook doesn't fire for tagless components
|
11077
|
+
if (component.tagName === '') {
|
11078
|
+
component._transitionTo('hasElement');
|
11079
|
+
|
11080
|
+
if (environment.isInteractive) {
|
11081
|
+
component.trigger('willInsertElement');
|
11082
|
+
component.trigger('willRender');
|
11083
|
+
}
|
11075
11084
|
}
|
11076
11085
|
|
11077
11086
|
var bucket = new ComponentStateBucket(environment, component, processedArgs, finalizer);
|
@@ -11155,6 +11164,7 @@ babelHelpers.classCallCheck(this, CurlyComponentManager);
|
|
11155
11164
|
|
11156
11165
|
if (environment.isInteractive) {
|
11157
11166
|
component.trigger('willInsertElement');
|
11167
|
+
component.trigger('willRender');
|
11158
11168
|
}
|
11159
11169
|
};
|
11160
11170
|
|
@@ -11255,8 +11265,14 @@ babelHelpers.classCallCheck(this, TopComponentManager);
|
|
11255
11265
|
component.trigger('didInitAttrs');
|
11256
11266
|
component.trigger('didReceiveAttrs');
|
11257
11267
|
|
11258
|
-
|
11259
|
-
|
11268
|
+
// We usually do this in the `didCreateElement`, but that hook doesn't fire for tagless components
|
11269
|
+
if (component.tagName === '') {
|
11270
|
+
component._transitionTo('hasElement');
|
11271
|
+
|
11272
|
+
if (environment.isInteractive) {
|
11273
|
+
component.trigger('willInsertElement');
|
11274
|
+
component.trigger('willRender');
|
11275
|
+
}
|
11260
11276
|
}
|
11261
11277
|
|
11262
11278
|
processComponentInitializationAssertions(component, {});
|
@@ -12146,6 +12162,17 @@ enifed('ember-glimmer/utils/bindings', ['exports', 'glimmer-runtime', 'ember-met
|
|
12146
12162
|
}
|
12147
12163
|
|
12148
12164
|
function referenceForParts(component, parts) {
|
12165
|
+
var isAttrs = parts[0] === 'attrs';
|
12166
|
+
|
12167
|
+
// TODO deprecate this
|
12168
|
+
if (isAttrs) {
|
12169
|
+
parts.shift();
|
12170
|
+
|
12171
|
+
if (parts.length === 1) {
|
12172
|
+
return referenceForKey(component, parts[0]);
|
12173
|
+
}
|
12174
|
+
}
|
12175
|
+
|
12149
12176
|
return _glimmerReference.referenceFromParts(component[_emberGlimmerComponent.ROOT_REF], parts);
|
12150
12177
|
}
|
12151
12178
|
|
@@ -12676,7 +12703,7 @@ enifed('ember-glimmer/utils/iterable', ['exports', 'ember-utils', 'ember-metal',
|
|
12676
12703
|
return ArrayIterable;
|
12677
12704
|
})();
|
12678
12705
|
});
|
12679
|
-
enifed('ember-glimmer/utils/process-args', ['exports', 'ember-utils', 'glimmer-reference', 'ember-glimmer/component', 'ember-glimmer/utils/references', 'ember-views'], function (exports, _emberUtils, _glimmerReference, _emberGlimmerComponent, _emberGlimmerUtilsReferences, _emberViews) {
|
12706
|
+
enifed('ember-glimmer/utils/process-args', ['exports', 'ember-utils', 'glimmer-reference', 'ember-glimmer/component', 'ember-glimmer/utils/references', 'ember-views', 'ember-glimmer/helpers/action'], function (exports, _emberUtils, _glimmerReference, _emberGlimmerComponent, _emberGlimmerUtilsReferences, _emberViews, _emberGlimmerHelpersAction) {
|
12680
12707
|
'use strict';
|
12681
12708
|
|
12682
12709
|
exports.default = processArgs;
|
@@ -12734,7 +12761,9 @@ enifed('ember-glimmer/utils/process-args', ['exports', 'ember-utils', 'glimmer-r
|
|
12734
12761
|
var ref = namedArgs.get(_name);
|
12735
12762
|
var value = attrs[_name];
|
12736
12763
|
|
12737
|
-
if (
|
12764
|
+
if (typeof value === 'function' && value[_emberGlimmerHelpersAction.ACTION]) {
|
12765
|
+
attrs[_name] = value;
|
12766
|
+
} else if (ref[_emberGlimmerUtilsReferences.UPDATE]) {
|
12738
12767
|
attrs[_name] = new MutableCell(ref, value);
|
12739
12768
|
}
|
12740
12769
|
|
@@ -13079,6 +13108,10 @@ enifed('ember-glimmer/utils/references', ['exports', 'ember-utils', 'ember-metal
|
|
13079
13108
|
|
13080
13109
|
_parentObjectTag.update(_emberMetal.tagFor(parentValue));
|
13081
13110
|
|
13111
|
+
if (typeof parentValue === 'string' && _propertyKey === 'length') {
|
13112
|
+
return parentValue.length;
|
13113
|
+
}
|
13114
|
+
|
13082
13115
|
if (typeof parentValue === 'object' && parentValue) {
|
13083
13116
|
if (true) {
|
13084
13117
|
var meta = _emberMetal.meta(parentValue);
|
@@ -20665,19 +20698,12 @@ enifed('ember-metal/set_properties', ['exports', 'ember-metal/property_events',
|
|
20665
20698
|
return properties;
|
20666
20699
|
}
|
20667
20700
|
});
|
20668
|
-
enifed('ember-metal/tags', ['exports', 'ember-metal/meta', 'require'], function (exports, _emberMetalMeta,
|
20701
|
+
enifed('ember-metal/tags', ['exports', 'glimmer-reference', 'ember-metal/meta', 'require'], function (exports, _glimmerReference, _emberMetalMeta, _require) {
|
20669
20702
|
'use strict';
|
20670
20703
|
|
20671
20704
|
exports.setHasViews = setHasViews;
|
20672
20705
|
exports.tagFor = tagFor;
|
20673
|
-
|
20674
|
-
var hasGlimmer = _require2.has('glimmer-reference');
|
20675
|
-
|
20676
|
-
var CONSTANT_TAG = undefined,
|
20677
|
-
CURRENT_TAG = undefined,
|
20678
|
-
DirtyableTag = undefined,
|
20679
|
-
makeTag = undefined,
|
20680
|
-
run = undefined;
|
20706
|
+
exports.markObjectAsDirty = markObjectAsDirty;
|
20681
20707
|
|
20682
20708
|
var hasViews = function () {
|
20683
20709
|
return false;
|
@@ -20687,56 +20713,41 @@ enifed('ember-metal/tags', ['exports', 'ember-metal/meta', 'require'], function
|
|
20687
20713
|
hasViews = fn;
|
20688
20714
|
}
|
20689
20715
|
|
20690
|
-
|
20691
|
-
|
20692
|
-
|
20716
|
+
function makeTag() {
|
20717
|
+
return new _glimmerReference.DirtyableTag();
|
20718
|
+
}
|
20693
20719
|
|
20694
20720
|
function tagFor(object, _meta) {
|
20695
|
-
if (!hasGlimmer) {
|
20696
|
-
throw new Error('Cannot call tagFor without Glimmer');
|
20697
|
-
}
|
20698
|
-
|
20699
20721
|
if (typeof object === 'object' && object) {
|
20700
20722
|
var meta = _meta || _emberMetalMeta.meta(object);
|
20701
20723
|
return meta.writableTag(makeTag);
|
20702
20724
|
} else {
|
20703
|
-
return CONSTANT_TAG;
|
20725
|
+
return _glimmerReference.CONSTANT_TAG;
|
20726
|
+
}
|
20727
|
+
}
|
20728
|
+
|
20729
|
+
function markObjectAsDirty(meta) {
|
20730
|
+
var tag = meta && meta.readableTag();
|
20731
|
+
|
20732
|
+
if (tag) {
|
20733
|
+
ensureRunloop();
|
20734
|
+
tag.dirty();
|
20704
20735
|
}
|
20705
20736
|
}
|
20706
20737
|
|
20738
|
+
var run = undefined;
|
20739
|
+
|
20707
20740
|
function K() {}
|
20741
|
+
|
20708
20742
|
function ensureRunloop() {
|
20709
20743
|
if (!run) {
|
20710
|
-
run =
|
20744
|
+
run = _require.default('ember-metal/run_loop').default;
|
20711
20745
|
}
|
20712
20746
|
|
20713
20747
|
if (hasViews() && !run.backburner.currentInstance) {
|
20714
20748
|
run.schedule('actions', K);
|
20715
20749
|
}
|
20716
20750
|
}
|
20717
|
-
|
20718
|
-
if (hasGlimmer) {
|
20719
|
-
var _require = _require2.default('glimmer-reference');
|
20720
|
-
|
20721
|
-
DirtyableTag = _require.DirtyableTag;
|
20722
|
-
CONSTANT_TAG = _require.CONSTANT_TAG;
|
20723
|
-
CURRENT_TAG = _require.CURRENT_TAG;
|
20724
|
-
|
20725
|
-
makeTag = function () {
|
20726
|
-
return new DirtyableTag();
|
20727
|
-
};
|
20728
|
-
|
20729
|
-
exports.markObjectAsDirty = markObjectAsDirty = function (meta) {
|
20730
|
-
var tag = meta && meta.readableTag();
|
20731
|
-
|
20732
|
-
if (tag) {
|
20733
|
-
ensureRunloop();
|
20734
|
-
tag.dirty();
|
20735
|
-
}
|
20736
|
-
};
|
20737
|
-
} else {
|
20738
|
-
exports.markObjectAsDirty = markObjectAsDirty = function () {};
|
20739
|
-
}
|
20740
20751
|
});
|
20741
20752
|
enifed("ember-metal/testing", ["exports"], function (exports) {
|
20742
20753
|
"use strict";
|
@@ -20826,7 +20837,7 @@ enifed('ember-metal/transaction', ['exports', 'ember-metal/meta', 'ember-metal/d
|
|
20826
20837
|
label = 'the same value';
|
20827
20838
|
}
|
20828
20839
|
|
20829
|
-
return 'You modified ' + parts.join('.') + ' twice in a single render. This was unreliable and slow in Ember 1.x and ' + implication;
|
20840
|
+
return 'You modified ' + parts.join('.') + ' twice on ' + object + ' in a single render. This was unreliable and slow in Ember 1.x and ' + implication;
|
20830
20841
|
})(), false);
|
20831
20842
|
|
20832
20843
|
shouldReflush = true;
|
@@ -28849,6 +28860,7 @@ enifed('ember-runtime/index', ['exports', 'ember-runtime/ext/string', 'ember-run
|
|
28849
28860
|
'use strict';
|
28850
28861
|
|
28851
28862
|
exports.Object = _emberRuntimeSystemObject.default;
|
28863
|
+
exports.FrameworkObject = _emberRuntimeSystemObject.FrameworkObject;
|
28852
28864
|
exports.String = _emberRuntimeSystemString.default;
|
28853
28865
|
exports.RegistryProxyMixin = _emberRuntimeMixinsRegistry_proxy.default;
|
28854
28866
|
exports.buildFakeRegistryWithDeprecations = _emberRuntimeMixinsRegistry_proxy.buildFakeRegistryWithDeprecations;
|
@@ -28869,7 +28881,6 @@ enifed('ember-runtime/index', ['exports', 'ember-runtime/ext/string', 'ember-run
|
|
28869
28881
|
exports.ArrayProxy = _emberRuntimeSystemArray_proxy.default;
|
28870
28882
|
exports.ObjectProxy = _emberRuntimeSystemObject_proxy.default;
|
28871
28883
|
exports.CoreObject = _emberRuntimeSystemCore_object.default;
|
28872
|
-
exports.POST_INIT = _emberRuntimeSystemCore_object.POST_INIT;
|
28873
28884
|
exports.NativeArray = _emberRuntimeSystemNative_array.default;
|
28874
28885
|
exports.A = _emberRuntimeSystemNative_array.A;
|
28875
28886
|
exports.ActionHandler = _emberRuntimeMixinsAction_handler.default;
|
@@ -29067,7 +29078,7 @@ enifed('ember-runtime/is-equal', ['exports'], function (exports) {
|
|
29067
29078
|
return a === b;
|
29068
29079
|
}
|
29069
29080
|
});
|
29070
|
-
enifed('ember-runtime/mixins/-proxy', ['exports', '
|
29081
|
+
enifed('ember-runtime/mixins/-proxy', ['exports', 'glimmer-reference', 'ember-utils', 'ember-metal', 'ember-runtime/computed/computed_macros'], function (exports, _glimmerReference, _emberUtils, _emberMetal, _emberRuntimeComputedComputed_macros) {
|
29071
29082
|
/**
|
29072
29083
|
@module ember
|
29073
29084
|
@submodule ember-runtime
|
@@ -29075,12 +29086,10 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-utils', 'ember-metal',
|
|
29075
29086
|
|
29076
29087
|
'use strict';
|
29077
29088
|
|
29078
|
-
var
|
29089
|
+
var _Mixin$create;
|
29079
29090
|
|
29080
29091
|
exports.isProxy = isProxy;
|
29081
29092
|
|
29082
|
-
var hasGlimmer = _require2.has('glimmer-reference');
|
29083
|
-
|
29084
29093
|
var IS_PROXY = _emberUtils.symbol('IS_PROXY');
|
29085
29094
|
|
29086
29095
|
function isProxy(value) {
|
@@ -29103,31 +29112,66 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-utils', 'ember-metal',
|
|
29103
29112
|
_emberMetal.propertyDidChange(this, key);
|
29104
29113
|
}
|
29105
29114
|
|
29106
|
-
|
29107
|
-
|
29108
|
-
|
29109
|
-
|
29110
|
-
|
29111
|
-
|
29112
|
-
|
29113
|
-
|
29114
|
-
|
29115
|
+
var ProxyTag = (function (_CachedTag) {
|
29116
|
+
babelHelpers.inherits(ProxyTag, _CachedTag);
|
29117
|
+
|
29118
|
+
function ProxyTag(proxy) {
|
29119
|
+
babelHelpers.classCallCheck(this, ProxyTag);
|
29120
|
+
|
29121
|
+
_CachedTag.call(this);
|
29122
|
+
|
29123
|
+
var content = _emberMetal.get(proxy, 'content');
|
29124
|
+
|
29125
|
+
this.proxy = proxy;
|
29126
|
+
this.proxyWrapperTag = new _glimmerReference.DirtyableTag();
|
29127
|
+
this.proxyContentTag = new _glimmerReference.UpdatableTag(_emberMetal.tagFor(content));
|
29128
|
+
}
|
29129
|
+
|
29130
|
+
/**
|
29131
|
+
`Ember.ProxyMixin` forwards all properties not defined by the proxy itself
|
29132
|
+
to a proxied `content` object. See Ember.ObjectProxy for more details.
|
29133
|
+
|
29134
|
+
@class ProxyMixin
|
29135
|
+
@namespace Ember
|
29136
|
+
@private
|
29137
|
+
*/
|
29138
|
+
|
29139
|
+
ProxyTag.prototype.compute = function compute() {
|
29140
|
+
return Math.max(this.proxyWrapperTag.value(), this.proxyContentTag.value());
|
29141
|
+
};
|
29142
|
+
|
29143
|
+
ProxyTag.prototype.dirty = function dirty() {
|
29144
|
+
this.proxyWrapperTag.dirty();
|
29145
|
+
};
|
29146
|
+
|
29147
|
+
ProxyTag.prototype.contentDidChange = function contentDidChange() {
|
29148
|
+
var content = _emberMetal.get(this.proxy, 'content');
|
29149
|
+
this.proxyContentTag.update(_emberMetal.tagFor(content));
|
29150
|
+
};
|
29151
|
+
|
29152
|
+
return ProxyTag;
|
29153
|
+
})(_glimmerReference.CachedTag);
|
29154
|
+
|
29155
|
+
exports.default = _emberMetal.Mixin.create((_Mixin$create = {}, _Mixin$create[IS_PROXY] = true, _Mixin$create.content = null, _Mixin$create._initializeTag = _emberMetal.on('init', function () {
|
29156
|
+
_emberMetal.meta(this)._tag = new ProxyTag(this);
|
29157
|
+
}), _Mixin$create._contentDidChange = _emberMetal.observer('content', function () {
|
29115
29158
|
_emberMetal.assert('Can\'t set Proxy\'s content to itself', _emberMetal.get(this, 'content') !== this);
|
29116
|
-
|
29159
|
+
_emberMetal.tagFor(this).contentDidChange();
|
29160
|
+
}), _Mixin$create.isTruthy = _emberRuntimeComputedComputed_macros.bool('content'), _Mixin$create._debugContainerKey = null, _Mixin$create.willWatchProperty = function (key) {
|
29117
29161
|
var contentKey = 'content.' + key;
|
29118
29162
|
_emberMetal._addBeforeObserver(this, contentKey, null, contentPropertyWillChange);
|
29119
29163
|
_emberMetal.addObserver(this, contentKey, null, contentPropertyDidChange);
|
29120
|
-
},
|
29164
|
+
}, _Mixin$create.didUnwatchProperty = function (key) {
|
29121
29165
|
var contentKey = 'content.' + key;
|
29122
29166
|
_emberMetal._removeBeforeObserver(this, contentKey, null, contentPropertyWillChange);
|
29123
29167
|
_emberMetal.removeObserver(this, contentKey, null, contentPropertyDidChange);
|
29124
|
-
},
|
29168
|
+
}, _Mixin$create.unknownProperty = function (key) {
|
29125
29169
|
var content = _emberMetal.get(this, 'content');
|
29126
29170
|
if (content) {
|
29127
29171
|
_emberMetal.deprecate('You attempted to access `' + key + '` from `' + this + '`, but object proxying is deprecated. Please use `model.' + key + '` instead.', !this.isController, { id: 'ember-runtime.controller-proxy', until: '3.0.0' });
|
29128
29172
|
return _emberMetal.get(content, key);
|
29129
29173
|
}
|
29130
|
-
},
|
29174
|
+
}, _Mixin$create.setUnknownProperty = function (key, value) {
|
29131
29175
|
var m = _emberMetal.meta(this);
|
29132
29176
|
if (m.proto === this) {
|
29133
29177
|
// if marked as prototype then just defineProperty
|
@@ -29141,55 +29185,7 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-utils', 'ember-metal',
|
|
29141
29185
|
|
29142
29186
|
_emberMetal.deprecate('You attempted to set `' + key + '` from `' + this + '`, but object proxying is deprecated. Please use `model.' + key + '` instead.', !this.isController, { id: 'ember-runtime.controller-proxy', until: '3.0.0' });
|
29143
29187
|
return _emberMetal.set(content, key, value);
|
29144
|
-
},
|
29145
|
-
|
29146
|
-
if (hasGlimmer) {
|
29147
|
-
(function () {
|
29148
|
-
var _require = _require2.default('glimmer-reference');
|
29149
|
-
|
29150
|
-
var CachedTag = _require.CachedTag;
|
29151
|
-
var DirtyableTag = _require.DirtyableTag;
|
29152
|
-
var UpdatableTag = _require.UpdatableTag;
|
29153
|
-
|
29154
|
-
var ProxyTag = (function (_CachedTag) {
|
29155
|
-
babelHelpers.inherits(ProxyTag, _CachedTag);
|
29156
|
-
|
29157
|
-
function ProxyTag(proxy, content) {
|
29158
|
-
babelHelpers.classCallCheck(this, ProxyTag);
|
29159
|
-
|
29160
|
-
_CachedTag.call(this);
|
29161
|
-
this.proxyWrapperTag = new DirtyableTag();
|
29162
|
-
this.proxyContentTag = new UpdatableTag(_emberMetal.tagFor(content));
|
29163
|
-
}
|
29164
|
-
|
29165
|
-
ProxyTag.prototype.compute = function compute() {
|
29166
|
-
return Math.max(this.proxyWrapperTag.value(), this.proxyContentTag.value());
|
29167
|
-
};
|
29168
|
-
|
29169
|
-
ProxyTag.prototype.dirty = function dirty() {
|
29170
|
-
this.proxyWrapperTag.dirty();
|
29171
|
-
};
|
29172
|
-
|
29173
|
-
ProxyTag.prototype.contentDidChange = function contentDidChange(content) {
|
29174
|
-
this.proxyContentTag.update(_emberMetal.tagFor(content));
|
29175
|
-
};
|
29176
|
-
|
29177
|
-
return ProxyTag;
|
29178
|
-
})(CachedTag);
|
29179
|
-
|
29180
|
-
PROXY_MIXIN_PROPS[_emberRuntimeSystemCore_object.POST_INIT] = function postInit() {
|
29181
|
-
this._super();
|
29182
|
-
_emberMetal.meta(this)._tag = new ProxyTag(this, _emberMetal.get(this, 'content'));
|
29183
|
-
};
|
29184
|
-
|
29185
|
-
PROXY_MIXIN_PROPS._contentDidChange = _emberMetal.observer('content', function () {
|
29186
|
-
_emberMetal.assert('Can\'t set Proxy\'s content to itself', _emberMetal.get(this, 'content') !== this);
|
29187
|
-
_emberMetal.meta(this)._tag.contentDidChange(_emberMetal.get(this, 'content'));
|
29188
|
-
});
|
29189
|
-
})();
|
29190
|
-
}
|
29191
|
-
|
29192
|
-
exports.default = _emberMetal.Mixin.create(PROXY_MIXIN_PROPS);
|
29188
|
+
}, _Mixin$create));
|
29193
29189
|
});
|
29194
29190
|
|
29195
29191
|
/**
|
@@ -33518,10 +33514,6 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
|
|
33518
33514
|
// using ember-metal/lib/main here to ensure that ember-debug is setup
|
33519
33515
|
// if present
|
33520
33516
|
|
33521
|
-
var _Mixin$create;
|
33522
|
-
|
33523
|
-
var POST_INIT = _emberUtils.symbol('POST_INIT');
|
33524
|
-
exports.POST_INIT = POST_INIT;
|
33525
33517
|
var schedule = _emberMetal.run.schedule;
|
33526
33518
|
var applyMixin = _emberMetal.Mixin._apply;
|
33527
33519
|
var finishPartial = _emberMetal.Mixin.finishPartial;
|
@@ -33628,8 +33620,6 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
|
|
33628
33620
|
|
33629
33621
|
this.init.apply(this, arguments);
|
33630
33622
|
|
33631
|
-
this[POST_INIT]();
|
33632
|
-
|
33633
33623
|
m.proto = proto;
|
33634
33624
|
_emberMetal.finishChains(this);
|
33635
33625
|
_emberMetal.sendEvent(this, 'init');
|
@@ -33674,7 +33664,7 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
|
|
33674
33664
|
CoreObject.toString = function () {
|
33675
33665
|
return 'Ember.CoreObject';
|
33676
33666
|
};
|
33677
|
-
CoreObject.PrototypeMixin = _emberMetal.Mixin.create(
|
33667
|
+
CoreObject.PrototypeMixin = _emberMetal.Mixin.create({
|
33678
33668
|
reopen: function () {
|
33679
33669
|
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
33680
33670
|
args[_key] = arguments[_key];
|
@@ -33707,39 +33697,244 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
|
|
33707
33697
|
@method init
|
33708
33698
|
@public
|
33709
33699
|
*/
|
33710
|
-
init: function () {}
|
33700
|
+
init: function () {},
|
33711
33701
|
|
33712
|
-
|
33713
|
-
|
33714
|
-
|
33715
|
-
|
33716
|
-
if (this.isDestroying) {
|
33717
|
-
return;
|
33718
|
-
}
|
33719
|
-
this.isDestroying = true;
|
33702
|
+
__defineNonEnumerable: function (property) {
|
33703
|
+
Object.defineProperty(this, property.name, property.descriptor);
|
33704
|
+
//this[property.name] = property.descriptor.value;
|
33705
|
+
},
|
33720
33706
|
|
33721
|
-
|
33722
|
-
|
33723
|
-
|
33724
|
-
|
33725
|
-
|
33726
|
-
|
33727
|
-
|
33728
|
-
|
33729
|
-
|
33730
|
-
|
33731
|
-
|
33732
|
-
|
33733
|
-
|
33734
|
-
|
33735
|
-
|
33736
|
-
|
33737
|
-
|
33738
|
-
|
33739
|
-
|
33707
|
+
/**
|
33708
|
+
Defines the properties that will be concatenated from the superclass
|
33709
|
+
(instead of overridden).
|
33710
|
+
By default, when you extend an Ember class a property defined in
|
33711
|
+
the subclass overrides a property with the same name that is defined
|
33712
|
+
in the superclass. However, there are some cases where it is preferable
|
33713
|
+
to build up a property's value by combining the superclass' property
|
33714
|
+
value with the subclass' value. An example of this in use within Ember
|
33715
|
+
is the `classNames` property of `Ember.View`.
|
33716
|
+
Here is some sample code showing the difference between a concatenated
|
33717
|
+
property and a normal one:
|
33718
|
+
```javascript
|
33719
|
+
const Bar = Ember.Object.extend({
|
33720
|
+
// Configure which properties to concatenate
|
33721
|
+
concatenatedProperties: ['concatenatedProperty'],
|
33722
|
+
someNonConcatenatedProperty: ['bar'],
|
33723
|
+
concatenatedProperty: ['bar']
|
33724
|
+
});
|
33725
|
+
const FooBar = Bar.extend({
|
33726
|
+
someNonConcatenatedProperty: ['foo'],
|
33727
|
+
concatenatedProperty: ['foo']
|
33728
|
+
});
|
33729
|
+
let fooBar = FooBar.create();
|
33730
|
+
fooBar.get('someNonConcatenatedProperty'); // ['foo']
|
33731
|
+
fooBar.get('concatenatedProperty'); // ['bar', 'foo']
|
33732
|
+
```
|
33733
|
+
This behavior extends to object creation as well. Continuing the
|
33734
|
+
above example:
|
33735
|
+
```javascript
|
33736
|
+
let fooBar = FooBar.create({
|
33737
|
+
someNonConcatenatedProperty: ['baz'],
|
33738
|
+
concatenatedProperty: ['baz']
|
33739
|
+
})
|
33740
|
+
fooBar.get('someNonConcatenatedProperty'); // ['baz']
|
33741
|
+
fooBar.get('concatenatedProperty'); // ['bar', 'foo', 'baz']
|
33742
|
+
```
|
33743
|
+
Adding a single property that is not an array will just add it in the array:
|
33744
|
+
```javascript
|
33745
|
+
let fooBar = FooBar.create({
|
33746
|
+
concatenatedProperty: 'baz'
|
33747
|
+
})
|
33748
|
+
view.get('concatenatedProperty'); // ['bar', 'foo', 'baz']
|
33749
|
+
```
|
33750
|
+
Using the `concatenatedProperties` property, we can tell Ember to mix the
|
33751
|
+
content of the properties.
|
33752
|
+
In `Ember.Component` the `classNames`, `classNameBindings` and
|
33753
|
+
`attributeBindings` properties are concatenated.
|
33754
|
+
This feature is available for you to use throughout the Ember object model,
|
33755
|
+
although typical app developers are likely to use it infrequently. Since
|
33756
|
+
it changes expectations about behavior of properties, you should properly
|
33757
|
+
document its usage in each individual concatenated property (to not
|
33758
|
+
mislead your users to think they can override the property in a subclass).
|
33759
|
+
@property concatenatedProperties
|
33760
|
+
@type Array
|
33761
|
+
@default null
|
33762
|
+
@public
|
33763
|
+
*/
|
33764
|
+
concatenatedProperties: null,
|
33740
33765
|
|
33741
|
-
|
33742
|
-
|
33766
|
+
/**
|
33767
|
+
Defines the properties that will be merged from the superclass
|
33768
|
+
(instead of overridden).
|
33769
|
+
By default, when you extend an Ember class a property defined in
|
33770
|
+
the subclass overrides a property with the same name that is defined
|
33771
|
+
in the superclass. However, there are some cases where it is preferable
|
33772
|
+
to build up a property's value by merging the superclass property value
|
33773
|
+
with the subclass property's value. An example of this in use within Ember
|
33774
|
+
is the `queryParams` property of routes.
|
33775
|
+
Here is some sample code showing the difference between a merged
|
33776
|
+
property and a normal one:
|
33777
|
+
```javascript
|
33778
|
+
const Bar = Ember.Object.extend({
|
33779
|
+
// Configure which properties are to be merged
|
33780
|
+
mergedProperties: ['mergedProperty'],
|
33781
|
+
someNonMergedProperty: {
|
33782
|
+
nonMerged: 'superclass value of nonMerged'
|
33783
|
+
},
|
33784
|
+
mergedProperty: {
|
33785
|
+
page: {replace: false},
|
33786
|
+
limit: {replace: true}
|
33787
|
+
}
|
33788
|
+
});
|
33789
|
+
const FooBar = Bar.extend({
|
33790
|
+
someNonMergedProperty: {
|
33791
|
+
completelyNonMerged: 'subclass value of nonMerged'
|
33792
|
+
},
|
33793
|
+
mergedProperty: {
|
33794
|
+
limit: {replace: false}
|
33795
|
+
}
|
33796
|
+
});
|
33797
|
+
let fooBar = FooBar.create();
|
33798
|
+
fooBar.get('someNonMergedProperty');
|
33799
|
+
// => { completelyNonMerged: 'subclass value of nonMerged' }
|
33800
|
+
//
|
33801
|
+
// Note the entire object, including the nonMerged property of
|
33802
|
+
// the superclass object, has been replaced
|
33803
|
+
fooBar.get('mergedProperty');
|
33804
|
+
// => {
|
33805
|
+
// page: {replace: false},
|
33806
|
+
// limit: {replace: false}
|
33807
|
+
// }
|
33808
|
+
//
|
33809
|
+
// Note the page remains from the superclass, and the
|
33810
|
+
// `limit` property's value of `false` has been merged from
|
33811
|
+
// the subclass.
|
33812
|
+
```
|
33813
|
+
This behavior is not available during object `create` calls. It is only
|
33814
|
+
available at `extend` time.
|
33815
|
+
In `Ember.Route` the `queryParams` property is merged.
|
33816
|
+
This feature is available for you to use throughout the Ember object model,
|
33817
|
+
although typical app developers are likely to use it infrequently. Since
|
33818
|
+
it changes expectations about behavior of properties, you should properly
|
33819
|
+
document its usage in each individual merged property (to not
|
33820
|
+
mislead your users to think they can override the property in a subclass).
|
33821
|
+
@property mergedProperties
|
33822
|
+
@type Array
|
33823
|
+
@default null
|
33824
|
+
@public
|
33825
|
+
*/
|
33826
|
+
mergedProperties: null,
|
33827
|
+
|
33828
|
+
/**
|
33829
|
+
Destroyed object property flag.
|
33830
|
+
if this property is `true` the observers and bindings were already
|
33831
|
+
removed by the effect of calling the `destroy()` method.
|
33832
|
+
@property isDestroyed
|
33833
|
+
@default false
|
33834
|
+
@public
|
33835
|
+
*/
|
33836
|
+
isDestroyed: false,
|
33837
|
+
|
33838
|
+
/**
|
33839
|
+
Destruction scheduled flag. The `destroy()` method has been called.
|
33840
|
+
The object stays intact until the end of the run loop at which point
|
33841
|
+
the `isDestroyed` flag is set.
|
33842
|
+
@property isDestroying
|
33843
|
+
@default false
|
33844
|
+
@public
|
33845
|
+
*/
|
33846
|
+
isDestroying: false,
|
33847
|
+
|
33848
|
+
/**
|
33849
|
+
Destroys an object by setting the `isDestroyed` flag and removing its
|
33850
|
+
metadata, which effectively destroys observers and bindings.
|
33851
|
+
If you try to set a property on a destroyed object, an exception will be
|
33852
|
+
raised.
|
33853
|
+
Note that destruction is scheduled for the end of the run loop and does not
|
33854
|
+
happen immediately. It will set an isDestroying flag immediately.
|
33855
|
+
@method destroy
|
33856
|
+
@return {Ember.Object} receiver
|
33857
|
+
@public
|
33858
|
+
*/
|
33859
|
+
destroy: function () {
|
33860
|
+
if (this.isDestroying) {
|
33861
|
+
return;
|
33862
|
+
}
|
33863
|
+
this.isDestroying = true;
|
33864
|
+
|
33865
|
+
schedule('actions', this, this.willDestroy);
|
33866
|
+
schedule('destroy', this, this._scheduledDestroy);
|
33867
|
+
return this;
|
33868
|
+
},
|
33869
|
+
|
33870
|
+
/**
|
33871
|
+
Override to implement teardown.
|
33872
|
+
@method willDestroy
|
33873
|
+
@public
|
33874
|
+
*/
|
33875
|
+
willDestroy: function () {},
|
33876
|
+
|
33877
|
+
/**
|
33878
|
+
Invoked by the run loop to actually destroy the object. This is
|
33879
|
+
scheduled for execution by the `destroy` method.
|
33880
|
+
@private
|
33881
|
+
@method _scheduledDestroy
|
33882
|
+
*/
|
33883
|
+
_scheduledDestroy: function () {
|
33884
|
+
if (this.isDestroyed) {
|
33885
|
+
return;
|
33886
|
+
}
|
33887
|
+
_emberMetal.destroy(this);
|
33888
|
+
this.isDestroyed = true;
|
33889
|
+
},
|
33890
|
+
|
33891
|
+
bind: function (to, from) {
|
33892
|
+
if (!(from instanceof _emberMetal.Binding)) {
|
33893
|
+
from = _emberMetal.Binding.from(from);
|
33894
|
+
}
|
33895
|
+
from.to(to).connect(this);
|
33896
|
+
return from;
|
33897
|
+
},
|
33898
|
+
|
33899
|
+
/**
|
33900
|
+
Returns a string representation which attempts to provide more information
|
33901
|
+
than Javascript's `toString` typically does, in a generic way for all Ember
|
33902
|
+
objects.
|
33903
|
+
```javascript
|
33904
|
+
const Person = Ember.Object.extend()
|
33905
|
+
person = Person.create()
|
33906
|
+
person.toString() //=> "<Person:ember1024>"
|
33907
|
+
```
|
33908
|
+
If the object's class is not defined on an Ember namespace, it will
|
33909
|
+
indicate it is a subclass of the registered superclass:
|
33910
|
+
```javascript
|
33911
|
+
const Student = Person.extend()
|
33912
|
+
let student = Student.create()
|
33913
|
+
student.toString() //=> "<(subclass of Person):ember1025>"
|
33914
|
+
```
|
33915
|
+
If the method `toStringExtension` is defined, its return value will be
|
33916
|
+
included in the output.
|
33917
|
+
```javascript
|
33918
|
+
const Teacher = Person.extend({
|
33919
|
+
toStringExtension() {
|
33920
|
+
return this.get('fullName');
|
33921
|
+
}
|
33922
|
+
});
|
33923
|
+
teacher = Teacher.create()
|
33924
|
+
teacher.toString(); //=> "<Teacher:ember1026:Tom Dale>"
|
33925
|
+
```
|
33926
|
+
@method toString
|
33927
|
+
@return {String} string representation
|
33928
|
+
@public
|
33929
|
+
*/
|
33930
|
+
toString: function () {
|
33931
|
+
var hasToStringExtension = typeof this.toStringExtension === 'function';
|
33932
|
+
var extension = hasToStringExtension ? ':' + this.toStringExtension() : '';
|
33933
|
+
var ret = '<' + this.constructor.toString() + ':' + _emberUtils.guidFor(this) + extension + '>';
|
33934
|
+
|
33935
|
+
return ret;
|
33936
|
+
}
|
33937
|
+
});
|
33743
33938
|
|
33744
33939
|
CoreObject.PrototypeMixin.ownerConstructor = CoreObject;
|
33745
33940
|
|
@@ -34120,200 +34315,6 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-utils', 'ember-met
|
|
34120
34315
|
|
34121
34316
|
exports.default = CoreObject;
|
34122
34317
|
});
|
34123
|
-
|
34124
|
-
/**
|
34125
|
-
Defines the properties that will be concatenated from the superclass
|
34126
|
-
(instead of overridden).
|
34127
|
-
By default, when you extend an Ember class a property defined in
|
34128
|
-
the subclass overrides a property with the same name that is defined
|
34129
|
-
in the superclass. However, there are some cases where it is preferable
|
34130
|
-
to build up a property's value by combining the superclass' property
|
34131
|
-
value with the subclass' value. An example of this in use within Ember
|
34132
|
-
is the `classNames` property of `Ember.View`.
|
34133
|
-
Here is some sample code showing the difference between a concatenated
|
34134
|
-
property and a normal one:
|
34135
|
-
```javascript
|
34136
|
-
const Bar = Ember.Object.extend({
|
34137
|
-
// Configure which properties to concatenate
|
34138
|
-
concatenatedProperties: ['concatenatedProperty'],
|
34139
|
-
someNonConcatenatedProperty: ['bar'],
|
34140
|
-
concatenatedProperty: ['bar']
|
34141
|
-
});
|
34142
|
-
const FooBar = Bar.extend({
|
34143
|
-
someNonConcatenatedProperty: ['foo'],
|
34144
|
-
concatenatedProperty: ['foo']
|
34145
|
-
});
|
34146
|
-
let fooBar = FooBar.create();
|
34147
|
-
fooBar.get('someNonConcatenatedProperty'); // ['foo']
|
34148
|
-
fooBar.get('concatenatedProperty'); // ['bar', 'foo']
|
34149
|
-
```
|
34150
|
-
This behavior extends to object creation as well. Continuing the
|
34151
|
-
above example:
|
34152
|
-
```javascript
|
34153
|
-
let fooBar = FooBar.create({
|
34154
|
-
someNonConcatenatedProperty: ['baz'],
|
34155
|
-
concatenatedProperty: ['baz']
|
34156
|
-
})
|
34157
|
-
fooBar.get('someNonConcatenatedProperty'); // ['baz']
|
34158
|
-
fooBar.get('concatenatedProperty'); // ['bar', 'foo', 'baz']
|
34159
|
-
```
|
34160
|
-
Adding a single property that is not an array will just add it in the array:
|
34161
|
-
```javascript
|
34162
|
-
let fooBar = FooBar.create({
|
34163
|
-
concatenatedProperty: 'baz'
|
34164
|
-
})
|
34165
|
-
view.get('concatenatedProperty'); // ['bar', 'foo', 'baz']
|
34166
|
-
```
|
34167
|
-
Using the `concatenatedProperties` property, we can tell Ember to mix the
|
34168
|
-
content of the properties.
|
34169
|
-
In `Ember.Component` the `classNames`, `classNameBindings` and
|
34170
|
-
`attributeBindings` properties are concatenated.
|
34171
|
-
This feature is available for you to use throughout the Ember object model,
|
34172
|
-
although typical app developers are likely to use it infrequently. Since
|
34173
|
-
it changes expectations about behavior of properties, you should properly
|
34174
|
-
document its usage in each individual concatenated property (to not
|
34175
|
-
mislead your users to think they can override the property in a subclass).
|
34176
|
-
@property concatenatedProperties
|
34177
|
-
@type Array
|
34178
|
-
@default null
|
34179
|
-
@public
|
34180
|
-
*/
|
34181
|
-
|
34182
|
-
/**
|
34183
|
-
Defines the properties that will be merged from the superclass
|
34184
|
-
(instead of overridden).
|
34185
|
-
By default, when you extend an Ember class a property defined in
|
34186
|
-
the subclass overrides a property with the same name that is defined
|
34187
|
-
in the superclass. However, there are some cases where it is preferable
|
34188
|
-
to build up a property's value by merging the superclass property value
|
34189
|
-
with the subclass property's value. An example of this in use within Ember
|
34190
|
-
is the `queryParams` property of routes.
|
34191
|
-
Here is some sample code showing the difference between a merged
|
34192
|
-
property and a normal one:
|
34193
|
-
```javascript
|
34194
|
-
const Bar = Ember.Object.extend({
|
34195
|
-
// Configure which properties are to be merged
|
34196
|
-
mergedProperties: ['mergedProperty'],
|
34197
|
-
someNonMergedProperty: {
|
34198
|
-
nonMerged: 'superclass value of nonMerged'
|
34199
|
-
},
|
34200
|
-
mergedProperty: {
|
34201
|
-
page: {replace: false},
|
34202
|
-
limit: {replace: true}
|
34203
|
-
}
|
34204
|
-
});
|
34205
|
-
const FooBar = Bar.extend({
|
34206
|
-
someNonMergedProperty: {
|
34207
|
-
completelyNonMerged: 'subclass value of nonMerged'
|
34208
|
-
},
|
34209
|
-
mergedProperty: {
|
34210
|
-
limit: {replace: false}
|
34211
|
-
}
|
34212
|
-
});
|
34213
|
-
let fooBar = FooBar.create();
|
34214
|
-
fooBar.get('someNonMergedProperty');
|
34215
|
-
// => { completelyNonMerged: 'subclass value of nonMerged' }
|
34216
|
-
//
|
34217
|
-
// Note the entire object, including the nonMerged property of
|
34218
|
-
// the superclass object, has been replaced
|
34219
|
-
fooBar.get('mergedProperty');
|
34220
|
-
// => {
|
34221
|
-
// page: {replace: false},
|
34222
|
-
// limit: {replace: false}
|
34223
|
-
// }
|
34224
|
-
//
|
34225
|
-
// Note the page remains from the superclass, and the
|
34226
|
-
// `limit` property's value of `false` has been merged from
|
34227
|
-
// the subclass.
|
34228
|
-
```
|
34229
|
-
This behavior is not available during object `create` calls. It is only
|
34230
|
-
available at `extend` time.
|
34231
|
-
In `Ember.Route` the `queryParams` property is merged.
|
34232
|
-
This feature is available for you to use throughout the Ember object model,
|
34233
|
-
although typical app developers are likely to use it infrequently. Since
|
34234
|
-
it changes expectations about behavior of properties, you should properly
|
34235
|
-
document its usage in each individual merged property (to not
|
34236
|
-
mislead your users to think they can override the property in a subclass).
|
34237
|
-
@property mergedProperties
|
34238
|
-
@type Array
|
34239
|
-
@default null
|
34240
|
-
@public
|
34241
|
-
*/
|
34242
|
-
|
34243
|
-
/**
|
34244
|
-
Destroyed object property flag.
|
34245
|
-
if this property is `true` the observers and bindings were already
|
34246
|
-
removed by the effect of calling the `destroy()` method.
|
34247
|
-
@property isDestroyed
|
34248
|
-
@default false
|
34249
|
-
@public
|
34250
|
-
*/
|
34251
|
-
|
34252
|
-
/**
|
34253
|
-
Destruction scheduled flag. The `destroy()` method has been called.
|
34254
|
-
The object stays intact until the end of the run loop at which point
|
34255
|
-
the `isDestroyed` flag is set.
|
34256
|
-
@property isDestroying
|
34257
|
-
@default false
|
34258
|
-
@public
|
34259
|
-
*/
|
34260
|
-
|
34261
|
-
/**
|
34262
|
-
Destroys an object by setting the `isDestroyed` flag and removing its
|
34263
|
-
metadata, which effectively destroys observers and bindings.
|
34264
|
-
If you try to set a property on a destroyed object, an exception will be
|
34265
|
-
raised.
|
34266
|
-
Note that destruction is scheduled for the end of the run loop and does not
|
34267
|
-
happen immediately. It will set an isDestroying flag immediately.
|
34268
|
-
@method destroy
|
34269
|
-
@return {Ember.Object} receiver
|
34270
|
-
@public
|
34271
|
-
*/
|
34272
|
-
|
34273
|
-
/**
|
34274
|
-
Override to implement teardown.
|
34275
|
-
@method willDestroy
|
34276
|
-
@public
|
34277
|
-
*/
|
34278
|
-
|
34279
|
-
/**
|
34280
|
-
Invoked by the run loop to actually destroy the object. This is
|
34281
|
-
scheduled for execution by the `destroy` method.
|
34282
|
-
@private
|
34283
|
-
@method _scheduledDestroy
|
34284
|
-
*/
|
34285
|
-
|
34286
|
-
/**
|
34287
|
-
Returns a string representation which attempts to provide more information
|
34288
|
-
than Javascript's `toString` typically does, in a generic way for all Ember
|
34289
|
-
objects.
|
34290
|
-
```javascript
|
34291
|
-
const Person = Ember.Object.extend()
|
34292
|
-
person = Person.create()
|
34293
|
-
person.toString() //=> "<Person:ember1024>"
|
34294
|
-
```
|
34295
|
-
If the object's class is not defined on an Ember namespace, it will
|
34296
|
-
indicate it is a subclass of the registered superclass:
|
34297
|
-
```javascript
|
34298
|
-
const Student = Person.extend()
|
34299
|
-
let student = Student.create()
|
34300
|
-
student.toString() //=> "<(subclass of Person):ember1025>"
|
34301
|
-
```
|
34302
|
-
If the method `toStringExtension` is defined, its return value will be
|
34303
|
-
included in the output.
|
34304
|
-
```javascript
|
34305
|
-
const Teacher = Person.extend({
|
34306
|
-
toStringExtension() {
|
34307
|
-
return this.get('fullName');
|
34308
|
-
}
|
34309
|
-
});
|
34310
|
-
teacher = Teacher.create()
|
34311
|
-
teacher.toString(); //=> "<Teacher:ember1026:Tom Dale>"
|
34312
|
-
```
|
34313
|
-
@method toString
|
34314
|
-
@return {String} string representation
|
34315
|
-
@public
|
34316
|
-
*/
|
34317
34318
|
enifed('ember-runtime/system/each_proxy', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime/mixins/array'], function (exports, _emberUtils, _emberMetal, _emberRuntimeMixinsArray) {
|
34318
34319
|
'use strict';
|
34319
34320
|
|
@@ -34897,7 +34898,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal', 'ember-en
|
|
34897
34898
|
exports.default = NativeArray;
|
34898
34899
|
});
|
34899
34900
|
// Ember.A circular
|
34900
|
-
enifed('ember-runtime/system/object', ['exports', 'ember-runtime/system/core_object', 'ember-runtime/mixins/observable'], function (exports, _emberRuntimeSystemCore_object, _emberRuntimeMixinsObservable) {
|
34901
|
+
enifed('ember-runtime/system/object', ['exports', 'ember-utils', 'ember-metal', 'ember-runtime/system/core_object', 'ember-runtime/mixins/observable'], function (exports, _emberUtils, _emberMetal, _emberRuntimeSystemCore_object, _emberRuntimeMixinsObservable) {
|
34901
34902
|
/**
|
34902
34903
|
@module ember
|
34903
34904
|
@submodule ember-runtime
|
@@ -34921,6 +34922,26 @@ enifed('ember-runtime/system/object', ['exports', 'ember-runtime/system/core_obj
|
|
34921
34922
|
return 'Ember.Object';
|
34922
34923
|
};
|
34923
34924
|
|
34925
|
+
var FrameworkObject = EmberObject;
|
34926
|
+
|
34927
|
+
exports.FrameworkObject = FrameworkObject;
|
34928
|
+
_emberMetal.runInDebug(function () {
|
34929
|
+
var _EmberObject$extend;
|
34930
|
+
|
34931
|
+
var INIT_WAS_CALLED = _emberUtils.symbol('INIT_WAS_CALLED');
|
34932
|
+
var ASSERT_INIT_WAS_CALLED = _emberUtils.symbol('ASSERT_INIT_WAS_CALLED');
|
34933
|
+
|
34934
|
+
exports.FrameworkObject = FrameworkObject = EmberObject.extend((_EmberObject$extend = {
|
34935
|
+
init: function () {
|
34936
|
+
this._super.apply(this, arguments);
|
34937
|
+
this[INIT_WAS_CALLED] = true;
|
34938
|
+
}
|
34939
|
+
|
34940
|
+
}, _EmberObject$extend[ASSERT_INIT_WAS_CALLED] = _emberMetal.on('init', function () {
|
34941
|
+
_emberMetal.assert('You must call `this._super(...arguments);` when overriding `init` on a framework object. Please update ' + this + ' to call `this._super(...arguments);` from `init`.', this[INIT_WAS_CALLED]);
|
34942
|
+
}), _EmberObject$extend));
|
34943
|
+
});
|
34944
|
+
|
34924
34945
|
exports.default = EmberObject;
|
34925
34946
|
});
|
34926
34947
|
enifed('ember-runtime/system/object_proxy', ['exports', 'ember-runtime/system/object', 'ember-runtime/mixins/-proxy'], function (exports, _emberRuntimeSystemObject, _emberRuntimeMixinsProxy) {
|
@@ -38575,13 +38596,9 @@ enifed('ember-views/mixins/view_state_support', ['exports', 'ember-metal'], func
|
|
38575
38596
|
}
|
38576
38597
|
});
|
38577
38598
|
});
|
38578
|
-
enifed('ember-views/mixins/view_support', ['exports', 'ember-utils', 'ember-metal', 'ember-
|
38599
|
+
enifed('ember-views/mixins/view_support', ['exports', 'ember-utils', 'ember-metal', 'ember-environment', 'ember-views/system/utils', 'ember-views/system/jquery'], function (exports, _emberUtils, _emberMetal, _emberEnvironment, _emberViewsSystemUtils, _emberViewsSystemJquery) {
|
38579
38600
|
'use strict';
|
38580
38601
|
|
38581
|
-
var _Mixin$create;
|
38582
|
-
|
38583
|
-
var INIT_WAS_CALLED = _emberUtils.symbol('INIT_WAS_CALLED');
|
38584
|
-
|
38585
38602
|
function K() {
|
38586
38603
|
return this;
|
38587
38604
|
}
|
@@ -38591,7 +38608,7 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-utils', 'ember-meta
|
|
38591
38608
|
@namespace Ember
|
38592
38609
|
@private
|
38593
38610
|
*/
|
38594
|
-
exports.default = _emberMetal.Mixin.create(
|
38611
|
+
exports.default = _emberMetal.Mixin.create({
|
38595
38612
|
concatenatedProperties: ['attributeBindings'],
|
38596
38613
|
|
38597
38614
|
// ..........................................................
|
@@ -38964,51 +38981,35 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-utils', 'ember-meta
|
|
38964
38981
|
this.elementId = _emberUtils.guidFor(this);
|
38965
38982
|
}
|
38966
38983
|
|
38967
|
-
|
38968
|
-
|
38969
|
-
|
38970
|
-
|
38971
|
-
|
38972
|
-
until: '3.0.0',
|
38973
|
-
url: 'http://emberjs.com/deprecations/v2.x#toc_ember-component-didinitattrs'
|
38974
|
-
});
|
38975
|
-
}
|
38984
|
+
_emberMetal.deprecate('[DEPRECATED] didInitAttrs called in ' + this.toString() + '.', typeof this.didInitAttrs !== 'function', {
|
38985
|
+
id: 'ember-views.did-init-attrs',
|
38986
|
+
until: '3.0.0',
|
38987
|
+
url: 'http://emberjs.com/deprecations/v2.x#toc_ember-component-didinitattrs'
|
38988
|
+
});
|
38976
38989
|
|
38977
38990
|
_emberMetal.assert('Using a custom `.render` function is no longer supported.', !this.render);
|
38978
|
-
}
|
38991
|
+
},
|
38979
38992
|
|
38980
|
-
|
38981
|
-
|
38993
|
+
__defineNonEnumerable: function (property) {
|
38994
|
+
this[property.name] = property.descriptor.value;
|
38995
|
+
},
|
38982
38996
|
|
38983
|
-
|
38997
|
+
// .......................................................
|
38998
|
+
// EVENT HANDLING
|
38999
|
+
//
|
38984
39000
|
|
38985
|
-
|
38986
|
-
|
38987
|
-
|
38988
|
-
|
38989
|
-
|
38990
|
-
|
39001
|
+
/**
|
39002
|
+
Handle events from `Ember.EventDispatcher`
|
39003
|
+
@method handleEvent
|
39004
|
+
@param eventName {String}
|
39005
|
+
@param evt {Event}
|
39006
|
+
@private
|
39007
|
+
*/
|
39008
|
+
handleEvent: function (eventName, evt) {
|
39009
|
+
return this._currentState.handleEvent(this, eventName, evt);
|
39010
|
+
}
|
39011
|
+
});
|
38991
39012
|
});
|
38992
|
-
/*
|
38993
|
-
This is a special hook implemented in CoreObject, that allows Views/Components
|
38994
|
-
to have a way to ensure that `init` fires before `didInitAttrs` / `didReceiveAttrs`
|
38995
|
-
(so that `this._super` in init does not trigger `didReceiveAttrs` before the classes
|
38996
|
-
own `init` is finished).
|
38997
|
-
@method __postInitInitialization
|
38998
|
-
@private
|
38999
|
-
*/
|
39000
|
-
|
39001
|
-
// .......................................................
|
39002
|
-
// EVENT HANDLING
|
39003
|
-
//
|
39004
|
-
|
39005
|
-
/**
|
39006
|
-
Handle events from `Ember.EventDispatcher`
|
39007
|
-
@method handleEvent
|
39008
|
-
@param eventName {String}
|
39009
|
-
@param evt {Event}
|
39010
|
-
@private
|
39011
|
-
*/
|
39012
39013
|
enifed("ember-views/system/action_manager", ["exports"], function (exports) {
|
39013
39014
|
/**
|
39014
39015
|
@module ember
|
@@ -39662,7 +39663,7 @@ enifed('ember-views/views/core_view', ['exports', 'ember-runtime', 'ember-views/
|
|
39662
39663
|
@uses Ember.ActionHandler
|
39663
39664
|
@private
|
39664
39665
|
*/
|
39665
|
-
var CoreView = _emberRuntime.
|
39666
|
+
var CoreView = _emberRuntime.FrameworkObject.extend(_emberRuntime.Evented, _emberRuntime.ActionHandler, {
|
39666
39667
|
isView: true,
|
39667
39668
|
|
39668
39669
|
_states: _emberViewsViewsStates.cloneStates(_emberViewsViewsStates.states),
|
@@ -39799,11 +39800,9 @@ enifed('ember-views/views/states/default', ['exports', 'ember-metal'], function
|
|
39799
39800
|
return true; // continue event propagation
|
39800
39801
|
},
|
39801
39802
|
|
39802
|
-
|
39803
|
+
rerender: function () {},
|
39803
39804
|
|
39804
|
-
|
39805
|
-
view.renderer.ensureViewNotRendering(view);
|
39806
|
-
}
|
39805
|
+
destroy: function () {}
|
39807
39806
|
};
|
39808
39807
|
});
|
39809
39808
|
enifed('ember-views/views/states/destroying', ['exports', 'ember-utils', 'ember-metal', 'ember-views/views/states/default'], function (exports, _emberUtils, _emberMetal, _emberViewsViewsStatesDefault) {
|
@@ -39838,10 +39837,7 @@ enifed('ember-views/views/states/has_element', ['exports', 'ember-utils', 'ember
|
|
39838
39837
|
return sel ? _emberViewsSystemJquery.default(sel, elem) : _emberViewsSystemJquery.default(elem);
|
39839
39838
|
},
|
39840
39839
|
|
39841
|
-
// once the view has been inserted into the DOM, rerendering is
|
39842
|
-
// deferred to allow bindings to synchronize.
|
39843
39840
|
rerender: function (view) {
|
39844
|
-
view.renderer.ensureViewNotRendering(view);
|
39845
39841
|
view.renderer.rerender(view);
|
39846
39842
|
},
|
39847
39843
|
|
@@ -40937,7 +40933,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'ember-utils',
|
|
40937
40933
|
enifed("ember/version", ["exports"], function (exports) {
|
40938
40934
|
"use strict";
|
40939
40935
|
|
40940
|
-
exports.default = "2.9.0-beta.
|
40936
|
+
exports.default = "2.9.0-beta.5";
|
40941
40937
|
});
|
40942
40938
|
enifed('internal-test-helpers/factory', ['exports'], function (exports) {
|
40943
40939
|
'use strict';
|