ember-source 1.11.0.beta.5 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf40b130aeb16cc59d91da79eb827a6704d3050a
|
4
|
+
data.tar.gz: 93e0f02400142fa1a7c2944cda6d8b608105554a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83e62dc1f91685a7dd8b81416e7cb613c79bc872ee73440fbe81506bfe19a19870cc368feb3ba8772214501cea2550b144f7aca471c48bbcd30b1c18df47642a
|
7
|
+
data.tar.gz: b78f47dd605d9f3ffc37d98ddd47673bb360496161cf7c0d1a5c5147f85e293934a4c8be2db4b869602bff98cbd07724ef7edc5d5a6ce5ecbf4d6da54185c649
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.11.0
|
1
|
+
1.11.0
|
data/dist/ember-runtime.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() {
|
@@ -1154,6 +1154,7 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/keys'
|
|
1154
1154
|
|
1155
1155
|
@property _registry
|
1156
1156
|
@type Registry
|
1157
|
+
@since 1.11.0
|
1157
1158
|
*/
|
1158
1159
|
_registry: null,
|
1159
1160
|
|
@@ -1499,6 +1500,7 @@ enifed('container/registry', ['exports', 'ember-metal/core', 'ember-metal/dictio
|
|
1499
1500
|
|
1500
1501
|
@private
|
1501
1502
|
@class Registry
|
1503
|
+
@since 1.11.0
|
1502
1504
|
*/
|
1503
1505
|
function Registry(options) {
|
1504
1506
|
this.fallback = options && options.fallback ? options.fallback : null;
|
@@ -1614,7 +1616,7 @@ enifed('container/registry', ['exports', 'ember-metal/core', 'ember-metal/dictio
|
|
1614
1616
|
@property _defaultContainer
|
1615
1617
|
@type Container
|
1616
1618
|
*/
|
1617
|
-
|
1619
|
+
_defaultContainer: null,
|
1618
1620
|
|
1619
1621
|
/**
|
1620
1622
|
Creates a container based on this registry.
|
@@ -4804,8 +4806,8 @@ enifed('ember-metal/computed_macros', ['exports', 'ember-metal/core', 'ember-met
|
|
4804
4806
|
This is a more semantically meaningful alias of `computed.oneWay`,
|
4805
4807
|
whose name is somewhat ambiguous as to which direction the data flows.
|
4806
4808
|
|
4807
|
-
@method
|
4808
|
-
@for Ember
|
4809
|
+
@method reads
|
4810
|
+
@for Ember.computed
|
4809
4811
|
@param {String} dependentKey
|
4810
4812
|
@return {Ember.ComputedProperty} computed property which creates a
|
4811
4813
|
one way computed property to the original value for property.
|
@@ -4947,7 +4949,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
4947
4949
|
|
4948
4950
|
@class Ember
|
4949
4951
|
@static
|
4950
|
-
@version 1.11.0
|
4952
|
+
@version 1.11.0
|
4951
4953
|
*/
|
4952
4954
|
|
4953
4955
|
if ('undefined' === typeof Ember) {
|
@@ -4975,10 +4977,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
4975
4977
|
/**
|
4976
4978
|
@property VERSION
|
4977
4979
|
@type String
|
4978
|
-
@default '1.11.0
|
4980
|
+
@default '1.11.0'
|
4979
4981
|
@static
|
4980
4982
|
*/
|
4981
|
-
Ember.VERSION = '1.11.0
|
4983
|
+
Ember.VERSION = '1.11.0';
|
4982
4984
|
|
4983
4985
|
/**
|
4984
4986
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -5142,7 +5144,7 @@ enifed('ember-metal/dependent_keys', ['exports', 'ember-metal/platform/create',
|
|
5142
5144
|
// Remove "use strict"; from transpiled module until
|
5143
5145
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
5144
5146
|
//
|
5145
|
-
|
5147
|
+
"REMOVE_USE_STRICT: true";
|
5146
5148
|
|
5147
5149
|
function keysForDep(depsMeta, depKey) {
|
5148
5150
|
var keys = depsMeta[depKey];
|
@@ -5597,7 +5599,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/core', 'ember-metal/utils'
|
|
5597
5599
|
// Remove "use strict"; from transpiled module until
|
5598
5600
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
5599
5601
|
//
|
5600
|
-
|
5602
|
+
"REMOVE_USE_STRICT: true";
|
5601
5603
|
|
5602
5604
|
/**
|
5603
5605
|
@module ember-metal
|
@@ -7221,7 +7223,7 @@ enifed('ember-metal/mixin', ['exports', 'ember-metal/core', 'ember-metal/merge',
|
|
7221
7223
|
// Remove "use strict"; from transpiled module until
|
7222
7224
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
7223
7225
|
//
|
7224
|
-
|
7226
|
+
"REMOVE_USE_STRICT: true";
|
7225
7227
|
|
7226
7228
|
/**
|
7227
7229
|
@module ember
|
@@ -8364,8 +8366,7 @@ enifed('ember-metal/platform/create', ['exports', 'ember-metal/platform/define_p
|
|
8364
8366
|
// Remove "use strict"; from transpiled module until
|
8365
8367
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
8366
8368
|
//
|
8367
|
-
|
8368
|
-
//
|
8369
|
+
"REMOVE_USE_STRICT: true";
|
8369
8370
|
|
8370
8371
|
var create;
|
8371
8372
|
// ES5 15.2.3.5
|
@@ -8581,7 +8582,7 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
8581
8582
|
})();
|
8582
8583
|
|
8583
8584
|
if (!canDefinePropertyOnDOM) {
|
8584
|
-
defineProperty = function(obj, keyName, desc) {
|
8585
|
+
exports.defineProperty = defineProperty = function(obj, keyName, desc) {
|
8585
8586
|
var isNode;
|
8586
8587
|
|
8587
8588
|
if (typeof Node === "object") {
|
@@ -8601,7 +8602,7 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
8601
8602
|
}
|
8602
8603
|
|
8603
8604
|
if (!hasES5CompliantDefineProperty) {
|
8604
|
-
defineProperty = function definePropertyPolyfill(obj, keyName, desc) {
|
8605
|
+
exports.defineProperty = defineProperty = function definePropertyPolyfill(obj, keyName, desc) {
|
8605
8606
|
if (!desc.get) { obj[keyName] = desc.value; }
|
8606
8607
|
};
|
8607
8608
|
}
|
@@ -8610,7 +8611,6 @@ enifed('ember-metal/platform/define_property', ['exports'], function (exports) {
|
|
8610
8611
|
var canDefineNonEnumerableProperties = hasES5CompliantDefineProperty;
|
8611
8612
|
|
8612
8613
|
exports.hasES5CompliantDefineProperty = hasES5CompliantDefineProperty;
|
8613
|
-
exports.defineProperty = defineProperty;
|
8614
8614
|
exports.hasPropertyAccessors = hasPropertyAccessors;
|
8615
8615
|
exports.canDefineNonEnumerableProperties = canDefineNonEnumerableProperties;
|
8616
8616
|
|
@@ -10602,7 +10602,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
10602
10602
|
// Remove "use strict"; from transpiled module until
|
10603
10603
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
10604
10604
|
//
|
10605
|
-
|
10605
|
+
"REMOVE_USE_STRICT: true";
|
10606
10606
|
|
10607
10607
|
var _uuid = 0;
|
10608
10608
|
|
@@ -11238,7 +11238,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
11238
11238
|
|
11239
11239
|
var tryFinally;
|
11240
11240
|
if (needsFinallyFix) {
|
11241
|
-
tryFinally = function(tryable, finalizer, binding) {
|
11241
|
+
exports.tryFinally = tryFinally = function(tryable, finalizer, binding) {
|
11242
11242
|
var result, finalResult, finalError;
|
11243
11243
|
|
11244
11244
|
binding = binding || this;
|
@@ -11258,7 +11258,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
11258
11258
|
return (finalResult === undefined) ? result : finalResult;
|
11259
11259
|
};
|
11260
11260
|
} else {
|
11261
|
-
tryFinally = function(tryable, finalizer, binding) {
|
11261
|
+
exports.tryFinally = tryFinally = function(tryable, finalizer, binding) {
|
11262
11262
|
var result, finalResult;
|
11263
11263
|
|
11264
11264
|
binding = binding || this;
|
@@ -11314,7 +11314,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
11314
11314
|
*/
|
11315
11315
|
var tryCatchFinally;
|
11316
11316
|
if (needsFinallyFix) {
|
11317
|
-
tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
11317
|
+
exports.tryCatchFinally = tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
11318
11318
|
var result, finalResult, finalError;
|
11319
11319
|
|
11320
11320
|
binding = binding || this;
|
@@ -11336,7 +11336,7 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
11336
11336
|
return (finalResult === undefined) ? result : finalResult;
|
11337
11337
|
};
|
11338
11338
|
} else {
|
11339
|
-
tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
11339
|
+
exports.tryCatchFinally = tryCatchFinally = function(tryable, catchable, finalizer, binding) {
|
11340
11340
|
var result, finalResult;
|
11341
11341
|
|
11342
11342
|
binding = binding || this;
|
@@ -11534,8 +11534,6 @@ enifed('ember-metal/utils', ['exports', 'ember-metal/core', 'ember-metal/platfor
|
|
11534
11534
|
exports.GUID_KEY = GUID_KEY;
|
11535
11535
|
exports.META_DESC = META_DESC;
|
11536
11536
|
exports.EMPTY_META = EMPTY_META;
|
11537
|
-
exports.tryCatchFinally = tryCatchFinally;
|
11538
|
-
exports.tryFinally = tryFinally;
|
11539
11537
|
|
11540
11538
|
});
|
11541
11539
|
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) {
|
@@ -13804,7 +13802,7 @@ enifed('ember-runtime/computed/reduce_computed_macros', ['exports', 'ember-metal
|
|
13804
13802
|
exports.union = union;
|
13805
13803
|
|
13806
13804
|
});
|
13807
|
-
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) {
|
13805
|
+
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) {
|
13808
13806
|
|
13809
13807
|
'use strict';
|
13810
13808
|
|
@@ -13914,7 +13912,12 @@ enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/co
|
|
13914
13912
|
this._subControllers = [];
|
13915
13913
|
},
|
13916
13914
|
|
13917
|
-
model: computed.computed(function () {
|
13915
|
+
model: computed.computed(function (key, value) {
|
13916
|
+
if (arguments.length > 1) {
|
13917
|
+
|
13918
|
+
return value;
|
13919
|
+
}
|
13920
|
+
|
13918
13921
|
return Ember['default'].A();
|
13919
13922
|
}),
|
13920
13923
|
|
@@ -14022,8 +14025,9 @@ enifed('ember-runtime/controllers/controller', ['exports', 'ember-metal/core', '
|
|
14022
14025
|
});
|
14023
14026
|
```
|
14024
14027
|
|
14025
|
-
@method
|
14026
|
-
@
|
14028
|
+
@method controller
|
14029
|
+
@since 1.10.0
|
14030
|
+
@for Ember.inject
|
14027
14031
|
@param {String} name (optional) name of the controller to inject, defaults
|
14028
14032
|
to the property's name
|
14029
14033
|
@return {Ember.InjectedProperty} injection descriptor instance
|
@@ -14061,6 +14065,8 @@ enifed('ember-runtime/controllers/object_controller', ['exports', 'ember-metal/c
|
|
14061
14065
|
**/
|
14062
14066
|
exports['default'] = ObjectProxy['default'].extend(ControllerMixin['default'], {
|
14063
14067
|
init: function() {
|
14068
|
+
this._super();
|
14069
|
+
|
14064
14070
|
}
|
14065
14071
|
});
|
14066
14072
|
|
@@ -14439,13 +14445,13 @@ enifed('ember-runtime/ext/rsvp', ['exports', 'ember-metal/core', 'ember-metal/lo
|
|
14439
14445
|
|
14440
14446
|
if (Ember['default'].testing && async) { asyncStart(); }
|
14441
14447
|
|
14442
|
-
run['default'].backburner.schedule('actions', function(){
|
14448
|
+
run['default'].backburner.schedule('actions', function() {
|
14443
14449
|
if (Ember['default'].testing && async) { asyncEnd(); }
|
14444
14450
|
callback(promise);
|
14445
14451
|
});
|
14446
14452
|
});
|
14447
14453
|
|
14448
|
-
RSVP.Promise.prototype.fail = function(callback, label){
|
14454
|
+
RSVP.Promise.prototype.fail = function(callback, label) {
|
14449
14455
|
return this['catch'](callback, label);
|
14450
14456
|
};
|
14451
14457
|
|
@@ -14614,7 +14620,8 @@ enifed('ember-runtime/inject', ['exports', 'ember-metal/core', 'ember-metal/enum
|
|
14614
14620
|
|
14615
14621
|
@private
|
14616
14622
|
@method createInjectionHelper
|
14617
|
-
@
|
14623
|
+
@since 1.10.0
|
14624
|
+
@for Ember
|
14618
14625
|
@param {String} type The container type the helper will inject
|
14619
14626
|
@param {Function} validator A validation callback that is executed at mixin-time
|
14620
14627
|
*/
|
@@ -14632,7 +14639,8 @@ enifed('ember-runtime/inject', ['exports', 'ember-metal/core', 'ember-metal/enum
|
|
14632
14639
|
|
14633
14640
|
@private
|
14634
14641
|
@method validatePropertyInjections
|
14635
|
-
@
|
14642
|
+
@since 1.10.0
|
14643
|
+
@for Ember
|
14636
14644
|
@param {Object} factory The factory object
|
14637
14645
|
*/
|
14638
14646
|
function validatePropertyInjections(factory) {
|
@@ -18853,7 +18861,7 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-metal', 'ember-met
|
|
18853
18861
|
// Remove "use strict"; from transpiled module until
|
18854
18862
|
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
18855
18863
|
//
|
18856
|
-
|
18864
|
+
"REMOVE_USE_STRICT: true";
|
18857
18865
|
|
18858
18866
|
/**
|
18859
18867
|
@module ember
|
@@ -20289,7 +20297,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
|
|
20289
20297
|
}
|
20290
20298
|
});
|
20291
20299
|
|
20292
|
-
NativeArray = NativeArray.without.apply(NativeArray, ignore);
|
20300
|
+
exports.NativeArray = NativeArray = NativeArray.without.apply(NativeArray, ignore);
|
20293
20301
|
|
20294
20302
|
/**
|
20295
20303
|
Creates an `Ember.NativeArray` from an Array like object.
|
@@ -20346,7 +20354,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
|
|
20346
20354
|
NativeArray.activate = function() {
|
20347
20355
|
NativeArray.apply(Array.prototype);
|
20348
20356
|
|
20349
|
-
A = function(arr) { return arr || []; };
|
20357
|
+
exports.A = A = function(arr) { return arr || []; };
|
20350
20358
|
};
|
20351
20359
|
|
20352
20360
|
if (Ember['default'].EXTEND_PROTOTYPES === true || Ember['default'].EXTEND_PROTOTYPES.Array) {
|
@@ -20357,7 +20365,6 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb
|
|
20357
20365
|
exports['default'] = NativeArray;
|
20358
20366
|
|
20359
20367
|
exports.A = A;
|
20360
|
-
exports.NativeArray = NativeArray;
|
20361
20368
|
|
20362
20369
|
});
|
20363
20370
|
enifed('ember-runtime/system/object', ['exports', 'ember-runtime/system/core_object', 'ember-runtime/mixins/observable'], function (exports, CoreObject, Observable) {
|
@@ -20394,6 +20401,7 @@ enifed('ember-runtime/system/service', ['exports', 'ember-runtime/system/object'
|
|
20394
20401
|
@class Service
|
20395
20402
|
@namespace Ember
|
20396
20403
|
@extends Ember.Object
|
20404
|
+
@since 1.10.0
|
20397
20405
|
*/
|
20398
20406
|
exports['default'] = Object['default'].extend();
|
20399
20407
|
|
@@ -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() {
|
@@ -133,7 +133,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
133
133
|
|
134
134
|
@class Ember
|
135
135
|
@static
|
136
|
-
@version 1.11.0
|
136
|
+
@version 1.11.0
|
137
137
|
*/
|
138
138
|
|
139
139
|
if ('undefined' === typeof Ember) {
|
@@ -161,10 +161,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
|
|
161
161
|
/**
|
162
162
|
@property VERSION
|
163
163
|
@type String
|
164
|
-
@default '1.11.0
|
164
|
+
@default '1.11.0'
|
165
165
|
@static
|
166
166
|
*/
|
167
|
-
Ember.VERSION = '1.11.0
|
167
|
+
Ember.VERSION = '1.11.0';
|
168
168
|
|
169
169
|
/**
|
170
170
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -595,7 +595,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
|
|
595
595
|
var disableComponentGeneration = true;
|
596
596
|
|
597
597
|
return {
|
598
|
-
revision: 'Ember@1.11.0
|
598
|
+
revision: 'Ember@1.11.0',
|
599
599
|
|
600
600
|
disableComponentGeneration: disableComponentGeneration,
|
601
601
|
|
@@ -750,33 +750,7 @@ enifed("htmlbars-compiler/compiler",
|
|
750
750
|
return template(compileSpec(string, options));
|
751
751
|
}
|
752
752
|
|
753
|
-
__exports__.compile = compile
|
754
|
-
* Compile a string into a template spec string. The template spec is a string
|
755
|
-
* representation of a template. Usually, you would use compileSpec for
|
756
|
-
* pre-compilation of a template on the server.
|
757
|
-
*
|
758
|
-
* Example usage:
|
759
|
-
*
|
760
|
-
* var templateSpec = compileSpec("Howdy {{name}}");
|
761
|
-
* // This next step is basically what plain compile does
|
762
|
-
* var template = new Function("return " + templateSpec)();
|
763
|
-
*
|
764
|
-
* @method compileSpec
|
765
|
-
* @param {String} string An htmlbars template string
|
766
|
-
* @return {Function} A template spec string
|
767
|
-
*/
|
768
|
-
function compileSpec(string, options) {
|
769
|
-
var ast = preprocess(string, options);
|
770
|
-
var compiler = new TemplateCompiler(options);
|
771
|
-
var program = compiler.compile(ast);
|
772
|
-
return program;
|
773
|
-
}
|
774
|
-
|
775
|
-
__exports__.compileSpec = compileSpec;function template(program) {
|
776
|
-
return new Function("return " + program)();
|
777
|
-
}
|
778
|
-
|
779
|
-
__exports__.template = template;
|
753
|
+
__exports__.compile = compile;
|
780
754
|
});
|
781
755
|
enifed("htmlbars-compiler/fragment-javascript-compiler",
|
782
756
|
["./utils","../htmlbars-util/quoting","exports"],
|
@@ -1360,7 +1334,7 @@ enifed("htmlbars-compiler/hydration-opcode-compiler",
|
|
1360
1334
|
this.currentDOMChildIndex = -1;
|
1361
1335
|
|
1362
1336
|
forEach(element.attributes, this.attribute, this);
|
1363
|
-
forEach(element.
|
1337
|
+
forEach(element.modifiers, this.elementModifier, this);
|
1364
1338
|
};
|
1365
1339
|
|
1366
1340
|
HydrationOpcodeCompiler.prototype.closeElement = function() {
|
@@ -1467,8 +1441,8 @@ enifed("htmlbars-compiler/hydration-opcode-compiler",
|
|
1467
1441
|
this.opcode('printAttributeHook', attrMorphNum, this.elementNum);
|
1468
1442
|
};
|
1469
1443
|
|
1470
|
-
HydrationOpcodeCompiler.prototype.
|
1471
|
-
prepareSexpr(this, sexpr);
|
1444
|
+
HydrationOpcodeCompiler.prototype.elementModifier = function(modifier) {
|
1445
|
+
prepareSexpr(this, modifier.sexpr);
|
1472
1446
|
|
1473
1447
|
// If we have a helper in a node, and this element has not been cached, cache it
|
1474
1448
|
if (this.element !== null) {
|
@@ -1581,7 +1555,7 @@ enifed("htmlbars-compiler/template-compiler",
|
|
1581
1555
|
|
1582
1556
|
function TemplateCompiler(options) {
|
1583
1557
|
this.options = options || {};
|
1584
|
-
this.revision = this.options.revision || "HTMLBars@v0.11.
|
1558
|
+
this.revision = this.options.revision || "HTMLBars@v0.11.2";
|
1585
1559
|
this.fragmentOpcodeCompiler = new FragmentOpcodeCompiler();
|
1586
1560
|
this.fragmentCompiler = new FragmentJavaScriptCompiler();
|
1587
1561
|
this.hydrationOpcodeCompiler = new HydrationOpcodeCompiler();
|
@@ -1855,7 +1829,7 @@ enifed("htmlbars-compiler/template-visitor",
|
|
1855
1829
|
elementFrame.parentNode = element;
|
1856
1830
|
elementFrame.children = element.children;
|
1857
1831
|
elementFrame.childCount = element.children.length;
|
1858
|
-
elementFrame.mustacheCount += element.
|
1832
|
+
elementFrame.mustacheCount += element.modifiers.length;
|
1859
1833
|
elementFrame.blankChildTextNodes = [];
|
1860
1834
|
|
1861
1835
|
var actionArgs = [
|
@@ -2198,22 +2172,28 @@ enifed("htmlbars-syntax/builders",
|
|
2198
2172
|
};
|
2199
2173
|
}
|
2200
2174
|
|
2201
|
-
__exports__.buildComment = buildComment;
|
2202
|
-
function buildConcat(parts) {
|
2175
|
+
__exports__.buildComment = buildComment;function buildConcat(parts) {
|
2203
2176
|
return {
|
2204
2177
|
type: "ConcatStatement",
|
2205
2178
|
parts: parts || []
|
2206
2179
|
};
|
2207
2180
|
}
|
2208
2181
|
|
2209
|
-
__exports__.buildConcat = buildConcat
|
2182
|
+
__exports__.buildConcat = buildConcat;function buildElementModifier(sexpr) {
|
2183
|
+
return {
|
2184
|
+
type: "ElementModifierStatement",
|
2185
|
+
sexpr: sexpr
|
2186
|
+
};
|
2187
|
+
}
|
2210
2188
|
|
2211
|
-
|
2189
|
+
__exports__.buildElementModifier = buildElementModifier;// Nodes
|
2190
|
+
|
2191
|
+
function buildElement(tag, attributes, modifiers, children) {
|
2212
2192
|
return {
|
2213
2193
|
type: "ElementNode",
|
2214
2194
|
tag: tag,
|
2215
2195
|
attributes: attributes || [],
|
2216
|
-
|
2196
|
+
modifiers: modifiers || [],
|
2217
2197
|
children: children || []
|
2218
2198
|
};
|
2219
2199
|
}
|
@@ -2316,6 +2296,7 @@ enifed("htmlbars-syntax/builders",
|
|
2316
2296
|
partial: buildPartial,
|
2317
2297
|
comment: buildComment,
|
2318
2298
|
element: buildElement,
|
2299
|
+
elementModifier: buildElementModifier,
|
2319
2300
|
component: buildComponent,
|
2320
2301
|
attr: buildAttr,
|
2321
2302
|
text: buildText,
|
@@ -3877,7 +3858,7 @@ enifed("htmlbars-syntax/token-handlers",
|
|
3877
3858
|
},
|
3878
3859
|
|
3879
3860
|
StartTag: function(tag) {
|
3880
|
-
var element = buildElement(tag.tagName, tag.attributes, tag.
|
3861
|
+
var element = buildElement(tag.tagName, tag.attributes, tag.modifiers || [], []);
|
3881
3862
|
element.loc = {
|
3882
3863
|
start: { line: tag.firstLine, column: tag.firstColumn},
|
3883
3864
|
end: { line: null, column: null}
|
@@ -3903,20 +3884,20 @@ enifed("htmlbars-syntax/token-handlers",
|
|
3903
3884
|
switch(tokenizer.state) {
|
3904
3885
|
// Tag helpers
|
3905
3886
|
case "tagName":
|
3906
|
-
tokenizer.
|
3887
|
+
tokenizer.addElementModifier(mustache);
|
3907
3888
|
tokenizer.state = "beforeAttributeName";
|
3908
3889
|
return;
|
3909
3890
|
case "beforeAttributeName":
|
3910
|
-
tokenizer.
|
3891
|
+
tokenizer.addElementModifier(mustache);
|
3911
3892
|
return;
|
3912
3893
|
case "attributeName":
|
3913
3894
|
case "afterAttributeName":
|
3914
3895
|
tokenizer.finalizeAttributeValue();
|
3915
|
-
tokenizer.
|
3896
|
+
tokenizer.addElementModifier(mustache);
|
3916
3897
|
tokenizer.state = "beforeAttributeName";
|
3917
3898
|
return;
|
3918
3899
|
case "afterAttributeValueQuoted":
|
3919
|
-
tokenizer.
|
3900
|
+
tokenizer.addElementModifier(mustache);
|
3920
3901
|
tokenizer.state = "beforeAttributeName";
|
3921
3902
|
return;
|
3922
3903
|
|
@@ -4043,9 +4024,13 @@ enifed("htmlbars-syntax/tokenizer",
|
|
4043
4024
|
}
|
4044
4025
|
};
|
4045
4026
|
|
4046
|
-
Tokenizer.prototype.
|
4047
|
-
|
4048
|
-
|
4027
|
+
Tokenizer.prototype.addElementModifier = function(mustache) {
|
4028
|
+
if (!this.token.modifiers) {
|
4029
|
+
this.token.modifiers = [];
|
4030
|
+
}
|
4031
|
+
|
4032
|
+
var modifier = builders.elementModifier(mustache.sexpr);
|
4033
|
+
this.token.modifiers.push(modifier);
|
4049
4034
|
};
|
4050
4035
|
|
4051
4036
|
function prepareAttributeValue(attr) {
|