ember-source 1.11.0.beta.5 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +42 -34
- data/dist/ember-template-compiler.js +35 -50
- data/dist/ember-testing.js +23 -41
- data/dist/ember-tests.js +960 -213
- data/dist/ember-tests.prod.js +1012 -244
- data/dist/ember.debug.cjs.js +470 -276
- data/dist/ember.debug.js +470 -276
- data/dist/ember.js +470 -276
- data/dist/ember.min.js +19 -13
- data/dist/ember.prod.js +330 -199
- metadata +4 -4
data/dist/ember.debug.cjs.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.11.0
|
8
|
+
* @version 1.11.0
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -1136,7 +1136,11 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/keys'
|
|
1136
1136
|
*/
|
1137
1137
|
function Container(registry, options) {
|
1138
1138
|
this._registry = registry || (function() {
|
1139
|
-
Ember['default'].deprecate(
|
1139
|
+
Ember['default'].deprecate(
|
1140
|
+
"A container should only be created for an already instantiated " +
|
1141
|
+
"registry. For backward compatibility, an isolated registry will " +
|
1142
|
+
"be instantiated just for this container."
|
1143
|
+
);
|
1140
1144
|
|
1141
1145
|
// TODO - See note above about transpiler import workaround.
|
1142
1146
|
if (!Registry) { Registry = requireModule('container/registry')['default']; }
|
@@ -1155,6 +1159,7 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/keys'
|
|
1155
1159
|
|
1156
1160
|
@property _registry
|
1157
1161
|
@type Registry
|
1162
|
+
@since 1.11.0
|
1158
1163
|
*/
|
1159
1164
|
_registry: null,
|
1160
1165
|
|
@@ -1503,6 +1508,7 @@ enifed('container/registry', ['exports', 'ember-metal/core', 'ember-metal/dictio
|
|
1503
1508
|
|
1504
1509
|
@private
|
1505
1510
|
@class Registry
|
1511
|
+
@since 1.11.0
|
1506
1512
|
*/
|
1507
1513
|
function Registry(options) {
|
1508
1514
|
this.fallback = options && options.fallback ? options.fallback : null;
|
@@ -1618,7 +1624,7 @@ enifed('container/registry', ['exports', 'ember-metal/core', 'ember-metal/dictio
|
|
1618
1624
|
@property _defaultContainer
|
1619
1625
|
@type Container
|
1620
1626
|
*/
|
1621
|
-
|
1627
|
+
_defaultContainer: null,
|
1622
1628
|
|
1623
1629
|
/**
|
1624
1630
|
Creates a container based on this registry.
|
@@ -1659,7 +1665,11 @@ enifed('container/registry', ['exports', 'ember-metal/core', 'ember-metal/dictio
|
|
1659
1665
|
Ember['default'].assert('Create a container on the registry (with `registry.container()`) before calling `lookup`.', this._defaultContainer);
|
1660
1666
|
|
1661
1667
|
if (instanceInitializersFeatureEnabled) {
|
1662
|
-
Ember['default'].deprecate(
|
1668
|
+
Ember['default'].deprecate(
|
1669
|
+
'`lookup` was called on a Registry. The `initializer` API no longer receives a container, and you should use an `instanceInitializer` to look up objects from the container.',
|
1670
|
+
false,
|
1671
|
+
{ url: "http://emberjs.com/guides/deprecations#toc_access-to-instances-in-initializers" }
|
1672
|
+
);
|
1663
1673
|
}
|
1664
1674
|
|
1665
1675
|
return this._defaultContainer.lookup(fullName, options);
|
@@ -1669,7 +1679,11 @@ enifed('container/registry', ['exports', 'ember-metal/core', 'ember-metal/dictio
|
|
1669
1679
|
Ember['default'].assert('Create a container on the registry (with `registry.container()`) before calling `lookupFactory`.', this._defaultContainer);
|
1670
1680
|
|
1671
1681
|
if (instanceInitializersFeatureEnabled) {
|
1672
|
-
Ember['default'].deprecate(
|
1682
|
+
Ember['default'].deprecate(
|
1683
|
+
'`lookupFactory` was called on a Registry. The `initializer` API no longer receives a container, and you should use an `instanceInitializer` to look up objects from the container.',
|
1684
|
+
false,
|
1685
|
+
{ url: "http://emberjs.com/guides/deprecations#toc_access-to-instances-in-initializers" }
|
1686
|
+
);
|
1673
1687
|
}
|
1674
1688
|
|
1675
1689
|
return this._defaultContainer.lookupFactory(fullName);
|
@@ -4394,7 +4408,11 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4394
4408
|
@deprecated
|
4395
4409
|
*/
|
4396
4410
|
then: function() {
|
4397
|
-
Ember['default'].deprecate(
|
4411
|
+
Ember['default'].deprecate(
|
4412
|
+
'Do not use `.then` on an instance of Ember.Application. Please use the `.ready` hook instead.',
|
4413
|
+
false,
|
4414
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_code-then-code-on-ember-application' }
|
4415
|
+
);
|
4398
4416
|
|
4399
4417
|
this._super.apply(this, arguments);
|
4400
4418
|
}
|
@@ -4636,7 +4654,10 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4636
4654
|
@return {*} the resolved value for a given lookup
|
4637
4655
|
*/
|
4638
4656
|
function resolverFor(namespace) {
|
4639
|
-
Ember['default'].deprecate(
|
4657
|
+
Ember['default'].deprecate(
|
4658
|
+
'Application.resolver is deprecated in favor of Application.Resolver',
|
4659
|
+
!namespace.get('resolver')
|
4660
|
+
);
|
4640
4661
|
|
4641
4662
|
var ResolverClass = namespace.get('resolver') || namespace.get('Resolver') || DefaultResolver['default'];
|
4642
4663
|
var resolver = ResolverClass.create({
|
@@ -4659,7 +4680,7 @@ enifed('ember-application/system/application', ['exports', 'dag-map', 'container
|
|
4659
4680
|
if (resolver.normalize) {
|
4660
4681
|
return resolver.normalize(fullName);
|
4661
4682
|
} else {
|
4662
|
-
Ember['default'].deprecate('The Resolver should now provide a \'normalize\' function'
|
4683
|
+
Ember['default'].deprecate('The Resolver should now provide a \'normalize\' function');
|
4663
4684
|
return fullName;
|
4664
4685
|
}
|
4665
4686
|
};
|
@@ -6492,8 +6513,11 @@ enifed('ember-htmlbars/helpers/collection', ['exports', 'ember-metal/core', 'emb
|
|
6492
6513
|
function collectionHelper(params, hash, options, env) {
|
6493
6514
|
var path = params[0];
|
6494
6515
|
|
6495
|
-
Ember['default'].deprecate(
|
6496
|
-
|
6516
|
+
Ember['default'].deprecate(
|
6517
|
+
"Using the {{collection}} helper without specifying a class has been" +
|
6518
|
+
" deprecated as the {{each}} helper now supports the same functionality.",
|
6519
|
+
path !== 'collection'
|
6520
|
+
);
|
6497
6521
|
|
6498
6522
|
Ember['default'].assert("You cannot pass more than one argument to the collection helper", params.length <= 1);
|
6499
6523
|
|
@@ -6571,8 +6595,8 @@ enifed('ember-htmlbars/helpers/collection', ['exports', 'ember-metal/core', 'emb
|
|
6571
6595
|
if (inverse) {
|
6572
6596
|
emptyViewClass = property_get.get(collectionPrototype, 'emptyViewClass');
|
6573
6597
|
emptyViewClass = emptyViewClass.extend({
|
6574
|
-
|
6575
|
-
|
6598
|
+
template: inverse,
|
6599
|
+
tagName: itemHash.tagName
|
6576
6600
|
});
|
6577
6601
|
} else if (hash.emptyViewClass) {
|
6578
6602
|
emptyViewClass = utils.readViewFactory(hash.emptyViewClass, container);
|
@@ -6908,8 +6932,10 @@ enifed('ember-htmlbars/helpers/template', ['exports', 'ember-metal/core'], funct
|
|
6908
6932
|
exports.templateHelper = templateHelper;
|
6909
6933
|
|
6910
6934
|
function templateHelper(params, hash, options, env) {
|
6911
|
-
Ember['default'].deprecate(
|
6912
|
-
|
6935
|
+
Ember['default'].deprecate(
|
6936
|
+
"The `template` helper has been deprecated in favor of the `partial` helper." +
|
6937
|
+
" Please use `partial` instead, which will work the same way."
|
6938
|
+
);
|
6913
6939
|
|
6914
6940
|
options.helperName = options.helperName || 'template';
|
6915
6941
|
|
@@ -7120,7 +7146,7 @@ enifed('ember-htmlbars/helpers/yield', ['exports', 'ember-metal/core', 'ember-me
|
|
7120
7146
|
}
|
7121
7147
|
|
7122
7148
|
});
|
7123
|
-
enifed('ember-htmlbars/hooks/attribute', ['exports', 'ember-views/attr_nodes/attr_node', 'ember-metal/error', 'ember-metal/streams/utils', '
|
7149
|
+
enifed('ember-htmlbars/hooks/attribute', ['exports', 'ember-views/attr_nodes/attr_node', 'ember-metal/error', 'ember-metal/streams/utils', 'morph-attr/sanitize-attribute-value'], function (exports, AttrNode, EmberError, utils, sanitizeAttributeValue) {
|
7124
7150
|
|
7125
7151
|
'use strict';
|
7126
7152
|
|
@@ -7672,9 +7698,15 @@ enifed('ember-htmlbars/system/merge-view-bindings', ['exports', 'ember-metal/cor
|
|
7672
7698
|
|
7673
7699
|
if (mixin.IS_BINDING.test(key)) {
|
7674
7700
|
if (typeof value === 'string') {
|
7701
|
+
Ember['default'].deprecate(
|
7702
|
+
"You're attempting to render a view by passing " + key + " " +
|
7703
|
+
"to a view helper, but this syntax is deprecated. You should use `" +
|
7704
|
+
key.slice(0, -7) + "=someValue` instead."
|
7705
|
+
);
|
7706
|
+
|
7675
7707
|
props[key] = view._getBindingForStream(value);
|
7676
7708
|
} else if (utils.isStream(value)) {
|
7677
|
-
Ember['default'].
|
7709
|
+
Ember['default'].deprecate(
|
7678
7710
|
"You're attempting to render a view by passing " + key + " " +
|
7679
7711
|
"to a view helper without a quoted value, but this syntax is " +
|
7680
7712
|
"ambiguous. You should either surround " + key + "'s value in " +
|
@@ -7703,7 +7735,7 @@ enifed('ember-htmlbars/system/merge-view-bindings', ['exports', 'ember-metal/cor
|
|
7703
7735
|
);
|
7704
7736
|
|
7705
7737
|
if (hash.id) {
|
7706
|
-
props.elementId = utils.read(hash.id);
|
7738
|
+
props.id = props.elementId = utils.read(hash.id);
|
7707
7739
|
}
|
7708
7740
|
|
7709
7741
|
if (hash.tag) {
|
@@ -7715,8 +7747,15 @@ enifed('ember-htmlbars/system/merge-view-bindings', ['exports', 'ember-metal/cor
|
|
7715
7747
|
if (hash['class']) {
|
7716
7748
|
if (typeof hash['class'] === 'string') {
|
7717
7749
|
props.classNames = hash['class'].split(' ');
|
7718
|
-
} else {
|
7750
|
+
} else if (hash['class']._label) {
|
7751
|
+
// label exists for via property paths in the template
|
7752
|
+
// but not for streams with nested sub-expressions
|
7719
7753
|
classBindings.push(hash['class']._label);
|
7754
|
+
} else {
|
7755
|
+
// this stream did not have a label which means that
|
7756
|
+
// it is not a simple property path type stream (likely
|
7757
|
+
// the result of a sub-expression)
|
7758
|
+
classBindings.push(hash['class']);
|
7720
7759
|
}
|
7721
7760
|
}
|
7722
7761
|
|
@@ -7732,7 +7771,15 @@ enifed('ember-htmlbars/system/merge-view-bindings', ['exports', 'ember-metal/cor
|
|
7732
7771
|
props.classNameBindings = classBindings;
|
7733
7772
|
|
7734
7773
|
for (var i = 0; i < classBindings.length; i++) {
|
7735
|
-
var
|
7774
|
+
var initialValue = classBindings[i];
|
7775
|
+
var classBinding;
|
7776
|
+
|
7777
|
+
if (utils.isStream(initialValue)) {
|
7778
|
+
classBinding = initialValue;
|
7779
|
+
} else {
|
7780
|
+
classBinding = class_name_binding.streamifyClassNameBinding(view, initialValue);
|
7781
|
+
}
|
7782
|
+
|
7736
7783
|
if (utils.isStream(classBinding)) {
|
7737
7784
|
classBindings[i] = classBinding;
|
7738
7785
|
} else {
|
@@ -7771,8 +7818,8 @@ enifed('ember-htmlbars/system/render-view', ['exports', 'ember-metal/core', 'emb
|
|
7771
7818
|
function renderHTMLBarsTemplate(view, buffer, template) {
|
7772
7819
|
Ember['default'].assert(
|
7773
7820
|
'The template being rendered by `' + view + '` was compiled with `' + template.revision +
|
7774
|
-
'` which does not match `Ember@1.11.0
|
7775
|
-
template.revision === 'Ember@1.11.0
|
7821
|
+
'` which does not match `Ember@1.11.0` (this revision).',
|
7822
|
+
template.revision === 'Ember@1.11.0'
|
7776
7823
|
);
|
7777
7824
|
|
7778
7825
|
var contextualElement = buffer.innerContextualElement();
|
@@ -7812,7 +7859,7 @@ enifed('ember-htmlbars/templates/component', ['exports', 'ember-template-compile
|
|
7812
7859
|
exports['default'] = template['default']((function() {
|
7813
7860
|
return {
|
7814
7861
|
isHTMLBars: true,
|
7815
|
-
revision: "Ember@1.11.0
|
7862
|
+
revision: "Ember@1.11.0",
|
7816
7863
|
blockParams: 0,
|
7817
7864
|
cachedFragment: null,
|
7818
7865
|
hasRendered: false,
|
@@ -7859,7 +7906,7 @@ enifed('ember-htmlbars/templates/empty', ['exports', 'ember-template-compiler/sy
|
|
7859
7906
|
exports['default'] = template['default']((function() {
|
7860
7907
|
return {
|
7861
7908
|
isHTMLBars: true,
|
7862
|
-
revision: "Ember@1.11.0
|
7909
|
+
revision: "Ember@1.11.0",
|
7863
7910
|
blockParams: 0,
|
7864
7911
|
cachedFragment: null,
|
7865
7912
|
hasRendered: false,
|
@@ -7899,7 +7946,7 @@ enifed('ember-htmlbars/templates/link-to-escaped', ['exports', 'ember-template-c
|
|
7899
7946
|
exports['default'] = template['default']((function() {
|
7900
7947
|
return {
|
7901
7948
|
isHTMLBars: true,
|
7902
|
-
revision: "Ember@1.11.0
|
7949
|
+
revision: "Ember@1.11.0",
|
7903
7950
|
blockParams: 0,
|
7904
7951
|
cachedFragment: null,
|
7905
7952
|
hasRendered: false,
|
@@ -7946,7 +7993,7 @@ enifed('ember-htmlbars/templates/link-to-unescaped', ['exports', 'ember-template
|
|
7946
7993
|
exports['default'] = template['default']((function() {
|
7947
7994
|
return {
|
7948
7995
|
isHTMLBars: true,
|
7949
|
-
revision: "Ember@1.11.0
|
7996
|
+
revision: "Ember@1.11.0",
|
7950
7997
|
blockParams: 0,
|
7951
7998
|
cachedFragment: null,
|
7952
7999
|
hasRendered: false,
|
@@ -7994,7 +8041,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
|
|
7994
8041
|
var child0 = (function() {
|
7995
8042
|
return {
|
7996
8043
|
isHTMLBars: true,
|
7997
|
-
revision: "Ember@1.11.0
|
8044
|
+
revision: "Ember@1.11.0",
|
7998
8045
|
blockParams: 0,
|
7999
8046
|
cachedFragment: null,
|
8000
8047
|
hasRendered: false,
|
@@ -8037,7 +8084,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
|
|
8037
8084
|
var child0 = (function() {
|
8038
8085
|
return {
|
8039
8086
|
isHTMLBars: true,
|
8040
|
-
revision: "Ember@1.11.0
|
8087
|
+
revision: "Ember@1.11.0",
|
8041
8088
|
blockParams: 0,
|
8042
8089
|
cachedFragment: null,
|
8043
8090
|
hasRendered: false,
|
@@ -8077,7 +8124,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
|
|
8077
8124
|
}());
|
8078
8125
|
return {
|
8079
8126
|
isHTMLBars: true,
|
8080
|
-
revision: "Ember@1.11.0
|
8127
|
+
revision: "Ember@1.11.0",
|
8081
8128
|
blockParams: 0,
|
8082
8129
|
cachedFragment: null,
|
8083
8130
|
hasRendered: false,
|
@@ -8119,7 +8166,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
|
|
8119
8166
|
var child0 = (function() {
|
8120
8167
|
return {
|
8121
8168
|
isHTMLBars: true,
|
8122
|
-
revision: "Ember@1.11.0
|
8169
|
+
revision: "Ember@1.11.0",
|
8123
8170
|
blockParams: 0,
|
8124
8171
|
cachedFragment: null,
|
8125
8172
|
hasRendered: false,
|
@@ -8159,7 +8206,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
|
|
8159
8206
|
}());
|
8160
8207
|
return {
|
8161
8208
|
isHTMLBars: true,
|
8162
|
-
revision: "Ember@1.11.0
|
8209
|
+
revision: "Ember@1.11.0",
|
8163
8210
|
blockParams: 0,
|
8164
8211
|
cachedFragment: null,
|
8165
8212
|
hasRendered: false,
|
@@ -8199,7 +8246,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
|
|
8199
8246
|
}());
|
8200
8247
|
return {
|
8201
8248
|
isHTMLBars: true,
|
8202
|
-
revision: "Ember@1.11.0
|
8249
|
+
revision: "Ember@1.11.0",
|
8203
8250
|
blockParams: 0,
|
8204
8251
|
cachedFragment: null,
|
8205
8252
|
hasRendered: false,
|
@@ -11201,8 +11248,8 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
11201
11248
|
This is a more semantically meaningful alias of `computed.oneWay`,
|
11202
11249
|
whose name is somewhat ambiguous as to which direction the data flows.
|
11203
11250
|
|
11204
|
-
@method
|
11205
|
-
@for Ember
|
11251
|
+
@method reads
|
11252
|
+
@for Ember.computed
|
11206
11253
|
@param {String} dependentKey
|
11207
11254
|
@return {Ember.ComputedProperty} computed property which creates a
|
11208
11255
|
one way computed property to the original value for property.
|
@@ -11346,7 +11393,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
11346
11393
|
|
11347
11394
|
@class Ember
|
11348
11395
|
@static
|
11349
|
-
@version 1.11.0
|
11396
|
+
@version 1.11.0
|
11350
11397
|
*/
|
11351
11398
|
|
11352
11399
|
if ('undefined' === typeof Ember) {
|
@@ -11374,10 +11421,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
11374
11421
|
/**
|
11375
11422
|
@property VERSION
|
11376
11423
|
@type String
|
11377
|
-
@default '1.11.0
|
11424
|
+
@default '1.11.0'
|
11378
11425
|
@static
|
11379
11426
|
*/
|
11380
|
-
Ember.VERSION = '1.11.0
|
11427
|
+
Ember.VERSION = '1.11.0';
|
11381
11428
|
|
11382
11429
|
/**
|
11383
11430
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -11542,7 +11589,7 @@ enifed('ember-metal/dependent_keys', ['exports', 'ember-metal/platform/create',
|
|
11542
11589
|
// Remove "use strict"; from transpiled module until
|
11543
11590
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
11544
11591
|
//
|
11545
|
-
|
11592
|
+
"REMOVE_USE_STRICT: true";
|
11546
11593
|
|
11547
11594
|
function keysForDep(depsMeta, depKey) {
|
11548
11595
|
var keys = depsMeta[depKey];
|
@@ -11998,7 +12045,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
11998
12045
|
// Remove "use strict"; from transpiled module until
|
11999
12046
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
12000
12047
|
//
|
12001
|
-
|
12048
|
+
"REMOVE_USE_STRICT: true";
|
12002
12049
|
|
12003
12050
|
/**
|
12004
12051
|
@module ember-metal
|
@@ -13216,7 +13263,10 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/array',
|
|
13216
13263
|
@return {Boolean}
|
13217
13264
|
*/
|
13218
13265
|
remove: function(obj, _guid) {
|
13219
|
-
Ember.deprecate(
|
13266
|
+
Ember.deprecate(
|
13267
|
+
'Calling `OrderedSet.prototype.remove` has been deprecated, please use `OrderedSet.prototype.delete` instead.',
|
13268
|
+
this._silenceRemoveDeprecation
|
13269
|
+
);
|
13220
13270
|
|
13221
13271
|
return this["delete"](obj, _guid);
|
13222
13272
|
},
|
@@ -13631,7 +13681,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
13631
13681
|
// Remove "use strict"; from transpiled module until
|
13632
13682
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
13633
13683
|
//
|
13634
|
-
|
13684
|
+
"REMOVE_USE_STRICT: true";
|
13635
13685
|
|
13636
13686
|
/**
|
13637
13687
|
@module ember
|
@@ -14783,8 +14833,7 @@ enifed('ember-metal/platform/create', ['exports', 'ember-metal/platform/define_p
|
|
14783
14833
|
// Remove "use strict"; from transpiled module until
|
14784
14834
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
14785
14835
|
//
|
14786
|
-
|
14787
|
-
//
|
14836
|
+
"REMOVE_USE_STRICT: true";
|
14788
14837
|
|
14789
14838
|
var create;
|
14790
14839
|
// ES5 15.2.3.5
|
@@ -15000,7 +15049,7 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
15000
15049
|
})();
|
15001
15050
|
|
15002
15051
|
if (!canDefinePropertyOnDOM) {
|
15003
|
-
defineProperty = function(obj, keyName, desc) {
|
15052
|
+
exports.defineProperty = defineProperty = function(obj, keyName, desc) {
|
15004
15053
|
var isNode;
|
15005
15054
|
|
15006
15055
|
if (typeof Node === "object") {
|
@@ -15020,7 +15069,7 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
15020
15069
|
}
|
15021
15070
|
|
15022
15071
|
if (!hasES5CompliantDefineProperty) {
|
15023
|
-
defineProperty = function definePropertyPolyfill(obj, keyName, desc) {
|
15072
|
+
exports.defineProperty = defineProperty = function definePropertyPolyfill(obj, keyName, desc) {
|
15024
15073
|
if (!desc.get) { obj[keyName] = desc.value; }
|
15025
15074
|
};
|
15026
15075
|
}
|
@@ -15029,7 +15078,6 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
15029
15078
|
var canDefineNonEnumerableProperties = hasES5CompliantDefineProperty;
|
15030
15079
|
|
15031
15080
|
exports.hasES5CompliantDefineProperty = hasES5CompliantDefineProperty;
|
15032
|
-
exports.defineProperty = defineProperty;
|
15033
15081
|
exports.hasPropertyAccessors = hasPropertyAccessors;
|
15034
15082
|
exports.canDefineNonEnumerableProperties = canDefineNonEnumerableProperties;
|
15035
15083
|
|
@@ -17072,7 +17120,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
17072
17120
|
// Remove "use strict"; from transpiled module until
|
17073
17121
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
17074
17122
|
//
|
17075
|
-
|
17123
|
+
"REMOVE_USE_STRICT: true";
|
17076
17124
|
|
17077
17125
|
var _uuid = 0;
|
17078
17126
|
|
@@ -17724,7 +17772,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
17724
17772
|
|
17725
17773
|
var tryFinally;
|
17726
17774
|
if (needsFinallyFix) {
|
17727
|
-
tryFinally = function(tryable, finalizer, binding) {
|
17775
|
+
exports.tryFinally = tryFinally = function(tryable, finalizer, binding) {
|
17728
17776
|
var result, finalResult, finalError;
|
17729
17777
|
|
17730
17778
|
binding = binding || this;
|
@@ -17744,7 +17792,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
17744
17792
|
return (finalResult === undefined) ? result : finalResult;
|
17745
17793
|
};
|
17746
17794
|
} else {
|
17747
|
-
tryFinally = function(tryable, finalizer, binding) {
|
17795
|
+
exports.tryFinally = tryFinally = function(tryable, finalizer, binding) {
|
17748
17796
|
var result, finalResult;
|
17749
17797
|
|
17750
17798
|
binding = binding || this;
|
@@ -17800,7 +17848,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
17800
17848
|
*/
|
17801
17849
|
var tryCatchFinally;
|
17802
17850
|
if (needsFinallyFix) {
|
17803
|
-
tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
17851
|
+
exports.tryCatchFinally = tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
17804
17852
|
var result, finalResult, finalError;
|
17805
17853
|
|
17806
17854
|
binding = binding || this;
|
@@ -17822,7 +17870,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
17822
17870
|
return (finalResult === undefined) ? result : finalResult;
|
17823
17871
|
};
|
17824
17872
|
} else {
|
17825
|
-
tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
17873
|
+
exports.tryCatchFinally = tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
17826
17874
|
var result, finalResult;
|
17827
17875
|
|
17828
17876
|
binding = binding || this;
|
@@ -18020,8 +18068,6 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
18020
18068
|
exports.GUID_KEY = GUID_KEY;
|
18021
18069
|
exports.META_DESC = META_DESC;
|
18022
18070
|
exports.EMPTY_META = EMPTY_META;
|
18023
|
-
exports.tryCatchFinally = tryCatchFinally;
|
18024
|
-
exports.tryFinally = tryFinally;
|
18025
18071
|
|
18026
18072
|
});
|
18027
18073
|
enifed('ember-metal/watch_key', ['exports', 'ember-metal/core', 'ember-metal/utils', 'ember-metal/platform/define_property', 'ember-metal/properties'], function (exports, Ember, utils, define_property, properties) {
|
@@ -18738,7 +18784,7 @@ enifed('ember-routing-htmlbars/helpers/query-params', ['exports', 'ember-metal/c
|
|
18738
18784
|
}
|
18739
18785
|
|
18740
18786
|
});
|
18741
|
-
enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core', 'ember-metal/error', 'ember-runtime/system/string', 'ember-routing/system/generate_controller', 'ember-metal/streams/utils', 'ember-htmlbars/system/merge-view-bindings', 'ember-htmlbars/system/append-templated-view'], function (exports, Ember, EmberError, string, generate_controller, utils, mergeViewBindings, appendTemplatedView) {
|
18787
|
+
enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core', 'ember-metal/error', 'ember-runtime/system/string', 'ember-routing/system/generate_controller', 'ember-metal/streams/utils', 'ember-htmlbars/system/merge-view-bindings', 'ember-htmlbars/system/append-templated-view', 'ember-metal/platform/create'], function (exports, Ember, EmberError, string, generate_controller, utils, mergeViewBindings, appendTemplatedView, create) {
|
18742
18788
|
|
18743
18789
|
'use strict';
|
18744
18790
|
|
@@ -18788,8 +18834,19 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
|
|
18788
18834
|
name = name.replace(/\//g, '.');
|
18789
18835
|
// \ legacy slash as namespace support
|
18790
18836
|
|
18837
|
+
var templateName = 'template:' + name;
|
18838
|
+
Ember['default'].assert(
|
18839
|
+
"You used `{{render '" + name + "'}}`, but '" + name + "' can not be " +
|
18840
|
+
"found as either a template or a view.",
|
18841
|
+
container._registry.has("view:" + name) || container._registry.has(templateName) || !!options.template
|
18842
|
+
);
|
18791
18843
|
|
18792
|
-
|
18844
|
+
var template = options.template;
|
18845
|
+
view = container.lookup('view:' + name);
|
18846
|
+
if (!view) {
|
18847
|
+
view = container.lookup('view:default');
|
18848
|
+
template = template || container.lookup(templateName);
|
18849
|
+
}
|
18793
18850
|
|
18794
18851
|
// provide controller override
|
18795
18852
|
var controllerName;
|
@@ -18838,14 +18895,6 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
|
|
18838
18895
|
|
18839
18896
|
hash.viewName = string.camelize(name);
|
18840
18897
|
|
18841
|
-
var templateName = 'template:' + name;
|
18842
|
-
Ember['default'].assert(
|
18843
|
-
"You used `{{render '" + name + "'}}`, but '" + name + "' can not be " +
|
18844
|
-
"found as either a template or a view.",
|
18845
|
-
container._registry.has("view:" + name) || container._registry.has(templateName) || !!options.template
|
18846
|
-
);
|
18847
|
-
var template = options.template || container.lookup(templateName);
|
18848
|
-
|
18849
18898
|
if (router && !initialContext) {
|
18850
18899
|
router._connectActiveView(name, view);
|
18851
18900
|
}
|
@@ -18856,10 +18905,55 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
|
|
18856
18905
|
helperName: 'render "' + name + '"'
|
18857
18906
|
};
|
18858
18907
|
|
18908
|
+
impersonateAnOutlet(currentView, view, name);
|
18859
18909
|
mergeViewBindings['default'](currentView, props, hash);
|
18860
18910
|
appendTemplatedView['default'](currentView, options.morph, view, props);
|
18861
18911
|
}
|
18862
18912
|
|
18913
|
+
// Megahax to make outlets inside the render helper work, until we
|
18914
|
+
// can kill that behavior at 2.0.
|
18915
|
+
function impersonateAnOutlet(currentView, view, name) {
|
18916
|
+
view._childOutlets = Ember['default'].A();
|
18917
|
+
view._isOutlet = true;
|
18918
|
+
view._outletName = '__ember_orphans__';
|
18919
|
+
view._matchOutletName = name;
|
18920
|
+
view.setOutletState = function(state) {
|
18921
|
+
var ownState;
|
18922
|
+
if (state && (ownState = state.outlets[this._matchOutletName])) {
|
18923
|
+
this._outletState = {
|
18924
|
+
render: { name: 'render helper stub' },
|
18925
|
+
outlets: create['default'](null)
|
18926
|
+
};
|
18927
|
+
this._outletState.outlets[ownState.render.outlet] = ownState;
|
18928
|
+
ownState.wasUsed = true;
|
18929
|
+
} else {
|
18930
|
+
this._outletState = null;
|
18931
|
+
}
|
18932
|
+
for (var i = 0; i < this._childOutlets.length; i++) {
|
18933
|
+
var child = this._childOutlets[i];
|
18934
|
+
child.setOutletState(this._outletState && this._outletState.outlets[child._outletName]);
|
18935
|
+
}
|
18936
|
+
};
|
18937
|
+
|
18938
|
+
var pointer = currentView;
|
18939
|
+
var po;
|
18940
|
+
while (pointer && !pointer._isOutlet) {
|
18941
|
+
pointer = pointer._parentView;
|
18942
|
+
}
|
18943
|
+
while (pointer && (po = pointer._parentOutlet())) {
|
18944
|
+
pointer = po;
|
18945
|
+
}
|
18946
|
+
if (pointer) {
|
18947
|
+
// we've found the toplevel outlet. Subscribe to its
|
18948
|
+
// __ember_orphan__ child outlet, which is our hack convention for
|
18949
|
+
// stashing outlet state that may target the render helper.
|
18950
|
+
pointer._childOutlets.push(view);
|
18951
|
+
if (pointer._outletState) {
|
18952
|
+
view.setOutletState(pointer._outletState.outlets[view._outletName]);
|
18953
|
+
}
|
18954
|
+
}
|
18955
|
+
}
|
18956
|
+
|
18863
18957
|
});
|
18864
18958
|
enifed('ember-routing-views', ['exports', 'ember-metal/core', 'ember-routing-views/views/link', 'ember-routing-views/views/outlet'], function (exports, Ember, link, outlet) {
|
18865
18959
|
|
@@ -19081,7 +19175,10 @@ enifed('ember-routing-views/views/link', ['exports', 'ember-metal/core', 'ember-
|
|
19081
19175
|
init: function() {
|
19082
19176
|
this._super.apply(this, arguments);
|
19083
19177
|
|
19084
|
-
Ember['default'].deprecate(
|
19178
|
+
Ember['default'].deprecate(
|
19179
|
+
'Using currentWhen with {{link-to}} is deprecated in favor of `current-when`.',
|
19180
|
+
!this.currentWhen
|
19181
|
+
);
|
19085
19182
|
|
19086
19183
|
// Map desired event name to invoke function
|
19087
19184
|
var eventName = property_get.get(this, 'eventName');
|
@@ -19501,7 +19598,7 @@ enifed('ember-routing-views/views/outlet', ['exports', 'ember-views/views/contai
|
|
19501
19598
|
var CoreOutletView = ContainerView['default'].extend({
|
19502
19599
|
init: function() {
|
19503
19600
|
this._super();
|
19504
|
-
this._childOutlets =
|
19601
|
+
this._childOutlets = Ember.A();
|
19505
19602
|
this._outletState = null;
|
19506
19603
|
},
|
19507
19604
|
|
@@ -20066,7 +20163,7 @@ enifed('ember-routing/location/api', ['exports', 'ember-metal/core', 'ember-meta
|
|
20066
20163
|
*/
|
20067
20164
|
registerImplementation: function(name, implementation) {
|
20068
20165
|
Ember['default'].deprecate('Using the Ember.Location.registerImplementation is no longer supported.' +
|
20069
|
-
' Register your custom location implementation with the container instead.'
|
20166
|
+
' Register your custom location implementation with the container instead.');
|
20070
20167
|
|
20071
20168
|
this.implementations[name] = implementation;
|
20072
20169
|
},
|
@@ -20947,7 +21044,7 @@ enifed('ember-routing/system/controller_for', ['exports'], function (exports) {
|
|
20947
21044
|
exports['default'] = controllerFor;
|
20948
21045
|
|
20949
21046
|
});
|
20950
|
-
enifed('ember-routing/system/dsl', ['exports', 'ember-metal/core'], function (exports, Ember) {
|
21047
|
+
enifed('ember-routing/system/dsl', ['exports', 'ember-metal/core', 'ember-metal/array'], function (exports, Ember, array) {
|
20951
21048
|
|
20952
21049
|
'use strict';
|
20953
21050
|
|
@@ -20975,7 +21072,7 @@ enifed('ember-routing/system/dsl', ['exports', 'ember-metal/core'], function (ex
|
|
20975
21072
|
(function() {
|
20976
21073
|
if (options.overrideNameAssertion === true) { return true; }
|
20977
21074
|
|
20978
|
-
return ['array', 'basic', 'object', 'application']
|
21075
|
+
return array.indexOf.call(['array', 'basic', 'object', 'application'], name) === -1;
|
20979
21076
|
})()
|
20980
21077
|
);
|
20981
21078
|
|
@@ -21353,7 +21450,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
21353
21450
|
variable and getQueryParamsFor, using the supplied routeName.
|
21354
21451
|
|
21355
21452
|
@method paramsFor
|
21356
|
-
@param {String}
|
21453
|
+
@param {String} name
|
21357
21454
|
|
21358
21455
|
*/
|
21359
21456
|
paramsFor: function(name) {
|
@@ -21719,6 +21816,38 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
21719
21816
|
@param {Transition} transition
|
21720
21817
|
*/
|
21721
21818
|
|
21819
|
+
/**
|
21820
|
+
This event is triggered when the router enters the route. It is
|
21821
|
+
not executed when the model for the route changes.
|
21822
|
+
|
21823
|
+
```javascript
|
21824
|
+
App.ApplicationRoute = Ember.Route.extend({
|
21825
|
+
collectAnalytics: function(){
|
21826
|
+
collectAnalytics();
|
21827
|
+
}.on('activate')
|
21828
|
+
});
|
21829
|
+
```
|
21830
|
+
|
21831
|
+
@event activate
|
21832
|
+
@since 1.9.0
|
21833
|
+
*/
|
21834
|
+
|
21835
|
+
/**
|
21836
|
+
This event is triggered when the router completely exits this
|
21837
|
+
route. It is not executed when the model for the route changes.
|
21838
|
+
|
21839
|
+
```javascript
|
21840
|
+
App.IndexRoute = Ember.Route.extend({
|
21841
|
+
trackPageLeaveAnalytics: function(){
|
21842
|
+
trackPageLeaveAnalytics();
|
21843
|
+
}.on('deactivate')
|
21844
|
+
});
|
21845
|
+
```
|
21846
|
+
|
21847
|
+
@event deactivate
|
21848
|
+
@since 1.9.0
|
21849
|
+
*/
|
21850
|
+
|
21722
21851
|
/**
|
21723
21852
|
The controller associated with this route.
|
21724
21853
|
|
@@ -22967,27 +23096,45 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
22967
23096
|
disconnectOutlet: function(options) {
|
22968
23097
|
var outletName;
|
22969
23098
|
var parentView;
|
22970
|
-
var parent;
|
22971
23099
|
if (!options || typeof options === "string") {
|
22972
23100
|
outletName = options;
|
22973
23101
|
} else {
|
22974
23102
|
outletName = options.outlet;
|
22975
23103
|
parentView = options.parentView;
|
22976
23104
|
}
|
22977
|
-
|
22978
23105
|
parentView = parentView && parentView.replace(/\//g, '.');
|
22979
|
-
|
23106
|
+
outletName = outletName || 'main';
|
23107
|
+
this._disconnectOutlet(outletName, parentView);
|
23108
|
+
for (var i = 0; i < this.router.router.currentHandlerInfos.length; i++) {
|
23109
|
+
// This non-local state munging is sadly necessary to maintain
|
23110
|
+
// backward compatibility with our existing semantics, which allow
|
23111
|
+
// any route to disconnectOutlet things originally rendered by any
|
23112
|
+
// other route. This should all get cut in 2.0.
|
23113
|
+
this.router.router.
|
23114
|
+
currentHandlerInfos[i].handler._disconnectOutlet(outletName, parentView);
|
23115
|
+
}
|
23116
|
+
},
|
23117
|
+
|
23118
|
+
_disconnectOutlet: function(outletName, parentView) {
|
23119
|
+
var parent = parentRoute(this);
|
22980
23120
|
if (parent && parentView === parent.routeName) {
|
22981
23121
|
parentView = undefined;
|
22982
23122
|
}
|
22983
|
-
outletName = outletName || 'main';
|
22984
|
-
|
22985
23123
|
for (var i = 0; i < this.connections.length; i++) {
|
22986
23124
|
var connection = this.connections[i];
|
22987
23125
|
if (connection.outlet === outletName && connection.into === parentView) {
|
22988
|
-
|
23126
|
+
// This neuters the disconnected outlet such that it doesn't
|
23127
|
+
// render anything, but it leaves an entry in the outlet
|
23128
|
+
// hierarchy so that any existing other renders that target it
|
23129
|
+
// don't suddenly blow up. They will still stick themselves
|
23130
|
+
// into its outlets, which won't render anywhere. All of this
|
23131
|
+
// statefulness should get the machete in 2.0.
|
23132
|
+
this.connections[i] = {
|
23133
|
+
into: connection.into,
|
23134
|
+
outlet: connection.outlet,
|
23135
|
+
name: connection.name
|
23136
|
+
};
|
22989
23137
|
run['default'].once(this.router, '_setOutlets');
|
22990
|
-
return;
|
22991
23138
|
}
|
22992
23139
|
}
|
22993
23140
|
},
|
@@ -23079,8 +23226,6 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
23079
23226
|
}
|
23080
23227
|
}
|
23081
23228
|
|
23082
|
-
Ember['default'].assert("An outlet ("+outlet+") was specified but was not found.", outlet === 'main' || into);
|
23083
|
-
|
23084
23229
|
var parent;
|
23085
23230
|
if (into && (parent = parentRoute(route)) && into === parentRoute(route).routeName) {
|
23086
23231
|
into = undefined;
|
@@ -23320,15 +23465,18 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/core', 'ember-met
|
|
23320
23465
|
|
23321
23466
|
for (var i = 0; i < handlerInfos.length; i++) {
|
23322
23467
|
route = handlerInfos[i].handler;
|
23323
|
-
var connections =
|
23468
|
+
var connections = route.connections;
|
23324
23469
|
var ownState;
|
23325
23470
|
for (var j = 0; j < connections.length; j++) {
|
23326
23471
|
var appended = appendLiveRoute(liveRoutes, defaultParentState, connections[j]);
|
23327
23472
|
liveRoutes = appended.liveRoutes;
|
23328
|
-
if (appended.ownState.render.name === route.routeName) {
|
23473
|
+
if (appended.ownState.render.name === route.routeName || appended.ownState.render.outlet === 'main') {
|
23329
23474
|
ownState = appended.ownState;
|
23330
23475
|
}
|
23331
23476
|
}
|
23477
|
+
if (connections.length === 0) {
|
23478
|
+
ownState = representEmptyRoute(liveRoutes, defaultParentState, route);
|
23479
|
+
}
|
23332
23480
|
defaultParentState = ownState;
|
23333
23481
|
}
|
23334
23482
|
if (!this._toplevelView) {
|
@@ -24140,8 +24288,17 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/core', 'ember-met
|
|
24140
24288
|
if (target) {
|
24141
24289
|
property_set.set(target.outlets, renderOptions.outlet, myState);
|
24142
24290
|
} else {
|
24143
|
-
|
24144
|
-
|
24291
|
+
if (renderOptions.into) {
|
24292
|
+
// Megahax time. Post-2.0-breaking-changes, we will just assert
|
24293
|
+
// right here that the user tried to target a nonexistent
|
24294
|
+
// thing. But for now we still need to support the `render`
|
24295
|
+
// helper, and people are allowed to target templates rendered
|
24296
|
+
// by the render helper. So instead we defer doing anyting with
|
24297
|
+
// these orphan renders until afterRender.
|
24298
|
+
appendOrphan(liveRoutes, renderOptions.into, myState);
|
24299
|
+
} else {
|
24300
|
+
liveRoutes = myState;
|
24301
|
+
}
|
24145
24302
|
}
|
24146
24303
|
return {
|
24147
24304
|
liveRoutes: liveRoutes,
|
@@ -24149,36 +24306,47 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/core', 'ember-met
|
|
24149
24306
|
};
|
24150
24307
|
}
|
24151
24308
|
|
24152
|
-
function
|
24153
|
-
|
24154
|
-
|
24155
|
-
|
24156
|
-
|
24157
|
-
|
24158
|
-
|
24159
|
-
|
24160
|
-
mainConnections.push(connection);
|
24161
|
-
} else {
|
24162
|
-
otherConnections.push(connection);
|
24163
|
-
}
|
24309
|
+
function appendOrphan(liveRoutes, into, myState) {
|
24310
|
+
if (!liveRoutes.outlets.__ember_orphans__) {
|
24311
|
+
liveRoutes.outlets.__ember_orphans__ = {
|
24312
|
+
render: {
|
24313
|
+
name: '__ember_orphans__'
|
24314
|
+
},
|
24315
|
+
outlets: create['default'](null)
|
24316
|
+
};
|
24164
24317
|
}
|
24318
|
+
liveRoutes.outlets.__ember_orphans__.outlets[into] = myState;
|
24319
|
+
Ember['default'].run.schedule('afterRender', function() {
|
24320
|
+
// `wasUsed` gets set by the render helper. See the function
|
24321
|
+
// `impersonateAnOutlet`.
|
24322
|
+
Ember['default'].assert("You attempted to render into '" + into + "' but it was not found",
|
24323
|
+
liveRoutes.outlets.__ember_orphans__.outlets[into].wasUsed);
|
24324
|
+
});
|
24325
|
+
}
|
24165
24326
|
|
24166
|
-
|
24167
|
-
|
24168
|
-
|
24169
|
-
|
24170
|
-
|
24171
|
-
|
24172
|
-
|
24173
|
-
|
24327
|
+
function representEmptyRoute(liveRoutes, defaultParentState, route) {
|
24328
|
+
// the route didn't render anything
|
24329
|
+
var alreadyAppended = findLiveRoute(liveRoutes, route.routeName);
|
24330
|
+
if (alreadyAppended) {
|
24331
|
+
// But some other route has already rendered our default
|
24332
|
+
// template, so that becomes the default target for any
|
24333
|
+
// children we may have.
|
24334
|
+
return alreadyAppended;
|
24335
|
+
} else {
|
24336
|
+
// Create an entry to represent our default template name,
|
24337
|
+
// just so other routes can target it and inherit its place
|
24338
|
+
// in the outlet hierarchy.
|
24339
|
+
defaultParentState.outlets.main = {
|
24340
|
+
render: {
|
24341
|
+
name: route.routeName,
|
24342
|
+
outlet: 'main'
|
24343
|
+
},
|
24344
|
+
outlets: {}
|
24345
|
+
};
|
24346
|
+
return defaultParentState;
|
24174
24347
|
}
|
24175
|
-
|
24176
|
-
// We process main connections first, because a main connection may
|
24177
|
-
// be targeted by other connections.
|
24178
|
-
return mainConnections.concat(otherConnections);
|
24179
24348
|
}
|
24180
24349
|
|
24181
|
-
|
24182
24350
|
exports['default'] = EmberRouter;
|
24183
24351
|
|
24184
24352
|
});
|
@@ -26365,7 +26533,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
|
|
26365
26533
|
exports.union = union;
|
26366
26534
|
|
26367
26535
|
});
|
26368
|
-
enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/core', 'ember-metal/property_get', 'ember-metal/enumerable_utils', 'ember-runtime/system/array_proxy', 'ember-runtime/mixins/sortable', 'ember-runtime/mixins/controller', 'ember-metal/computed', 'ember-metal/error'], function (exports, Ember, property_get, enumerable_utils, ArrayProxy, SortableMixin, ControllerMixin, computed, EmberError) {
|
26536
|
+
enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/core', 'ember-metal/property_get', 'ember-metal/enumerable_utils', 'ember-runtime/system/array_proxy', 'ember-runtime/mixins/sortable', 'ember-runtime/mixins/controller', 'ember-metal/computed', 'ember-metal/error', 'ember-runtime/mixins/array'], function (exports, Ember, property_get, enumerable_utils, ArrayProxy, SortableMixin, ControllerMixin, computed, EmberError, EmberArray) {
|
26369
26537
|
|
26370
26538
|
'use strict';
|
26371
26539
|
|
@@ -26475,7 +26643,17 @@ enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/co
|
|
26475
26643
|
this._subControllers = [];
|
26476
26644
|
},
|
26477
26645
|
|
26478
|
-
model: computed.computed(function () {
|
26646
|
+
model: computed.computed(function (key, value) {
|
26647
|
+
if (arguments.length > 1) {
|
26648
|
+
Ember['default'].assert(
|
26649
|
+
'ArrayController expects `model` to implement the Ember.Array mixin. ' +
|
26650
|
+
'This can often be fixed by wrapping your model with `Ember.A()`.',
|
26651
|
+
EmberArray['default'].detect(value)
|
26652
|
+
);
|
26653
|
+
|
26654
|
+
return value;
|
26655
|
+
}
|
26656
|
+
|
26479
26657
|
return Ember['default'].A();
|
26480
26658
|
}),
|
26481
26659
|
|
@@ -26559,7 +26737,7 @@ enifed('ember-runtime/controllers/controller', ['exports', 'ember-metal/core', '
|
|
26559
26737
|
|
26560
26738
|
function controllerInjectionHelper(factory) {
|
26561
26739
|
Ember['default'].assert("Defining an injected controller property on a " +
|
26562
|
-
"non-controller is not allowed.",
|
26740
|
+
"non-controller is not allowed.", Mixin['default'].detect(factory.PrototypeMixin));
|
26563
26741
|
}
|
26564
26742
|
|
26565
26743
|
/**
|
@@ -26585,8 +26763,9 @@ enifed('ember-runtime/controllers/controller', ['exports', 'ember-metal/core', '
|
|
26585
26763
|
});
|
26586
26764
|
```
|
26587
26765
|
|
26588
|
-
@method
|
26589
|
-
@
|
26766
|
+
@method controller
|
26767
|
+
@since 1.10.0
|
26768
|
+
@for Ember.inject
|
26590
26769
|
@param {String} name (optional) name of the controller to inject, defaults
|
26591
26770
|
to the property's name
|
26592
26771
|
@return {Ember.InjectedProperty} injection descriptor instance
|
@@ -26624,7 +26803,11 @@ enifed('ember-runtime/controllers/object_controller', ['exports', 'ember-metal/c
|
|
26624
26803
|
**/
|
26625
26804
|
exports['default'] = ObjectProxy['default'].extend(ControllerMixin['default'], {
|
26626
26805
|
init: function() {
|
26627
|
-
|
26806
|
+
this._super();
|
26807
|
+
|
26808
|
+
Ember['default'].deprecate(objectControllerDeprecation, this.isGenerated, {
|
26809
|
+
url: 'http://emberjs.com/guides/deprecations/#toc_objectcontroller'
|
26810
|
+
});
|
26628
26811
|
}
|
26629
26812
|
});
|
26630
26813
|
|
@@ -27014,13 +27197,13 @@ enifed('ember-runtime/ext/rsvp', ['exports', 'ember-metal/core', 'ember-metal/lo
|
|
27014
27197
|
|
27015
27198
|
if (Ember['default'].testing && async) { asyncStart(); }
|
27016
27199
|
|
27017
|
-
run['default'].backburner.schedule('actions', function(){
|
27200
|
+
run['default'].backburner.schedule('actions', function() {
|
27018
27201
|
if (Ember['default'].testing && async) { asyncEnd(); }
|
27019
27202
|
callback(promise);
|
27020
27203
|
});
|
27021
27204
|
});
|
27022
27205
|
|
27023
|
-
RSVP.Promise.prototype.fail = function(callback, label){
|
27206
|
+
RSVP.Promise.prototype.fail = function(callback, label) {
|
27024
27207
|
Ember['default'].deprecate('RSVP.Promise.fail has been renamed as RSVP.Promise.catch');
|
27025
27208
|
return this['catch'](callback, label);
|
27026
27209
|
};
|
@@ -27192,7 +27375,8 @@ enifed('ember-runtime/inject', ['exports', 'ember-metal/core', 'ember-metal/enum
|
|
27192
27375
|
|
27193
27376
|
@private
|
27194
27377
|
@method createInjectionHelper
|
27195
|
-
@
|
27378
|
+
@since 1.10.0
|
27379
|
+
@for Ember
|
27196
27380
|
@param {String} type The container type the helper will inject
|
27197
27381
|
@param {Function} validator A validation callback that is executed at mixin-time
|
27198
27382
|
*/
|
@@ -27210,7 +27394,8 @@ enifed('ember-runtime/inject', ['exports', 'ember-metal/core', 'ember-metal/enum
|
|
27210
27394
|
|
27211
27395
|
@private
|
27212
27396
|
@method validatePropertyInjections
|
27213
|
-
@
|
27397
|
+
@since 1.10.0
|
27398
|
+
@for Ember
|
27214
27399
|
@param {Object} factory The factory object
|
27215
27400
|
*/
|
27216
27401
|
function validatePropertyInjections(factory) {
|
@@ -27304,7 +27489,8 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-metal/core', 'ember-met
|
|
27304
27489
|
Ember['default'].deprecate(
|
27305
27490
|
string.fmt('You attempted to access `%@` from `%@`, but object proxying is deprecated. ' +
|
27306
27491
|
'Please use `model.%@` instead.', [key, this, key]),
|
27307
|
-
!this.isController
|
27492
|
+
!this.isController,
|
27493
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_objectcontroller' }
|
27308
27494
|
);
|
27309
27495
|
return property_get.get(content, key);
|
27310
27496
|
}
|
@@ -27326,7 +27512,8 @@ enifed('ember-runtime/mixins/-proxy', ['exports', 'ember-metal/core', 'ember-met
|
|
27326
27512
|
Ember['default'].deprecate(
|
27327
27513
|
string.fmt('You attempted to set `%@` from `%@`, but object proxying is deprecated. ' +
|
27328
27514
|
'Please use `model.%@` instead.', [key, this, key]),
|
27329
|
-
!this.isController
|
27515
|
+
!this.isController,
|
27516
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_objectcontroller' }
|
27330
27517
|
);
|
27331
27518
|
return property_set.set(content, key, value);
|
27332
27519
|
}
|
@@ -27483,7 +27670,7 @@ enifed('ember-runtime/mixins/action_handler', ['exports', 'ember-metal/merge', '
|
|
27483
27670
|
hashName = 'actions';
|
27484
27671
|
} else if (utils.typeOf(props.events) === 'object') {
|
27485
27672
|
Ember.deprecate('Action handlers contained in an `events` object are deprecated in favor' +
|
27486
|
-
' of putting them in an `actions` object'
|
27673
|
+
' of putting them in an `actions` object');
|
27487
27674
|
hashName = 'events';
|
27488
27675
|
}
|
27489
27676
|
|
@@ -28151,7 +28338,7 @@ enifed('ember-runtime/mixins/controller_content_model_alias_deprecation', ['expo
|
|
28151
28338
|
props.model = props.content;
|
28152
28339
|
delete props['content'];
|
28153
28340
|
|
28154
|
-
Ember['default'].deprecate('Do not specify `content` on a Controller, use `model` instead.'
|
28341
|
+
Ember['default'].deprecate('Do not specify `content` on a Controller, use `model` instead.');
|
28155
28342
|
}
|
28156
28343
|
}
|
28157
28344
|
});
|
@@ -28260,7 +28447,11 @@ enifed('ember-runtime/mixins/deferred', ['exports', 'ember-metal/core', 'ember-m
|
|
28260
28447
|
},
|
28261
28448
|
|
28262
28449
|
_deferred: computed.computed(function() {
|
28263
|
-
Ember['default'].deprecate(
|
28450
|
+
Ember['default'].deprecate(
|
28451
|
+
'Usage of Ember.DeferredMixin or Ember.Deferred is deprecated.',
|
28452
|
+
this._suppressDeferredDeprecation,
|
28453
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_ember-deferredmixin-and-ember-deferred' }
|
28454
|
+
);
|
28264
28455
|
|
28265
28456
|
return RSVP['default'].defer('Ember: DeferredMixin - ' + this);
|
28266
28457
|
})
|
@@ -30315,7 +30506,11 @@ enifed('ember-runtime/mixins/observable', ['exports', 'ember-metal/core', 'ember
|
|
30315
30506
|
},
|
30316
30507
|
|
30317
30508
|
addBeforeObserver: function(key, target, method) {
|
30318
|
-
Ember['default'].deprecate(
|
30509
|
+
Ember['default'].deprecate(
|
30510
|
+
'Before observers are deprecated and will be removed in a future release. If you want to keep track of previous values you have to implement it yourself.',
|
30511
|
+
false,
|
30512
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_beforeobserver' }
|
30513
|
+
);
|
30319
30514
|
observer.addBeforeObserver(this, key, target, method);
|
30320
30515
|
},
|
30321
30516
|
|
@@ -31465,7 +31660,7 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-metal', 'ember-met
|
|
31465
31660
|
// Remove "use strict"; from transpiled module until
|
31466
31661
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
31467
31662
|
//
|
31468
|
-
|
31663
|
+
"REMOVE_USE_STRICT: true";
|
31469
31664
|
|
31470
31665
|
/**
|
31471
31666
|
@module ember
|
@@ -32338,7 +32533,11 @@ enifed('ember-runtime/system/deferred', ['exports', 'ember-metal/core', 'ember-r
|
|
32338
32533
|
|
32339
32534
|
var Deferred = EmberObject['default'].extend(DeferredMixin['default'], {
|
32340
32535
|
init: function() {
|
32341
|
-
Ember['default'].deprecate(
|
32536
|
+
Ember['default'].deprecate(
|
32537
|
+
'Usage of Ember.Deferred is deprecated.',
|
32538
|
+
false,
|
32539
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_deferredmixin-and-ember-deferred' }
|
32540
|
+
);
|
32342
32541
|
this._super.apply(this, arguments);
|
32343
32542
|
}
|
32344
32543
|
});
|
@@ -32923,7 +33122,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
|
|
32923
33122
|
}
|
32924
33123
|
});
|
32925
33124
|
|
32926
|
-
NativeArray = NativeArray.without.apply(NativeArray, ignore);
|
33125
|
+
exports.NativeArray = NativeArray = NativeArray.without.apply(NativeArray, ignore);
|
32927
33126
|
|
32928
33127
|
/**
|
32929
33128
|
Creates an `Ember.NativeArray` from an Array like object.
|
@@ -32980,7 +33179,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
|
|
32980
33179
|
NativeArray.activate = function() {
|
32981
33180
|
NativeArray.apply(Array.prototype);
|
32982
33181
|
|
32983
|
-
A = function(arr) { return arr || []; };
|
33182
|
+
exports.A = A = function(arr) { return arr || []; };
|
32984
33183
|
};
|
32985
33184
|
|
32986
33185
|
if (Ember['default'].EXTEND_PROTOTYPES === true || Ember['default'].EXTEND_PROTOTYPES.Array) {
|
@@ -32991,7 +33190,6 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
|
|
32991
33190
|
exports['default'] = NativeArray;
|
32992
33191
|
|
32993
33192
|
exports.A = A;
|
32994
|
-
exports.NativeArray = NativeArray;
|
32995
33193
|
|
32996
33194
|
});
|
32997
33195
|
enifed('ember-runtime/system/object', ['exports', 'ember-runtime/system/core_object', 'ember-runtime/mixins/observable'], function (exports, CoreObject, Observable) {
|
@@ -33028,6 +33226,7 @@ enifed('ember-runtime/system/service', ['exports', 'ember-runtime/system/object'
|
|
33028
33226
|
@class Service
|
33029
33227
|
@namespace Ember
|
33030
33228
|
@extends Ember.Object
|
33229
|
+
@since 1.10.0
|
33031
33230
|
*/
|
33032
33231
|
exports['default'] = Object['default'].extend();
|
33033
33232
|
|
@@ -34510,7 +34709,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
|
|
34510
34709
|
var disableComponentGeneration = true;
|
34511
34710
|
|
34512
34711
|
return {
|
34513
|
-
revision: 'Ember@1.11.0
|
34712
|
+
revision: 'Ember@1.11.0',
|
34514
34713
|
|
34515
34714
|
disableComponentGeneration: disableComponentGeneration,
|
34516
34715
|
|
@@ -34669,13 +34868,12 @@ enifed('ember-testing/adapters/qunit', ['exports', 'ember-testing/adapters/adapt
|
|
34669
34868
|
});
|
34670
34869
|
|
34671
34870
|
});
|
34672
|
-
enifed('ember-testing/helpers', ['ember-metal/core', 'ember-metal/property_get', 'ember-metal/error', 'ember-metal/run_loop', 'ember-views/system/jquery', 'ember-testing/test'], function (Ember, property_get, EmberError, run, jQuery, Test) {
|
34871
|
+
enifed('ember-testing/helpers', ['ember-metal/core', 'ember-metal/property_get', 'ember-metal/error', 'ember-metal/run_loop', 'ember-views/system/jquery', 'ember-testing/test', 'ember-runtime/ext/rsvp'], function (Ember, property_get, EmberError, run, jQuery, Test, RSVP) {
|
34673
34872
|
|
34674
34873
|
'use strict';
|
34675
34874
|
|
34676
34875
|
var helper = Test['default'].registerHelper;
|
34677
34876
|
var asyncHelper = Test['default'].registerAsyncHelper;
|
34678
|
-
var countAsync = 0;
|
34679
34877
|
|
34680
34878
|
function currentRouteName(app) {
|
34681
34879
|
var appController = app.__container__.lookup('controller:application');
|
@@ -34862,12 +35060,7 @@ enifed('ember-testing/helpers', ['ember-metal/core', 'ember-metal/property_get',
|
|
34862
35060
|
}
|
34863
35061
|
|
34864
35062
|
function wait(app, value) {
|
34865
|
-
return
|
34866
|
-
// If this is the first async promise, kick off the async test
|
34867
|
-
if (++countAsync === 1) {
|
34868
|
-
Test['default'].adapter.asyncStart();
|
34869
|
-
}
|
34870
|
-
|
35063
|
+
return new RSVP['default'].Promise(function(resolve) {
|
34871
35064
|
// Every 10ms, poll for the async thing to have finished
|
34872
35065
|
var watcher = setInterval(function() {
|
34873
35066
|
var router = app.__container__.lookup('router:main');
|
@@ -34891,11 +35084,6 @@ enifed('ember-testing/helpers', ['ember-metal/core', 'ember-metal/property_get',
|
|
34891
35084
|
// Stop polling
|
34892
35085
|
clearInterval(watcher);
|
34893
35086
|
|
34894
|
-
// If this is the last async promise, end the async test
|
34895
|
-
if (--countAsync === 0) {
|
34896
|
-
Test['default'].adapter.asyncEnd();
|
34897
|
-
}
|
34898
|
-
|
34899
35087
|
// Synchronously resolve the promise
|
34900
35088
|
run['default'](null, resolve, value);
|
34901
35089
|
}, 10);
|
@@ -35547,7 +35735,7 @@ enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_lo
|
|
35547
35735
|
|
35548
35736
|
return function() {
|
35549
35737
|
var args = slice.call(arguments);
|
35550
|
-
var lastPromise
|
35738
|
+
var lastPromise;
|
35551
35739
|
|
35552
35740
|
args.unshift(app);
|
35553
35741
|
|
@@ -35558,35 +35746,28 @@ enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_lo
|
|
35558
35746
|
return fn.apply(app, args);
|
35559
35747
|
}
|
35560
35748
|
|
35561
|
-
|
35562
|
-
|
35563
|
-
|
35564
|
-
} else {
|
35565
|
-
// wait for last helper's promise to resolve and then
|
35566
|
-
// execute. To be safe, we need to tell the adapter we're going
|
35567
|
-
// asynchronous here, because fn may not be invoked before we
|
35568
|
-
// return.
|
35569
|
-
Test.adapter.asyncStart();
|
35570
|
-
run(function() {
|
35571
|
-
lastPromise = Test.resolve(lastPromise).then(function() {
|
35572
|
-
try {
|
35573
|
-
return fn.apply(app, args);
|
35574
|
-
} finally {
|
35575
|
-
Test.adapter.asyncEnd();
|
35576
|
-
}
|
35577
|
-
});
|
35578
|
-
});
|
35579
|
-
}
|
35749
|
+
lastPromise = run(function() {
|
35750
|
+
return Test.resolve(Test.lastPromise);
|
35751
|
+
});
|
35580
35752
|
|
35581
|
-
|
35753
|
+
// wait for last helper's promise to resolve and then
|
35754
|
+
// execute. To be safe, we need to tell the adapter we're going
|
35755
|
+
// asynchronous here, because fn may not be invoked before we
|
35756
|
+
// return.
|
35757
|
+
Test.adapter.asyncStart();
|
35758
|
+
return lastPromise.then(function() {
|
35759
|
+
return fn.apply(app, args);
|
35760
|
+
})["finally"](function() {
|
35761
|
+
Test.adapter.asyncEnd();
|
35762
|
+
});
|
35582
35763
|
};
|
35583
35764
|
}
|
35584
35765
|
|
35585
35766
|
function run(fn) {
|
35586
35767
|
if (!emberRun['default'].currentRunLoop) {
|
35587
|
-
emberRun['default'](fn);
|
35768
|
+
return emberRun['default'](fn);
|
35588
35769
|
} else {
|
35589
|
-
fn();
|
35770
|
+
return fn();
|
35590
35771
|
}
|
35591
35772
|
}
|
35592
35773
|
|
@@ -35750,6 +35931,7 @@ enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_lo
|
|
35750
35931
|
|
35751
35932
|
Test.Promise.prototype = create['default'](RSVP['default'].Promise.prototype);
|
35752
35933
|
Test.Promise.prototype.constructor = Test.Promise;
|
35934
|
+
Test.Promise.resolve = Test.resolve;
|
35753
35935
|
|
35754
35936
|
// Patch `then` to isolate async methods
|
35755
35937
|
// specifically `Ember.Test.lastPromise`
|
@@ -35766,7 +35948,6 @@ enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_lo
|
|
35766
35948
|
// 1. Set `Ember.Test.lastPromise` to null
|
35767
35949
|
// 2. Invoke method
|
35768
35950
|
// 3. Return the last promise created during method
|
35769
|
-
// 4. Restore `Ember.Test.lastPromise` to original value
|
35770
35951
|
function isolate(fn, val) {
|
35771
35952
|
var value, lastPromise;
|
35772
35953
|
|
@@ -35776,6 +35957,7 @@ enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_lo
|
|
35776
35957
|
value = fn(val);
|
35777
35958
|
|
35778
35959
|
lastPromise = Test.lastPromise;
|
35960
|
+
Test.lastPromise = null;
|
35779
35961
|
|
35780
35962
|
// If the method returned a promise
|
35781
35963
|
// return that promise. If not,
|
@@ -35783,12 +35965,11 @@ enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_lo
|
|
35783
35965
|
if ((value && (value instanceof Test.Promise)) || !lastPromise) {
|
35784
35966
|
return value;
|
35785
35967
|
} else {
|
35786
|
-
run(function() {
|
35787
|
-
|
35968
|
+
return run(function() {
|
35969
|
+
return Test.resolve(lastPromise).then(function() {
|
35788
35970
|
return value;
|
35789
35971
|
});
|
35790
35972
|
});
|
35791
|
-
return lastPromise;
|
35792
35973
|
}
|
35793
35974
|
}
|
35794
35975
|
|
@@ -35847,7 +36028,7 @@ enifed('ember-views', ['exports', 'ember-runtime', 'ember-views/system/jquery',
|
|
35847
36028
|
exports['default'] = Ember['default'];
|
35848
36029
|
|
35849
36030
|
});
|
35850
|
-
enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/utils', 'ember-metal/run_loop'], function (exports, utils, run) {
|
36031
|
+
enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/core', 'ember-metal/streams/utils', 'ember-metal/run_loop'], function (exports, Ember, utils, run) {
|
35851
36032
|
|
35852
36033
|
'use strict';
|
35853
36034
|
|
@@ -35860,7 +36041,13 @@ enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/util
|
|
35860
36041
|
this.init(attrName, attrValue);
|
35861
36042
|
}
|
35862
36043
|
|
36044
|
+
var styleWarning = 'Binding style attributes may introduce cross-site scripting vulnerabilities; ' +
|
36045
|
+
'please ensure that values being bound are properly escaped. For more information, ' +
|
36046
|
+
'including how to disable this warning, see ' +
|
36047
|
+
'http://emberjs.com/deprecations/v1.x/#toc_warning-when-binding-style-attributes.';
|
36048
|
+
|
35863
36049
|
AttrNode.prototype.init = function init(attrName, simpleAttrValue) {
|
36050
|
+
this.isAttrNode = true;
|
35864
36051
|
this.isView = true;
|
35865
36052
|
|
35866
36053
|
this.tagName = '';
|
@@ -35892,12 +36079,18 @@ enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/util
|
|
35892
36079
|
if (this.isDestroying) {
|
35893
36080
|
return;
|
35894
36081
|
}
|
36082
|
+
|
35895
36083
|
var value = utils.read(this.attrValue);
|
35896
36084
|
|
35897
36085
|
if (this.attrName === 'value' && (value === null || value === undefined)) {
|
35898
36086
|
value = '';
|
35899
36087
|
}
|
35900
36088
|
|
36089
|
+
if (value === undefined) {
|
36090
|
+
value = null;
|
36091
|
+
}
|
36092
|
+
|
36093
|
+
|
35901
36094
|
// If user is typing in a value we don't want to rerender and loose cursor position.
|
35902
36095
|
if (this.hasRenderedInitially && this.attrName === 'value' && this._morph.element.value === value) {
|
35903
36096
|
this.lastValue = value;
|
@@ -35905,12 +36098,31 @@ enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/util
|
|
35905
36098
|
}
|
35906
36099
|
|
35907
36100
|
if (this.lastValue !== null || value !== null) {
|
36101
|
+
this._deprecateEscapedStyle(value);
|
35908
36102
|
this._morph.setContent(value);
|
35909
36103
|
this.lastValue = value;
|
35910
36104
|
this.hasRenderedInitially = true;
|
35911
36105
|
}
|
35912
36106
|
};
|
35913
36107
|
|
36108
|
+
AttrNode.prototype._deprecateEscapedStyle = function AttrNode_deprecateEscapedStyle(value) {
|
36109
|
+
Ember['default'].warn(
|
36110
|
+
styleWarning,
|
36111
|
+
(function(name, value, escaped) {
|
36112
|
+
// SafeString
|
36113
|
+
if (value && value.toHTML) {
|
36114
|
+
return true;
|
36115
|
+
}
|
36116
|
+
|
36117
|
+
if (name !== 'style') {
|
36118
|
+
return true;
|
36119
|
+
}
|
36120
|
+
|
36121
|
+
return !escaped;
|
36122
|
+
}(this.attrName, value, this._morph.escaped))
|
36123
|
+
);
|
36124
|
+
};
|
36125
|
+
|
35914
36126
|
AttrNode.prototype.rerender = function render() {
|
35915
36127
|
this.isDirty = true;
|
35916
36128
|
run['default'].schedule('render', this, this.renderIfDirty);
|
@@ -35927,8 +36139,19 @@ enifed('ember-views/attr_nodes/attr_node', ['exports', 'ember-metal/streams/util
|
|
35927
36139
|
}
|
35928
36140
|
};
|
35929
36141
|
|
36142
|
+
AttrNode.prototype.propertyDidChange = function render() {
|
36143
|
+
};
|
36144
|
+
|
36145
|
+
AttrNode.prototype._notifyBecameHidden = function render() {
|
36146
|
+
};
|
36147
|
+
|
36148
|
+
AttrNode.prototype._notifyBecameVisible = function render() {
|
36149
|
+
};
|
36150
|
+
|
35930
36151
|
exports['default'] = AttrNode;
|
35931
36152
|
|
36153
|
+
exports.styleWarning = styleWarning;
|
36154
|
+
|
35932
36155
|
});
|
35933
36156
|
enifed('ember-views/attr_nodes/legacy_bind', ['exports', './attr_node', 'ember-runtime/system/string', 'ember-metal/utils', 'ember-metal/streams/utils', 'ember-metal/platform/create'], function (exports, AttrNode, string, utils, streams__utils, o_create) {
|
35934
36157
|
|
@@ -35956,14 +36179,15 @@ enifed('ember-views/attr_nodes/legacy_bind', ['exports', './attr_node', 'ember-r
|
|
35956
36179
|
value = null;
|
35957
36180
|
}
|
35958
36181
|
|
35959
|
-
if (this.attrName === 'value' && value === null) {
|
36182
|
+
if ((this.attrName === 'value' || this.attrName === 'src') && value === null) {
|
35960
36183
|
value = '';
|
35961
36184
|
}
|
35962
36185
|
|
35963
36186
|
Ember.assert(string.fmt("Attributes must be numbers, strings or booleans, not %@", [value]),
|
35964
|
-
value === null || value === undefined || utils.typeOf(value) === 'number' || utils.typeOf(value) === 'string' || utils.typeOf(value) === 'boolean');
|
36187
|
+
value === null || value === undefined || utils.typeOf(value) === 'number' || utils.typeOf(value) === 'string' || utils.typeOf(value) === 'boolean' || !!(value && value.toHTML));
|
35965
36188
|
|
35966
36189
|
if (this.lastValue !== null || value !== null) {
|
36190
|
+
this._deprecateEscapedStyle(value);
|
35967
36191
|
this._morph.setContent(value);
|
35968
36192
|
this.lastValue = value;
|
35969
36193
|
}
|
@@ -37611,7 +37835,11 @@ enifed('ember-views/streams/utils', ['exports', 'ember-metal/core', 'ember-metal
|
|
37611
37835
|
if (typeof value === 'string') {
|
37612
37836
|
if (path_cache.isGlobal(value)) {
|
37613
37837
|
viewClass = property_get.get(null, value);
|
37614
|
-
Ember['default'].deprecate(
|
37838
|
+
Ember['default'].deprecate(
|
37839
|
+
'Resolved the view "'+value+'" on the global context. Pass a view name to be looked up on the container instead, such as {{view "select"}}.',
|
37840
|
+
!viewClass,
|
37841
|
+
{ url: 'http://emberjs.com/guides/deprecations/#toc_global-lookup-of-views' }
|
37842
|
+
);
|
37615
37843
|
} else {
|
37616
37844
|
Ember['default'].assert("View requires a container to resolve views not passed in through the context", !!container);
|
37617
37845
|
viewClass = container.lookupFactory('view:'+value);
|
@@ -38715,70 +38943,6 @@ enifed('ember-views/system/renderer', ['exports', 'ember-metal/core', 'ember-met
|
|
38715
38943
|
|
38716
38944
|
exports['default'] = EmberRenderer;
|
38717
38945
|
|
38718
|
-
});
|
38719
|
-
enifed('ember-views/system/sanitize_attribute_value', ['exports'], function (exports) {
|
38720
|
-
|
38721
|
-
'use strict';
|
38722
|
-
|
38723
|
-
/* jshint scripturl:true */
|
38724
|
-
|
38725
|
-
var badProtocols = {
|
38726
|
-
'javascript:': true,
|
38727
|
-
'vbscript:': true
|
38728
|
-
};
|
38729
|
-
|
38730
|
-
var badTags = {
|
38731
|
-
'A': true,
|
38732
|
-
'BODY': true,
|
38733
|
-
'LINK': true,
|
38734
|
-
'IMG': true,
|
38735
|
-
'IFRAME': true
|
38736
|
-
};
|
38737
|
-
|
38738
|
-
var badAttributes = {
|
38739
|
-
'href': true,
|
38740
|
-
'src': true,
|
38741
|
-
'background': true
|
38742
|
-
};
|
38743
|
-
|
38744
|
-
function sanitizeAttributeValue(dom, element, attribute, value) {
|
38745
|
-
var tagName;
|
38746
|
-
|
38747
|
-
if (!element) {
|
38748
|
-
tagName = null;
|
38749
|
-
} else {
|
38750
|
-
tagName = element.tagName;
|
38751
|
-
}
|
38752
|
-
|
38753
|
-
if (value && value.toHTML) {
|
38754
|
-
return value.toHTML();
|
38755
|
-
}
|
38756
|
-
|
38757
|
-
if ((tagName === null || badTags[tagName]) && badAttributes[attribute]) {
|
38758
|
-
// Previously, we relied on creating a new `<a>` element and setting
|
38759
|
-
// its `href` in order to get the DOM to parse and extract its protocol.
|
38760
|
-
// Naive approaches to URL parsing are susceptible to all sorts of XSS
|
38761
|
-
// attacks.
|
38762
|
-
//
|
38763
|
-
// However, this approach does not work in environments without a DOM,
|
38764
|
-
// such as Node & FastBoot. We have extracted the logic for parsing to
|
38765
|
-
// the DOM helper, so that in locations without DOM, we can substitute
|
38766
|
-
// our own robust URL parsing.
|
38767
|
-
//
|
38768
|
-
// This will also allow us to use the new `URL` API in browsers that
|
38769
|
-
// support it, and skip the process of creating an element entirely.
|
38770
|
-
var protocol = dom.protocolForURL(value);
|
38771
|
-
if (badProtocols[protocol] === true) {
|
38772
|
-
return 'unsafe:' + value;
|
38773
|
-
}
|
38774
|
-
}
|
38775
|
-
|
38776
|
-
return value;
|
38777
|
-
}
|
38778
|
-
exports['default'] = sanitizeAttributeValue;
|
38779
|
-
|
38780
|
-
exports.badAttributes = badAttributes;
|
38781
|
-
|
38782
38946
|
});
|
38783
38947
|
enifed('ember-views/system/utils', ['exports'], function (exports) {
|
38784
38948
|
|
@@ -40258,8 +40422,11 @@ enifed('ember-views/views/metamorph_view', ['exports', 'ember-metal/core', 'embe
|
|
40258
40422
|
|
40259
40423
|
init: function() {
|
40260
40424
|
this._super.apply(this, arguments);
|
40261
|
-
Ember['default'].deprecate(
|
40262
|
-
|
40425
|
+
Ember['default'].deprecate(
|
40426
|
+
'Supplying a tagName to Metamorph views is unreliable and is deprecated.' +
|
40427
|
+
' You may be setting the tagName on a Handlebars helper that creates a Metamorph.',
|
40428
|
+
!this.tagName
|
40429
|
+
);
|
40263
40430
|
}
|
40264
40431
|
});
|
40265
40432
|
|
@@ -40288,7 +40455,7 @@ enifed('ember-views/views/select', ['exports', 'ember-metal/enumerable_utils', '
|
|
40288
40455
|
|
40289
40456
|
var selectOptionDefaultTemplate = {
|
40290
40457
|
isHTMLBars: true,
|
40291
|
-
revision: 'Ember@1.11.0
|
40458
|
+
revision: 'Ember@1.11.0',
|
40292
40459
|
render: function(context, env, contextualElement) {
|
40293
40460
|
var lazyValue = context.getStream('view.label');
|
40294
40461
|
|
@@ -42101,6 +42268,7 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-runtime/
|
|
42101
42268
|
@namespace Ember
|
42102
42269
|
@extends Ember.CoreView
|
42103
42270
|
*/
|
42271
|
+
// jscs:disable validateIndentation
|
42104
42272
|
var View = CoreView['default'].extend(
|
42105
42273
|
ViewStreamSupport['default'],
|
42106
42274
|
ViewKeywordSupport['default'],
|
@@ -42782,6 +42950,7 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-runtime/
|
|
42782
42950
|
return scheduledFn;
|
42783
42951
|
}
|
42784
42952
|
});
|
42953
|
+
// jscs:enable validateIndentation
|
42785
42954
|
|
42786
42955
|
deprecate_property.deprecateProperty(View.prototype, 'state', '_state');
|
42787
42956
|
deprecate_property.deprecateProperty(View.prototype, 'states', '_states');
|
@@ -42804,14 +42973,14 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-runtime/
|
|
42804
42973
|
on a destroyed view.
|
42805
42974
|
*/
|
42806
42975
|
|
42807
|
-
|
42976
|
+
// in the destroyed state, everything is illegal
|
42808
42977
|
|
42809
|
-
|
42978
|
+
// before rendering has begun, all legal manipulations are noops.
|
42810
42979
|
|
42811
|
-
|
42980
|
+
// inside the buffer, legal manipulations are done on the buffer
|
42812
42981
|
|
42813
|
-
|
42814
|
-
|
42982
|
+
// once the view has been inserted into the DOM, legal manipulations
|
42983
|
+
// are done on the DOM element.
|
42815
42984
|
|
42816
42985
|
var mutation = EmberObject['default'].extend(Evented['default']).create();
|
42817
42986
|
// TODO MOVE TO RENDERER HOOKS
|
@@ -42951,7 +43120,10 @@ enifed('ember', ['ember-metal', 'ember-runtime', 'ember-views', 'ember-routing',
|
|
42951
43120
|
@module ember
|
42952
43121
|
*/
|
42953
43122
|
|
42954
|
-
Ember.deprecate(
|
43123
|
+
Ember.deprecate(
|
43124
|
+
'Usage of Ember is deprecated for Internet Explorer 6 and 7, support will be removed in the next major version.',
|
43125
|
+
!environment['default'].userAgent.match(/MSIE [67]/)
|
43126
|
+
);
|
42955
43127
|
|
42956
43128
|
});
|
42957
43129
|
enifed("htmlbars-util",
|
@@ -43293,7 +43465,12 @@ enifed("morph-attr/sanitize-attribute-value",
|
|
43293
43465
|
'BODY': true,
|
43294
43466
|
'LINK': true,
|
43295
43467
|
'IMG': true,
|
43296
|
-
'IFRAME': true
|
43468
|
+
'IFRAME': true,
|
43469
|
+
'BASE': true
|
43470
|
+
};
|
43471
|
+
|
43472
|
+
var badTagsForDataURI = {
|
43473
|
+
'EMBED': true
|
43297
43474
|
};
|
43298
43475
|
|
43299
43476
|
var badAttributes = {
|
@@ -43302,13 +43479,17 @@ enifed("morph-attr/sanitize-attribute-value",
|
|
43302
43479
|
'background': true
|
43303
43480
|
};
|
43304
43481
|
__exports__.badAttributes = badAttributes;
|
43482
|
+
var badAttributesForDataURI = {
|
43483
|
+
'src': true
|
43484
|
+
};
|
43485
|
+
|
43305
43486
|
function sanitizeAttributeValue(dom, element, attribute, value) {
|
43306
43487
|
var tagName;
|
43307
43488
|
|
43308
43489
|
if (!element) {
|
43309
43490
|
tagName = null;
|
43310
43491
|
} else {
|
43311
|
-
tagName = element.tagName;
|
43492
|
+
tagName = element.tagName.toUpperCase();
|
43312
43493
|
}
|
43313
43494
|
|
43314
43495
|
if (value && value.toHTML) {
|
@@ -43322,6 +43503,10 @@ enifed("morph-attr/sanitize-attribute-value",
|
|
43322
43503
|
}
|
43323
43504
|
}
|
43324
43505
|
|
43506
|
+
if (badTagsForDataURI[tagName] && badAttributesForDataURI[attribute]) {
|
43507
|
+
return 'unsafe:' + value;
|
43508
|
+
}
|
43509
|
+
|
43325
43510
|
return value;
|
43326
43511
|
}
|
43327
43512
|
|
@@ -44639,7 +44824,17 @@ enifed("router/router",
|
|
44639
44824
|
|
44640
44825
|
var pop = Array.prototype.pop;
|
44641
44826
|
|
44642
|
-
function Router() {
|
44827
|
+
function Router(_options) {
|
44828
|
+
var options = _options || {};
|
44829
|
+
this.getHandler = options.getHandler || this.getHandler;
|
44830
|
+
this.updateURL = options.updateURL || this.updateURL;
|
44831
|
+
this.replaceURL = options.replaceURL || this.replaceURL;
|
44832
|
+
this.didTransition = options.didTransition || this.didTransition;
|
44833
|
+
this.willTransition = options.willTransition || this.willTransition;
|
44834
|
+
this.delegate = options.delegate || this.delegate;
|
44835
|
+
this.triggerEvent = options.triggerEvent || this.triggerEvent;
|
44836
|
+
this.log = options.log || this.log;
|
44837
|
+
|
44643
44838
|
this.recognizer = new RouteRecognizer();
|
44644
44839
|
this.reset();
|
44645
44840
|
}
|
@@ -44663,7 +44858,7 @@ enifed("router/router",
|
|
44663
44858
|
}
|
44664
44859
|
|
44665
44860
|
// No-op. No need to create a new transition.
|
44666
|
-
return new Transition(this);
|
44861
|
+
return this.activeTransition || new Transition(this);
|
44667
44862
|
}
|
44668
44863
|
|
44669
44864
|
if (isIntermediate) {
|
@@ -44723,6 +44918,8 @@ enifed("router/router",
|
|
44723
44918
|
return this.recognizer.hasRoute(route);
|
44724
44919
|
},
|
44725
44920
|
|
44921
|
+
getHandler: function() {},
|
44922
|
+
|
44726
44923
|
queryParamsTransition: function(changelist, wasTransitioning, oldState, newState) {
|
44727
44924
|
var router = this;
|
44728
44925
|
|
@@ -44984,16 +45181,7 @@ enifed("router/router",
|
|
44984
45181
|
|
44985
45182
|
@param {String} message The message to log.
|
44986
45183
|
*/
|
44987
|
-
log: null
|
44988
|
-
|
44989
|
-
_willChangeContextEvent: 'willChangeContext',
|
44990
|
-
_triggerWillChangeContext: function(handlerInfos, newTransition) {
|
44991
|
-
trigger(this, handlerInfos, true, [this._willChangeContextEvent, newTransition]);
|
44992
|
-
},
|
44993
|
-
|
44994
|
-
_triggerWillLeave: function(handlerInfos, newTransition, leavingChecker) {
|
44995
|
-
trigger(this, handlerInfos, true, ['willLeave', newTransition, leavingChecker]);
|
44996
|
-
}
|
45184
|
+
log: null
|
44997
45185
|
};
|
44998
45186
|
|
44999
45187
|
/**
|
@@ -45423,12 +45611,6 @@ enifed("router/router",
|
|
45423
45611
|
}
|
45424
45612
|
return false;
|
45425
45613
|
};
|
45426
|
-
|
45427
|
-
router._triggerWillLeave(leaving, newTransition, leavingChecker);
|
45428
|
-
}
|
45429
|
-
|
45430
|
-
if (changing.length > 0) {
|
45431
|
-
router._triggerWillChangeContext(changing, newTransition);
|
45432
45614
|
}
|
45433
45615
|
|
45434
45616
|
trigger(router, oldHandlers, true, ['willTransition', newTransition]);
|
@@ -45662,8 +45844,8 @@ enifed("router/transition-intent/named-transition-intent",
|
|
45662
45844
|
});
|
45663
45845
|
});
|
45664
45846
|
enifed("router/transition-intent/url-transition-intent",
|
45665
|
-
["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],
|
45666
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
45847
|
+
["../transition-intent","../transition-state","../handler-info/factory","../utils","./../unrecognized-url-error","exports"],
|
45848
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __exports__) {
|
45667
45849
|
"use strict";
|
45668
45850
|
var TransitionIntent = __dependency1__["default"];
|
45669
45851
|
var TransitionState = __dependency2__["default"];
|
@@ -45671,6 +45853,7 @@ enifed("router/transition-intent/url-transition-intent",
|
|
45671
45853
|
var oCreate = __dependency4__.oCreate;
|
45672
45854
|
var merge = __dependency4__.merge;
|
45673
45855
|
var subclass = __dependency4__.subclass;
|
45856
|
+
var UnrecognizedURLError = __dependency5__["default"];
|
45674
45857
|
|
45675
45858
|
__exports__["default"] = subclass(TransitionIntent, {
|
45676
45859
|
url: null,
|
@@ -45721,15 +45904,6 @@ enifed("router/transition-intent/url-transition-intent",
|
|
45721
45904
|
return newState;
|
45722
45905
|
}
|
45723
45906
|
});
|
45724
|
-
|
45725
|
-
/**
|
45726
|
-
Promise reject reasons passed to promise rejection
|
45727
|
-
handlers for failed transitions.
|
45728
|
-
*/
|
45729
|
-
function UnrecognizedURLError(message) {
|
45730
|
-
this.message = (message || "UnrecognizedURLError");
|
45731
|
-
this.name = "UnrecognizedURLError";
|
45732
|
-
}
|
45733
45907
|
});
|
45734
45908
|
enifed("router/transition-state",
|
45735
45909
|
["./handler-info","./utils","rsvp/promise","exports"],
|
@@ -46159,6 +46333,26 @@ enifed("router/transition",
|
|
46159
46333
|
__exports__.logAbort = logAbort;
|
46160
46334
|
__exports__.TransitionAborted = TransitionAborted;
|
46161
46335
|
});
|
46336
|
+
enifed("router/unrecognized-url-error",
|
46337
|
+
["./utils","exports"],
|
46338
|
+
function(__dependency1__, __exports__) {
|
46339
|
+
"use strict";
|
46340
|
+
var oCreate = __dependency1__.oCreate;
|
46341
|
+
|
46342
|
+
/**
|
46343
|
+
Promise reject reasons passed to promise rejection
|
46344
|
+
handlers for failed transitions.
|
46345
|
+
*/
|
46346
|
+
function UnrecognizedURLError(message) {
|
46347
|
+
this.message = (message || "UnrecognizedURLError");
|
46348
|
+
this.name = "UnrecognizedURLError";
|
46349
|
+
Error.call(this);
|
46350
|
+
}
|
46351
|
+
|
46352
|
+
UnrecognizedURLError.prototype = oCreate(Error.prototype);
|
46353
|
+
|
46354
|
+
__exports__["default"] = UnrecognizedURLError;
|
46355
|
+
});
|
46162
46356
|
enifed("router/utils",
|
46163
46357
|
["exports"],
|
46164
46358
|
function(__exports__) {
|