ember-source 2.5.0.beta.1 → 2.5.0.beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +20 -24
- data/dist/ember-template-compiler.js +93 -25
- data/dist/ember-testing.js +3 -6
- data/dist/ember.debug.js +290 -199
- data/dist/ember.js +290 -199
- data/dist/ember.min.js +15 -15
- data/dist/ember.prod.js +280 -181
- metadata +2 -2
data/dist/ember.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
7
7
|
* @license Licensed under MIT license
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
9
|
-
* @version 2.5.0-beta.
|
9
|
+
* @version 2.5.0-beta.4
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, require, requirejs, Ember;
|
@@ -1322,14 +1322,12 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug
|
|
1322
1322
|
function lookup(container, fullName) {
|
1323
1323
|
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
|
1324
1324
|
|
1325
|
-
if (
|
1326
|
-
|
1327
|
-
fullName = container.registry.expandLocalLookup(fullName, options);
|
1325
|
+
if (options.source) {
|
1326
|
+
fullName = container.registry.expandLocalLookup(fullName, options);
|
1328
1327
|
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
}
|
1328
|
+
// if expandLocalLookup returns falsey, we do not support local lookup
|
1329
|
+
if (!fullName) {
|
1330
|
+
return;
|
1333
1331
|
}
|
1334
1332
|
}
|
1335
1333
|
|
@@ -1391,14 +1389,12 @@ enifed('container/container', ['exports', 'ember-metal/core', 'ember-metal/debug
|
|
1391
1389
|
|
1392
1390
|
var registry = container.registry;
|
1393
1391
|
|
1394
|
-
if (
|
1395
|
-
|
1396
|
-
fullName = registry.expandLocalLookup(fullName, options);
|
1392
|
+
if (options.source) {
|
1393
|
+
fullName = registry.expandLocalLookup(fullName, options);
|
1397
1394
|
|
1398
|
-
|
1399
|
-
|
1400
|
-
|
1401
|
-
}
|
1395
|
+
// if expandLocalLookup returns falsey, we do not support local lookup
|
1396
|
+
if (!fullName) {
|
1397
|
+
return;
|
1402
1398
|
}
|
1403
1399
|
}
|
1404
1400
|
|
@@ -2003,9 +1999,8 @@ enifed('container/registry', ['exports', 'ember-metal/features', 'ember-metal/de
|
|
2003
1999
|
_emberMetalDebug.assert('fullName must be a proper full name', this.validateFullName(fullName));
|
2004
2000
|
|
2005
2001
|
var source = undefined;
|
2006
|
-
|
2007
|
-
|
2008
|
-
}
|
2002
|
+
|
2003
|
+
source = options && options.source && this.normalize(options.source);
|
2009
2004
|
|
2010
2005
|
return has(this, this.normalize(fullName), source);
|
2011
2006
|
},
|
@@ -2373,39 +2368,37 @@ enifed('container/registry', ['exports', 'ember-metal/features', 'ember-metal/de
|
|
2373
2368
|
};
|
2374
2369
|
}
|
2375
2370
|
|
2376
|
-
|
2377
|
-
|
2378
|
-
|
2379
|
-
|
2380
|
-
|
2381
|
-
|
2382
|
-
|
2383
|
-
|
2384
|
-
|
2385
|
-
|
2386
|
-
|
2387
|
-
|
2388
|
-
|
2389
|
-
|
2390
|
-
|
2391
|
-
|
2392
|
-
|
2393
|
-
|
2394
|
-
|
2395
|
-
|
2396
|
-
|
2397
|
-
|
2398
|
-
|
2399
|
-
|
2400
|
-
|
2401
|
-
|
2402
|
-
|
2403
|
-
|
2404
|
-
|
2405
|
-
|
2406
|
-
|
2407
|
-
};
|
2408
|
-
}
|
2371
|
+
/**
|
2372
|
+
Given a fullName and a source fullName returns the fully resolved
|
2373
|
+
fullName. Used to allow for local lookup.
|
2374
|
+
```javascript
|
2375
|
+
var registry = new Registry();
|
2376
|
+
// the twitter factory is added to the module system
|
2377
|
+
registry.expandLocalLookup('component:post-title', { source: 'template:post' }) // => component:post/post-title
|
2378
|
+
```
|
2379
|
+
@private
|
2380
|
+
@method expandLocalLookup
|
2381
|
+
@param {String} fullName
|
2382
|
+
@param {Object} [options]
|
2383
|
+
@param {String} [options.source] the fullname of the request source (used for local lookups)
|
2384
|
+
@return {String} fullName
|
2385
|
+
*/
|
2386
|
+
Registry.prototype.expandLocalLookup = function Registry_expandLocalLookup(fullName, options) {
|
2387
|
+
if (this.resolver && this.resolver.expandLocalLookup) {
|
2388
|
+
_emberMetalDebug.assert('fullName must be a proper full name', this.validateFullName(fullName));
|
2389
|
+
_emberMetalDebug.assert('options.source must be provided to expandLocalLookup', options && options.source);
|
2390
|
+
_emberMetalDebug.assert('options.source must be a proper full name', this.validateFullName(options.source));
|
2391
|
+
|
2392
|
+
var normalizedFullName = this.normalize(fullName);
|
2393
|
+
var normalizedSource = this.normalize(options.source);
|
2394
|
+
|
2395
|
+
return expandLocalLookup(this, normalizedFullName, normalizedSource);
|
2396
|
+
} else if (this.fallback) {
|
2397
|
+
return this.fallback.expandLocalLookup(fullName, options);
|
2398
|
+
} else {
|
2399
|
+
return null;
|
2400
|
+
}
|
2401
|
+
};
|
2409
2402
|
|
2410
2403
|
function expandLocalLookup(registry, normalizedName, normalizedSource) {
|
2411
2404
|
var cache = registry._localLookupCache;
|
@@ -2427,16 +2420,14 @@ enifed('container/registry', ['exports', 'ember-metal/features', 'ember-metal/de
|
|
2427
2420
|
}
|
2428
2421
|
|
2429
2422
|
function resolve(registry, normalizedName, options) {
|
2430
|
-
if (
|
2431
|
-
|
2432
|
-
|
2433
|
-
|
2434
|
-
|
2435
|
-
|
2436
|
-
|
2437
|
-
|
2438
|
-
return;
|
2439
|
-
}
|
2423
|
+
if (options && options.source) {
|
2424
|
+
// when `source` is provided expand normalizedName
|
2425
|
+
// and source into the full normalizedName
|
2426
|
+
normalizedName = registry.expandLocalLookup(normalizedName, options);
|
2427
|
+
|
2428
|
+
// if expandLocalLookup returns falsey, we do not support local lookup
|
2429
|
+
if (!normalizedName) {
|
2430
|
+
return;
|
2440
2431
|
}
|
2441
2432
|
}
|
2442
2433
|
|
@@ -3743,15 +3734,6 @@ enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/f
|
|
3743
3734
|
_emberMetalCore.default.Resolver = _emberApplicationSystemResolver.Resolver;
|
3744
3735
|
_emberMetalCore.default.DefaultResolver = _emberApplicationSystemResolver.default;
|
3745
3736
|
|
3746
|
-
if (_emberMetalFeatures.default('ember-application-engines')) {
|
3747
|
-
_emberMetalCore.default.Engine = _emberApplicationSystemEngine.default;
|
3748
|
-
|
3749
|
-
// Expose `EngineInstance` and `ApplicationInstance` for easy overriding.
|
3750
|
-
// Reanalyze whether to continue exposing these after feature flag is removed.
|
3751
|
-
_emberMetalCore.default.EngineInstance = _emberApplicationSystemEngineInstance.default;
|
3752
|
-
_emberMetalCore.default.ApplicationInstance = _emberApplicationSystemApplicationInstance.default;
|
3753
|
-
}
|
3754
|
-
|
3755
3737
|
_emberRuntimeSystemLazy_load.runLoadHooks('Ember.Application', _emberApplicationSystemApplication.default);
|
3756
3738
|
});
|
3757
3739
|
|
@@ -3759,6 +3741,9 @@ enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/f
|
|
3759
3741
|
@module ember
|
3760
3742
|
@submodule ember-application
|
3761
3743
|
*/
|
3744
|
+
|
3745
|
+
// Expose `EngineInstance` and `ApplicationInstance` for easy overriding.
|
3746
|
+
// Reanalyze whether to continue exposing these after feature flag is removed.
|
3762
3747
|
enifed('ember-application/system/application-instance', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/run_loop', 'ember-metal/computed', 'ember-htmlbars/system/dom-helper', 'ember-runtime/mixins/registry_proxy', 'ember-metal-views', 'ember-metal/assign', 'ember-metal/environment', 'ember-runtime/ext/rsvp', 'ember-views/system/jquery', 'ember-application/system/engine-instance'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalRun_loop, _emberMetalComputed, _emberHtmlbarsSystemDomHelper, _emberRuntimeMixinsRegistry_proxy, _emberMetalViews, _emberMetalAssign, _emberMetalEnvironment, _emberRuntimeExtRsvp, _emberViewsSystemJquery, _emberApplicationSystemEngineInstance) {
|
3763
3748
|
/**
|
3764
3749
|
@module ember
|
@@ -4256,8 +4241,20 @@ enifed('ember-application/system/application', ['exports', 'ember-metal', 'ember
|
|
4256
4241
|
*/
|
4257
4242
|
'use strict';
|
4258
4243
|
|
4244
|
+
exports._resetLegacyAddonWarnings = _resetLegacyAddonWarnings;
|
4245
|
+
|
4259
4246
|
var librariesRegistered = false;
|
4260
4247
|
|
4248
|
+
var warnedAboutLegacyViewAddon = false;
|
4249
|
+
var warnedAboutLegacyControllerAddon = false;
|
4250
|
+
|
4251
|
+
// For testing
|
4252
|
+
|
4253
|
+
function _resetLegacyAddonWarnings() {
|
4254
|
+
warnedAboutLegacyViewAddon = false;
|
4255
|
+
warnedAboutLegacyControllerAddon = false;
|
4256
|
+
}
|
4257
|
+
|
4261
4258
|
/**
|
4262
4259
|
An instance of `Ember.Application` is the starting point for every Ember
|
4263
4260
|
application. It helps to instantiate, initialize and coordinate the many
|
@@ -4762,6 +4759,18 @@ enifed('ember-application/system/application', ['exports', 'ember-metal', 'ember
|
|
4762
4759
|
return;
|
4763
4760
|
}
|
4764
4761
|
|
4762
|
+
if (_emberMetal.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT && !warnedAboutLegacyViewAddon) {
|
4763
|
+
_emberMetalDebug.deprecate('Support for the `ember-legacy-views` addon will end soon, please remove it from your application.', false, { id: 'ember-legacy-views', until: '2.6.0', url: 'http://emberjs.com/deprecations/v1.x/#toc_ember-view' });
|
4764
|
+
|
4765
|
+
warnedAboutLegacyViewAddon = true;
|
4766
|
+
}
|
4767
|
+
|
4768
|
+
if (_emberMetal.default.ENV._ENABLE_LEGACY_CONTROLLER_SUPPORT && !warnedAboutLegacyControllerAddon) {
|
4769
|
+
_emberMetalDebug.deprecate('Support for the `ember-legacy-controllers` addon will end soon, please remove it from your application.', false, { id: 'ember-legacy-controllers', until: '2.6.0', url: 'http://emberjs.com/deprecations/v1.x/#toc_objectcontroller' });
|
4770
|
+
|
4771
|
+
warnedAboutLegacyControllerAddon = true;
|
4772
|
+
}
|
4773
|
+
|
4765
4774
|
// Even though this returns synchronously, we still need to make sure the
|
4766
4775
|
// boot promise exists for book-keeping purposes: if anything went wrong in
|
4767
4776
|
// the boot process, we need to store the error as a rejection on the boot
|
@@ -6375,7 +6384,8 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
|
|
6375
6384
|
/**
|
6376
6385
|
Define an assertion that will throw an exception if the condition is not
|
6377
6386
|
met. Ember build tools will remove any calls to `Ember.assert()` when
|
6378
|
-
doing
|
6387
|
+
doing an Ember.js framework production build and will make the assertion a
|
6388
|
+
no-op for an application production build. Example:
|
6379
6389
|
|
6380
6390
|
```javascript
|
6381
6391
|
// Test for truthiness
|
@@ -6550,10 +6560,6 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-metal/debug',
|
|
6550
6560
|
_emberMetalFeatures.FEATURES['features-stripped-test'] = true;
|
6551
6561
|
var featuresWereStripped = true;
|
6552
6562
|
|
6553
|
-
if (_emberMetalFeatures.default('features-stripped-test')) {
|
6554
|
-
exports.featuresWereStripped = featuresWereStripped = false;
|
6555
|
-
}
|
6556
|
-
|
6557
6563
|
delete _emberMetalFeatures.FEATURES['features-stripped-test'];
|
6558
6564
|
_warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, featuresWereStripped);
|
6559
6565
|
|
@@ -7455,7 +7461,7 @@ enifed('ember-htmlbars/helper', ['exports', 'ember-runtime/system/object'], func
|
|
7455
7461
|
Each time the input to a helper changes, the `compute` function will be
|
7456
7462
|
called again.
|
7457
7463
|
|
7458
|
-
As instances, these helpers also have access to the container
|
7464
|
+
As instances, these helpers also have access to the container and will accept
|
7459
7465
|
injected dependencies.
|
7460
7466
|
|
7461
7467
|
Additionally, class helpers can call `recompute` to force a new computation.
|
@@ -7969,7 +7975,7 @@ enifed('ember-htmlbars/helpers/if_unless', ['exports', 'ember-metal/debug', 'emb
|
|
7969
7975
|
the `else` helper.
|
7970
7976
|
|
7971
7977
|
```handlebars
|
7972
|
-
{{!
|
7978
|
+
{{! is it raining outside?}}
|
7973
7979
|
{{#if isRaining}}
|
7974
7980
|
Yes, grab an umbrella!
|
7975
7981
|
{{else}}
|
@@ -8485,12 +8491,11 @@ enifed('ember-htmlbars/hooks/component', ['exports', 'ember-metal/features', 'em
|
|
8485
8491
|
layout = undefined;
|
8486
8492
|
if (isDasherized || !isAngleBracket) {
|
8487
8493
|
var options = {};
|
8488
|
-
if (_emberMetalFeatures.default('ember-htmlbars-local-lookup')) {
|
8489
|
-
var moduleName = env.meta && env.meta.moduleName;
|
8490
8494
|
|
8491
|
-
|
8492
|
-
|
8493
|
-
|
8495
|
+
var moduleName = env.meta && env.meta.moduleName;
|
8496
|
+
|
8497
|
+
if (moduleName) {
|
8498
|
+
options.source = 'template:' + moduleName;
|
8494
8499
|
}
|
8495
8500
|
|
8496
8501
|
var result = _emberHtmlbarsUtilsLookupComponent.default(env.owner, tagName, options);
|
@@ -9128,11 +9133,11 @@ enifed('ember-htmlbars/hooks/link-render-node', ['exports', 'ember-htmlbars/util
|
|
9128
9133
|
var isTruthyVal = _emberMetalStreamsUtils.read(isTruthy);
|
9129
9134
|
|
9130
9135
|
if (_emberRuntimeUtils.isArray(predicateVal)) {
|
9131
|
-
return lengthVal > 0 ? predicateVal : false;
|
9136
|
+
return lengthVal > 0 ? coercer(predicateVal) : false;
|
9132
9137
|
}
|
9133
9138
|
|
9134
9139
|
if (typeof isTruthyVal === 'boolean') {
|
9135
|
-
return isTruthyVal;
|
9140
|
+
return isTruthyVal ? coercer(predicateVal) : false;
|
9136
9141
|
}
|
9137
9142
|
|
9138
9143
|
return coercer(predicateVal);
|
@@ -10561,7 +10566,7 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
|
|
10561
10566
|
|
10562
10567
|
'use strict';
|
10563
10568
|
|
10564
|
-
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.5.0-beta.
|
10569
|
+
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.5.0-beta.4';
|
10565
10570
|
|
10566
10571
|
/**
|
10567
10572
|
The `{{outlet}}` helper lets you specify where a child route will render in
|
@@ -10674,10 +10679,6 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember
|
|
10674
10679
|
|
10675
10680
|
var Component;
|
10676
10681
|
|
10677
|
-
if (_emberMetalFeatures.default('ember-routing-routable-components')) {
|
10678
|
-
Component = outletState.render.Component;
|
10679
|
-
}
|
10680
|
-
|
10681
10682
|
var options;
|
10682
10683
|
var attrs = {};
|
10683
10684
|
if (Component) {
|
@@ -12506,7 +12507,10 @@ enifed('ember-htmlbars/system/lookup-helper', ['exports', 'ember-metal/debug', '
|
|
12506
12507
|
var owner = env.owner;
|
12507
12508
|
if (validateLazyHelperName(name, owner, env.hooks.keywords)) {
|
12508
12509
|
var helperName = 'helper:' + name;
|
12509
|
-
|
12510
|
+
// See https://github.com/emberjs/ember.js/issues/13071
|
12511
|
+
// See https://bugs.chromium.org/p/v8/issues/detail?id=4839
|
12512
|
+
var registered = owner.hasRegistration(helperName, options);
|
12513
|
+
if (registered) {
|
12510
12514
|
helper = owner._lookupFactory(helperName, options);
|
12511
12515
|
_emberMetalDebug.assert('Expected to find an Ember.Helper with the name ' + helperName + ', but found an object of type ' + typeof helper + ' instead.', helper.isHelperFactory || helper.isHelperInstance);
|
12512
12516
|
}
|
@@ -13692,20 +13696,16 @@ enifed('ember-htmlbars/utils/is-component', ['exports', 'ember-metal/features',
|
|
13692
13696
|
if (hasComponentOrTemplate(owner, path)) {
|
13693
13697
|
return true; // global component found
|
13694
13698
|
} else {
|
13695
|
-
|
13696
|
-
var moduleName = env.meta && env.meta.moduleName;
|
13699
|
+
var moduleName = env.meta && env.meta.moduleName;
|
13697
13700
|
|
13698
|
-
|
13699
|
-
|
13700
|
-
return false;
|
13701
|
-
}
|
13702
|
-
|
13703
|
-
var options = { source: 'template:' + moduleName };
|
13704
|
-
|
13705
|
-
return hasComponentOrTemplate(owner, path, options);
|
13706
|
-
} else {
|
13701
|
+
if (!moduleName) {
|
13702
|
+
// Without a source moduleName, we can not perform local lookups.
|
13707
13703
|
return false;
|
13708
13704
|
}
|
13705
|
+
|
13706
|
+
var options = { source: 'template:' + moduleName };
|
13707
|
+
|
13708
|
+
return hasComponentOrTemplate(owner, path, options);
|
13709
13709
|
}
|
13710
13710
|
}
|
13711
13711
|
}
|
@@ -13725,15 +13725,13 @@ enifed('ember-htmlbars/utils/lookup-component', ['exports', 'ember-metal/feature
|
|
13725
13725
|
function lookupComponent(owner, name, options) {
|
13726
13726
|
var componentLookup = owner.lookup('component-lookup:main');
|
13727
13727
|
|
13728
|
-
|
13729
|
-
var source = options && options.source;
|
13728
|
+
var source = options && options.source;
|
13730
13729
|
|
13731
|
-
|
13732
|
-
|
13730
|
+
if (source) {
|
13731
|
+
var localResult = lookupComponentPair(componentLookup, owner, name, options);
|
13733
13732
|
|
13734
|
-
|
13735
|
-
|
13736
|
-
}
|
13733
|
+
if (localResult.component || localResult.layout) {
|
13734
|
+
return localResult;
|
13737
13735
|
}
|
13738
13736
|
}
|
13739
13737
|
|
@@ -15416,7 +15414,7 @@ enifed('ember-metal/computed', ['exports', 'ember-metal/debug', 'ember-metal/pro
|
|
15416
15414
|
this.lastName = 'Jones';
|
15417
15415
|
},
|
15418
15416
|
|
15419
|
-
fullName: Ember.computed({
|
15417
|
+
fullName: Ember.computed('firstName', 'lastName', {
|
15420
15418
|
get(key) {
|
15421
15419
|
return `${this.get('firstName')} ${this.get('lastName')}`;
|
15422
15420
|
},
|
@@ -16204,7 +16202,7 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
|
|
16204
16202
|
|
16205
16203
|
@class Ember
|
16206
16204
|
@static
|
16207
|
-
@version 2.5.0-beta.
|
16205
|
+
@version 2.5.0-beta.4
|
16208
16206
|
@public
|
16209
16207
|
*/
|
16210
16208
|
|
@@ -16246,11 +16244,11 @@ enifed('ember-metal/core', ['exports', 'require'], function (exports, _require)
|
|
16246
16244
|
|
16247
16245
|
@property VERSION
|
16248
16246
|
@type String
|
16249
|
-
@default '2.5.0-beta.
|
16247
|
+
@default '2.5.0-beta.4'
|
16250
16248
|
@static
|
16251
16249
|
@public
|
16252
16250
|
*/
|
16253
|
-
Ember.VERSION = '2.5.0-beta.
|
16251
|
+
Ember.VERSION = '2.5.0-beta.4';
|
16254
16252
|
|
16255
16253
|
/**
|
16256
16254
|
The hash of environment variables used to control various configuration
|
@@ -17355,10 +17353,6 @@ enifed('ember-metal/index', ['exports', 'require', 'ember-metal/core', 'ember-me
|
|
17355
17353
|
_emberMetalCore.default.Debug.registerWarnHandler = function () {};
|
17356
17354
|
}
|
17357
17355
|
|
17358
|
-
_emberMetalDebug.deprecate('Support for the `ember-legacy-views` addon will end soon, please remove it from your application.', !!_emberMetalCore.default.ENV._ENABLE_LEGACY_VIEW_SUPPORT, { id: 'ember-legacy-views', until: '2.6.0', url: 'http://emberjs.com/deprecations/v1.x/#toc_ember-view' });
|
17359
|
-
|
17360
|
-
_emberMetalDebug.deprecate('Support for the `ember-legacy-controllers` addon will end soon, please remove it from your application.', !!_emberMetalCore.default.ENV._ENABLE_LEGACY_CONTROLLER_SUPPORT, { id: 'ember-legacy-controllers', until: '2.6.0', url: 'http://emberjs.com/deprecations/v1.x/#toc_objectcontroller' });
|
17361
|
-
|
17362
17356
|
_emberMetalCore.default.create = _emberMetalDebug.deprecateFunc('Ember.create is deprecated in favor of Object.create', { id: 'ember-metal.ember-create', until: '3.0.0' }, Object.create);
|
17363
17357
|
_emberMetalCore.default.keys = _emberMetalDebug.deprecateFunc('Ember.keys is deprecated in favor of Object.keys', { id: 'ember-metal.ember.keys', until: '3.0.0' }, Object.keys);
|
17364
17358
|
|
@@ -17889,12 +17883,6 @@ enifed('ember-metal/libraries', ['exports', 'ember-metal/debug', 'ember-metal/fe
|
|
17889
17883
|
}
|
17890
17884
|
};
|
17891
17885
|
|
17892
|
-
if (_emberMetalFeatures.default('ember-libraries-isregistered')) {
|
17893
|
-
Libraries.prototype.isRegistered = function (name) {
|
17894
|
-
return !!this._getLibraryByName(name);
|
17895
|
-
};
|
17896
|
-
}
|
17897
|
-
|
17898
17886
|
exports.default = Libraries;
|
17899
17887
|
});
|
17900
17888
|
enifed('ember-metal/logger', ['exports', 'ember-metal/core', 'ember-metal/error'], function (exports, _emberMetalCore, _emberMetalError) {
|
@@ -18566,9 +18554,7 @@ enifed('ember-metal/merge', ['exports', 'ember-metal/debug', 'ember-metal/featur
|
|
18566
18554
|
*/
|
18567
18555
|
|
18568
18556
|
function merge(original, updates) {
|
18569
|
-
|
18570
|
-
_emberMetalDebug.deprecate('Usage of `Ember.merge` is deprecated, use `Ember.assign` instead.', false, { id: 'ember-metal.merge', until: '3.0.0' });
|
18571
|
-
}
|
18557
|
+
_emberMetalDebug.deprecate('Usage of `Ember.merge` is deprecated, use `Ember.assign` instead.', false, { id: 'ember-metal.merge', until: '3.0.0' });
|
18572
18558
|
|
18573
18559
|
if (!updates || typeof updates !== 'object') {
|
18574
18560
|
return original;
|
@@ -25783,12 +25769,6 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
25783
25769
|
var controllerDefinedQueryParameterConfiguration = _emberMetalProperty_get.get(controllerProto, 'queryParams');
|
25784
25770
|
var normalizedControllerQueryParameterConfiguration = _emberRoutingUtils.normalizeControllerQueryParams(controllerDefinedQueryParameterConfiguration);
|
25785
25771
|
combinedQueryParameterConfiguration = mergeEachQueryParams(normalizedControllerQueryParameterConfiguration, queryParameterConfiguraton);
|
25786
|
-
|
25787
|
-
if (_emberMetalFeatures.default('ember-routing-route-configured-query-params')) {
|
25788
|
-
if (controllerDefinedQueryParameterConfiguration.length) {
|
25789
|
-
_emberMetalDebug.deprecate('Configuring query parameters on a controller is deprecated. Migrate the query parameters configuration from the \'' + controllerName + '\' controller to the \'' + this.routeName + '\' route: ' + combinedQueryParameterConfiguration, false, { id: 'ember-routing.controller-configured-query-params', until: '3.0.0' });
|
25790
|
-
}
|
25791
|
-
}
|
25792
25772
|
} else if (hasRouterDefinedQueryParams) {
|
25793
25773
|
// the developer has not defined a controller but *has* supplied route query params.
|
25794
25774
|
// Generate a class for them so we can later insert default values
|
@@ -25815,19 +25795,6 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
25815
25795
|
|
25816
25796
|
var desc = combinedQueryParameterConfiguration[propName];
|
25817
25797
|
|
25818
|
-
if (_emberMetalFeatures.default('ember-routing-route-configured-query-params')) {
|
25819
|
-
// apply default values to controllers
|
25820
|
-
// detect that default value defined on router config
|
25821
|
-
if (desc.hasOwnProperty('defaultValue')) {
|
25822
|
-
// detect that property was not defined on controller
|
25823
|
-
if (controllerProto[propName] === undefined) {
|
25824
|
-
controllerProto[propName] = desc.defaultValue;
|
25825
|
-
} else {
|
25826
|
-
deprecateQueryParamDefaultValuesSetOnController(controllerName, this.routeName, propName);
|
25827
|
-
}
|
25828
|
-
}
|
25829
|
-
}
|
25830
|
-
|
25831
25798
|
var scope = desc.scope || 'model';
|
25832
25799
|
var parts;
|
25833
25800
|
|
@@ -26362,7 +26329,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
26362
26329
|
var totalChanged = Object.keys(changed).concat(Object.keys(removed));
|
26363
26330
|
for (var i = 0, len = totalChanged.length; i < len; ++i) {
|
26364
26331
|
var qp = qpMap[totalChanged[i]];
|
26365
|
-
if (qp && _emberMetalProperty_get.get(this._optionsForQueryParam(qp), 'refreshModel')) {
|
26332
|
+
if (qp && _emberMetalProperty_get.get(this._optionsForQueryParam(qp), 'refreshModel') && this.router.currentState) {
|
26366
26333
|
this.refresh();
|
26367
26334
|
}
|
26368
26335
|
}
|
@@ -27406,7 +27373,7 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
27406
27373
|
//
|
27407
27374
|
this.render('post', { // the template name associated with 'post' Route
|
27408
27375
|
into: 'application', // the parent route to 'post' Route
|
27409
|
-
outlet: 'main', // {{outlet}} and {{outlet 'main' are synonymous
|
27376
|
+
outlet: 'main', // {{outlet}} and {{outlet 'main'}} are synonymous,
|
27410
27377
|
view: 'post', // the view associated with the 'post' Route
|
27411
27378
|
controller: 'post', // the controller associated with the 'post' Route
|
27412
27379
|
})
|
@@ -27635,17 +27602,6 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
27635
27602
|
};
|
27636
27603
|
|
27637
27604
|
var Component = undefined;
|
27638
|
-
if (_emberMetalFeatures.default('ember-routing-routable-components')) {
|
27639
|
-
var componentName = options && options.component || namePassed && name || route.componentName || name;
|
27640
|
-
var componentLookup = owner.lookup('component-lookup:main');
|
27641
|
-
Component = componentLookup.lookupFactory(componentName);
|
27642
|
-
var isGlimmerComponent = Component && Component.proto().isGlimmerComponent;
|
27643
|
-
if (!template && !ViewClass && Component && isGlimmerComponent) {
|
27644
|
-
renderOptions.Component = Component;
|
27645
|
-
renderOptions.ViewClass = undefined;
|
27646
|
-
renderOptions.attrs = { model: _emberMetalProperty_get.get(controller, 'model') };
|
27647
|
-
}
|
27648
|
-
}
|
27649
27605
|
|
27650
27606
|
if (!ViewClass && !template && !Component) {
|
27651
27607
|
_emberMetalDebug.assert('Could not find "' + name + '" template, view, or component.', isDefaultRender);
|
@@ -27713,16 +27669,12 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
27713
27669
|
var keysAlreadyMergedOrSkippable;
|
27714
27670
|
var qps = {};
|
27715
27671
|
|
27716
|
-
|
27717
|
-
|
27718
|
-
|
27719
|
-
|
27720
|
-
|
27721
|
-
|
27722
|
-
scope: true,
|
27723
|
-
as: true
|
27724
|
-
};
|
27725
|
-
}
|
27672
|
+
keysAlreadyMergedOrSkippable = {
|
27673
|
+
defaultValue: true,
|
27674
|
+
type: true,
|
27675
|
+
scope: true,
|
27676
|
+
as: true
|
27677
|
+
};
|
27726
27678
|
|
27727
27679
|
// first loop over all controller qps, merging them with any matching route qps
|
27728
27680
|
// into a new empty object to avoid mutating.
|
@@ -27769,6 +27721,11 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/core', 'ember-meta
|
|
27769
27721
|
exports.default = Route;
|
27770
27722
|
});
|
27771
27723
|
// FEATURES, A, deprecate, assert, Logger
|
27724
|
+
|
27725
|
+
// apply default values to controllers
|
27726
|
+
// detect that default value defined on router config
|
27727
|
+
|
27728
|
+
// detect that property was not defined on controller
|
27772
27729
|
enifed('ember-routing/system/router', ['exports', 'ember-metal/logger', 'ember-metal/debug', 'ember-metal/error', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/properties', 'ember-metal/empty_object', 'ember-metal/computed', 'ember-metal/assign', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-runtime/mixins/evented', 'ember-routing/system/dsl', 'ember-routing/location/api', 'ember-routing/utils', 'ember-metal/utils', 'ember-routing/system/router_state', 'container/owner', 'ember-metal/dictionary', 'router', 'router/transition'], function (exports, _emberMetalLogger, _emberMetalDebug, _emberMetalError, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalProperties, _emberMetalEmpty_object, _emberMetalComputed, _emberMetalAssign, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberRuntimeMixinsEvented, _emberRoutingSystemDsl, _emberRoutingLocationApi, _emberRoutingUtils, _emberMetalUtils, _emberRoutingSystemRouter_state, _containerOwner, _emberMetalDictionary, _router4, _routerTransition) {
|
27773
27730
|
'use strict';
|
27774
27731
|
|
@@ -27949,9 +27906,9 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/logger', 'ember-m
|
|
27949
27906
|
didTransition: function() {
|
27950
27907
|
this._super(...arguments);
|
27951
27908
|
return ga('send', 'pageview', {
|
27952
|
-
|
27953
|
-
|
27954
|
-
|
27909
|
+
'page': this.get('url'),
|
27910
|
+
'title': this.get('url')
|
27911
|
+
});
|
27955
27912
|
}
|
27956
27913
|
});
|
27957
27914
|
```
|
@@ -28368,6 +28325,12 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/logger', 'ember-m
|
|
28368
28325
|
_emberMetalDebug.assert('The route ' + targetRouteName + ' was not found', targetRouteName && this.router.hasRoute(targetRouteName));
|
28369
28326
|
|
28370
28327
|
var queryParams = {};
|
28328
|
+
// merge in any queryParams from the active transition which could include
|
28329
|
+
// queryparams from the url on initial load.
|
28330
|
+
if (this.router.activeTransition) {
|
28331
|
+
_emberMetalAssign.default(queryParams, this.router.activeTransition.queryParams);
|
28332
|
+
}
|
28333
|
+
|
28371
28334
|
_emberMetalAssign.default(queryParams, _queryParams);
|
28372
28335
|
this._prepareQueryParams(targetRouteName, models, queryParams);
|
28373
28336
|
|
@@ -28460,6 +28423,11 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/logger', 'ember-m
|
|
28460
28423
|
currentState: null,
|
28461
28424
|
targetState: null,
|
28462
28425
|
|
28426
|
+
_resetTargetState: function () {
|
28427
|
+
var currentState = this.get('currentState');
|
28428
|
+
this.set('targetState', currentState);
|
28429
|
+
},
|
28430
|
+
|
28463
28431
|
_handleSlowTransition: function (transition, originRoute) {
|
28464
28432
|
if (!this.router.activeTransition) {
|
28465
28433
|
// Don't fire an event if we've since moved on from
|
@@ -28833,6 +28801,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-metal/logger', 'ember-m
|
|
28833
28801
|
if (router._isErrorHandled(errorId)) {
|
28834
28802
|
router._clearHandledError(errorId);
|
28835
28803
|
} else {
|
28804
|
+
router._resetTargetState();
|
28836
28805
|
throw error;
|
28837
28806
|
}
|
28838
28807
|
});
|
@@ -29381,7 +29350,8 @@ enifed('ember-routing-htmlbars/keywords/action', ['exports', 'htmlbars-runtime/h
|
|
29381
29350
|
|
29382
29351
|
### Event Propagation
|
29383
29352
|
|
29384
|
-
`{{action}}` helpers called in element space can control event bubbling.
|
29353
|
+
`{{action}}` helpers called in element space can control event bubbling. Note
|
29354
|
+
that the closure style actions cannot.
|
29385
29355
|
|
29386
29356
|
Events triggered through the action helper will automatically have
|
29387
29357
|
`.preventDefault()` called on them. You do not need to do so in your event
|
@@ -29401,6 +29371,28 @@ enifed('ember-routing-htmlbars/keywords/action', ['exports', 'htmlbars-runtime/h
|
|
29401
29371
|
<button {{action 'edit' post bubbles=false}}>Edit</button>
|
29402
29372
|
```
|
29403
29373
|
|
29374
|
+
To disable bubbling with closure style actions you must create your own
|
29375
|
+
wrapper helper that makes use of `event.stopPropagation()`:
|
29376
|
+
|
29377
|
+
```handlebars
|
29378
|
+
<div onclick={{disable-bubbling (action "sayHello")}}>Hello</div>
|
29379
|
+
```
|
29380
|
+
|
29381
|
+
```js
|
29382
|
+
// app/helpers/disable-bubbling.js
|
29383
|
+
import Ember from 'ember';
|
29384
|
+
|
29385
|
+
export function disableBubbling([action]) {
|
29386
|
+
return function(event) {
|
29387
|
+
event.stopPropagation();
|
29388
|
+
|
29389
|
+
return action(event);
|
29390
|
+
};
|
29391
|
+
}
|
29392
|
+
|
29393
|
+
export default Ember.Helper.helper(disableBubbling);
|
29394
|
+
```
|
29395
|
+
|
29404
29396
|
If you need the default handler to trigger you should either register your
|
29405
29397
|
own event handler, or use event methods on your view class. See
|
29406
29398
|
["Responding to Browser Events"](/api/classes/Ember.View.html#toc_responding-to-browser-events)
|
@@ -29522,6 +29514,9 @@ enifed('ember-routing-htmlbars/keywords/closure-action', ['exports', 'ember-meta
|
|
29522
29514
|
if (!action) {
|
29523
29515
|
throw new _emberMetalError.default('An action named \'' + actionName + '\' was not found in ' + target + '.');
|
29524
29516
|
}
|
29517
|
+
} else if (action && typeof action[INVOKE] === 'function') {
|
29518
|
+
target = action;
|
29519
|
+
action = action[INVOKE];
|
29525
29520
|
} else if (actionType !== 'function') {
|
29526
29521
|
throw new _emberMetalError.default('An action could not be made for `' + rawAction.label + '` in ' + target + '. Please confirm that you are using either a quoted action name (i.e. `(action \'' + rawAction.label + '\')`) or a function available in ' + target + '.');
|
29527
29522
|
}
|
@@ -29893,6 +29888,7 @@ enifed('ember-routing-htmlbars/keywords/render', ['exports', 'ember-metal/debug'
|
|
29893
29888
|
}
|
29894
29889
|
|
29895
29890
|
var parentController = _emberMetalStreamsUtils.read(scope.getLocal('controller'));
|
29891
|
+
var target = parentController || router;
|
29896
29892
|
var controller;
|
29897
29893
|
|
29898
29894
|
// choose name
|
@@ -29902,7 +29898,7 @@ enifed('ember-routing-htmlbars/keywords/render', ['exports', 'ember-metal/debug'
|
|
29902
29898
|
controller = factory.create({
|
29903
29899
|
model: _emberMetalStreamsUtils.read(context),
|
29904
29900
|
parentController: parentController,
|
29905
|
-
target:
|
29901
|
+
target: target
|
29906
29902
|
});
|
29907
29903
|
|
29908
29904
|
node.addDestruction(controller);
|
@@ -29910,7 +29906,7 @@ enifed('ember-routing-htmlbars/keywords/render', ['exports', 'ember-metal/debug'
|
|
29910
29906
|
controller = owner.lookup(controllerFullName) || _emberRoutingSystemGenerate_controller.default(owner, controllerName);
|
29911
29907
|
|
29912
29908
|
controller.setProperties({
|
29913
|
-
target:
|
29909
|
+
target: target,
|
29914
29910
|
parentController: parentController
|
29915
29911
|
});
|
29916
29912
|
}
|
@@ -30330,7 +30326,7 @@ enifed('ember-routing-views/components/link-to', ['exports', 'ember-metal/logger
|
|
30330
30326
|
|
30331
30327
|
'use strict';
|
30332
30328
|
|
30333
|
-
_emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.5.0-beta.
|
30329
|
+
_emberHtmlbarsTemplatesLinkTo.default.meta.revision = 'Ember@2.5.0-beta.4';
|
30334
30330
|
|
30335
30331
|
/**
|
30336
30332
|
`Ember.LinkComponent` renders an element whose `click` event triggers a
|
@@ -30769,7 +30765,7 @@ enifed('ember-routing-views/components/link-to', ['exports', 'ember-metal/logger
|
|
30769
30765
|
_emberMetalDebug.assert('You must provide one or more parameters to the link-to component.', params.length);
|
30770
30766
|
|
30771
30767
|
var disabledWhen = _emberMetalProperty_get.get(this, 'disabledWhen');
|
30772
|
-
if (disabledWhen) {
|
30768
|
+
if (disabledWhen !== undefined) {
|
30773
30769
|
this.set('disabled', disabledWhen);
|
30774
30770
|
}
|
30775
30771
|
|
@@ -30833,7 +30829,7 @@ enifed('ember-routing-views/views/outlet', ['exports', 'ember-views/views/view',
|
|
30833
30829
|
|
30834
30830
|
'use strict';
|
30835
30831
|
|
30836
|
-
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.5.0-beta.
|
30832
|
+
_emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@2.5.0-beta.4';
|
30837
30833
|
|
30838
30834
|
var CoreOutletView = _emberViewsViewsView.default.extend({
|
30839
30835
|
defaultTemplate: _emberHtmlbarsTemplatesTopLevelView.default,
|
@@ -30984,18 +30980,7 @@ enifed('ember-runtime/compare', ['exports', 'ember-runtime/utils', 'ember-runtim
|
|
30984
30980
|
return spaceship(v, w);
|
30985
30981
|
|
30986
30982
|
case 'string':
|
30987
|
-
|
30988
|
-
// because of unexpected behavior for certain edge cases.
|
30989
|
-
// For example `'Z'.localeCompare('a')` returns `1`.
|
30990
|
-
//
|
30991
|
-
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare#Description
|
30992
|
-
if (v < w) {
|
30993
|
-
return -1;
|
30994
|
-
} else if (v === w) {
|
30995
|
-
return 0;
|
30996
|
-
}
|
30997
|
-
|
30998
|
-
return 1;
|
30983
|
+
return spaceship(v.localeCompare(w), 0);
|
30999
30984
|
|
31000
30985
|
case 'array':
|
31001
30986
|
var vLen = v.length;
|
@@ -33312,8 +33297,19 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta
|
|
33312
33297
|
on the array. Just get an equivalent property on this object and it will
|
33313
33298
|
return an enumerable that maps automatically to the named key on the
|
33314
33299
|
member objects.
|
33315
|
-
|
33316
|
-
|
33300
|
+
@each should only be used in a non-terminal context. Example:
|
33301
|
+
```javascript
|
33302
|
+
myMethod: computed('posts.@each.author', function(){
|
33303
|
+
...
|
33304
|
+
});
|
33305
|
+
```
|
33306
|
+
If you merely want to watch for the array being changed, like an object being
|
33307
|
+
replaced, added or removed, use `[]` instead of `@each`.
|
33308
|
+
```javascript
|
33309
|
+
myMethod: computed('posts.[]', function(){
|
33310
|
+
...
|
33311
|
+
});
|
33312
|
+
```
|
33317
33313
|
@property @each
|
33318
33314
|
@public
|
33319
33315
|
*/
|
@@ -36871,7 +36867,7 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-metal/debug', 'emb
|
|
36871
36867
|
if (mergedProperties && mergedProperties.length && mergedProperties.indexOf(keyName) >= 0) {
|
36872
36868
|
var originalValue = this[keyName];
|
36873
36869
|
|
36874
|
-
value = _emberMetalAssign.default(originalValue, value);
|
36870
|
+
value = _emberMetalAssign.default({}, originalValue, value);
|
36875
36871
|
}
|
36876
36872
|
|
36877
36873
|
if (desc) {
|
@@ -38818,12 +38814,13 @@ enifed('ember-template-compiler/compat', ['exports', 'ember-metal/core', 'ember-
|
|
38818
38814
|
EmberHandlebars.compile = _emberTemplateCompilerSystemCompile.default;
|
38819
38815
|
EmberHandlebars.template = _emberTemplateCompilerSystemTemplate.default;
|
38820
38816
|
});
|
38821
|
-
enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/plugins/assert-no-each-in', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerPluginsAssertNoEachIn, _emberTemplateCompilerCompat) {
|
38817
|
+
enifed('ember-template-compiler/index', ['exports', 'ember-metal', 'ember-template-compiler/system/precompile', 'ember-template-compiler/system/compile', 'ember-template-compiler/system/template', 'ember-template-compiler/plugins', 'ember-template-compiler/plugins/transform-old-binding-syntax', 'ember-template-compiler/plugins/transform-old-class-binding-syntax', 'ember-template-compiler/plugins/transform-item-class', 'ember-template-compiler/plugins/transform-closure-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-attrs-into-mut', 'ember-template-compiler/plugins/transform-component-curly-to-readonly', 'ember-template-compiler/plugins/transform-angle-bracket-components', 'ember-template-compiler/plugins/transform-input-on-to-onEvent', 'ember-template-compiler/plugins/transform-top-level-components', 'ember-template-compiler/plugins/transform-each-into-collection', 'ember-template-compiler/plugins/transform-unescaped-inline-link-to', 'ember-template-compiler/plugins/assert-no-view-and-controller-paths', 'ember-template-compiler/plugins/assert-no-view-helper', 'ember-template-compiler/plugins/assert-no-each-in', 'ember-template-compiler/compat'], function (exports, _emberMetal, _emberTemplateCompilerSystemPrecompile, _emberTemplateCompilerSystemCompile, _emberTemplateCompilerSystemTemplate, _emberTemplateCompilerPlugins, _emberTemplateCompilerPluginsTransformOldBindingSyntax, _emberTemplateCompilerPluginsTransformOldClassBindingSyntax, _emberTemplateCompilerPluginsTransformItemClass, _emberTemplateCompilerPluginsTransformClosureComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut, _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly, _emberTemplateCompilerPluginsTransformAngleBracketComponents, _emberTemplateCompilerPluginsTransformInputOnToOnEvent, _emberTemplateCompilerPluginsTransformTopLevelComponents, _emberTemplateCompilerPluginsTransformEachIntoCollection, _emberTemplateCompilerPluginsTransformUnescapedInlineLinkTo, _emberTemplateCompilerPluginsAssertNoViewAndControllerPaths, _emberTemplateCompilerPluginsAssertNoViewHelper, _emberTemplateCompilerPluginsAssertNoEachIn, _emberTemplateCompilerCompat) {
|
38822
38818
|
'use strict';
|
38823
38819
|
|
38824
38820
|
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldBindingSyntax.default);
|
38825
38821
|
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformOldClassBindingSyntax.default);
|
38826
38822
|
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformItemClass.default);
|
38823
|
+
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformClosureComponentAttrsIntoMut.default);
|
38827
38824
|
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformComponentAttrsIntoMut.default);
|
38828
38825
|
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformComponentCurlyToReadonly.default);
|
38829
38826
|
_emberTemplateCompilerPlugins.registerPlugin('ast', _emberTemplateCompilerPluginsTransformAngleBracketComponents.default);
|
@@ -39051,6 +39048,88 @@ enifed('ember-template-compiler/plugins/transform-angle-bracket-components', ['e
|
|
39051
39048
|
|
39052
39049
|
exports.default = TransformAngleBracketComponents;
|
39053
39050
|
});
|
39051
|
+
enifed('ember-template-compiler/plugins/transform-closure-component-attrs-into-mut', ['exports'], function (exports) {
|
39052
|
+
'use strict';
|
39053
|
+
|
39054
|
+
function TransformClosureComponentAttrsIntoMut() {
|
39055
|
+
// set later within HTMLBars to the syntax package
|
39056
|
+
this.syntax = null;
|
39057
|
+
}
|
39058
|
+
|
39059
|
+
/**
|
39060
|
+
@private
|
39061
|
+
@method transform
|
39062
|
+
@param {AST} ast The AST to be transformed.
|
39063
|
+
*/
|
39064
|
+
TransformClosureComponentAttrsIntoMut.prototype.transform = function TransformClosureComponentAttrsIntoMut_transform(ast) {
|
39065
|
+
var b = this.syntax.builders;
|
39066
|
+
var walker = new this.syntax.Walker();
|
39067
|
+
|
39068
|
+
walker.visit(ast, function (node) {
|
39069
|
+
if (validate(node)) {
|
39070
|
+
processExpression(b, node);
|
39071
|
+
}
|
39072
|
+
});
|
39073
|
+
|
39074
|
+
return ast;
|
39075
|
+
};
|
39076
|
+
|
39077
|
+
function processExpression(builder, node) {
|
39078
|
+
processSubExpressionsInNode(builder, node);
|
39079
|
+
|
39080
|
+
if (isComponentClosure(node)) {
|
39081
|
+
mutParameters(builder, node);
|
39082
|
+
}
|
39083
|
+
}
|
39084
|
+
|
39085
|
+
function processSubExpressionsInNode(builder, node) {
|
39086
|
+
for (var i = 0; i < node.params.length; i++) {
|
39087
|
+
if (node.params[i].type === 'SubExpression') {
|
39088
|
+
processExpression(builder, node.params[i]);
|
39089
|
+
}
|
39090
|
+
}
|
39091
|
+
|
39092
|
+
each(node.hash.pairs, function (pair) {
|
39093
|
+
var value = pair.value;
|
39094
|
+
|
39095
|
+
if (value.type === 'SubExpression') {
|
39096
|
+
processExpression(builder, value);
|
39097
|
+
}
|
39098
|
+
});
|
39099
|
+
}
|
39100
|
+
|
39101
|
+
function isComponentClosure(node) {
|
39102
|
+
return node.type === 'SubExpression' && node.path.original === 'component';
|
39103
|
+
}
|
39104
|
+
|
39105
|
+
function mutParameters(builder, node) {
|
39106
|
+
for (var i = 1; i < node.params.length; i++) {
|
39107
|
+
if (node.params[i].type === 'PathExpression') {
|
39108
|
+
node.params[i] = builder.sexpr(builder.path('@mut'), [node.params[i]]);
|
39109
|
+
}
|
39110
|
+
}
|
39111
|
+
|
39112
|
+
each(node.hash.pairs, function (pair) {
|
39113
|
+
var value = pair.value;
|
39114
|
+
|
39115
|
+
if (value.type === 'PathExpression') {
|
39116
|
+
pair.value = builder.sexpr(builder.path('@mut'), [pair.value]);
|
39117
|
+
}
|
39118
|
+
});
|
39119
|
+
}
|
39120
|
+
|
39121
|
+
function validate(node) {
|
39122
|
+
return node.type === 'BlockStatement' || node.type === 'MustacheStatement';
|
39123
|
+
}
|
39124
|
+
|
39125
|
+
function each(list, callback) {
|
39126
|
+
for (var i = 0, l = list.length; i < l; i++) {
|
39127
|
+
callback(list[i]);
|
39128
|
+
}
|
39129
|
+
}
|
39130
|
+
|
39131
|
+
exports.default = TransformClosureComponentAttrsIntoMut;
|
39132
|
+
});
|
39054
39133
|
enifed('ember-template-compiler/plugins/transform-component-attrs-into-mut', ['exports'], function (exports) {
|
39055
39134
|
'use strict';
|
39056
39135
|
|
@@ -39843,7 +39922,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
|
|
39843
39922
|
options.buildMeta = function buildMeta(program) {
|
39844
39923
|
return {
|
39845
39924
|
fragmentReason: fragmentReason(program),
|
39846
|
-
revision: 'Ember@2.5.0-beta.
|
39925
|
+
revision: 'Ember@2.5.0-beta.4',
|
39847
39926
|
loc: program.loc,
|
39848
39927
|
moduleName: options.moduleName
|
39849
39928
|
};
|
@@ -41493,6 +41572,7 @@ enifed('ember-views/components/component', ['exports', 'ember-metal/debug', 'emb
|
|
41493
41572
|
@class Component
|
41494
41573
|
@namespace Ember
|
41495
41574
|
@extends Ember.View
|
41575
|
+
@uses Ember.ViewTargetActionSupport
|
41496
41576
|
@public
|
41497
41577
|
*/
|
41498
41578
|
var Component = _emberViewsViewsView.default.extend(_emberRuntimeMixinsTarget_action_support.default, {
|
@@ -45264,7 +45344,7 @@ enifed('ember-views/views/collection_view', ['exports', 'ember-metal/core', 'emb
|
|
45264
45344
|
enifed('ember-views/views/container_view', ['exports', 'ember-metal/core', 'ember-metal/debug', 'ember-runtime/mixins/mutable_array', 'ember-runtime/system/native_array', 'ember-views/views/view', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/mixin', 'ember-metal/events', 'ember-htmlbars/templates/container-view'], function (exports, _emberMetalCore, _emberMetalDebug, _emberRuntimeMixinsMutable_array, _emberRuntimeSystemNative_array, _emberViewsViewsView, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalMixin, _emberMetalEvents, _emberHtmlbarsTemplatesContainerView) {
|
45265
45345
|
'use strict';
|
45266
45346
|
|
45267
|
-
_emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.5.0-beta.
|
45347
|
+
_emberHtmlbarsTemplatesContainerView.default.meta.revision = 'Ember@2.5.0-beta.4';
|
45268
45348
|
|
45269
45349
|
/**
|
45270
45350
|
@module ember
|
@@ -47062,21 +47142,20 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-metal/de
|
|
47062
47142
|
```
|
47063
47143
|
|
47064
47144
|
If the return value of an `attributeBindings` monitored property is a boolean
|
47065
|
-
the property
|
47066
|
-
its value:
|
47145
|
+
the property's value will be set as a coerced string:
|
47067
47146
|
|
47068
47147
|
```javascript
|
47069
47148
|
MyTextInput = Ember.View.extend({
|
47070
47149
|
tagName: 'input',
|
47071
47150
|
attributeBindings: ['disabled'],
|
47072
|
-
disabled:
|
47151
|
+
disabled: false
|
47073
47152
|
});
|
47074
47153
|
```
|
47075
47154
|
|
47076
|
-
Will result in view
|
47155
|
+
Will result in a view instance with an HTML representation of:
|
47077
47156
|
|
47078
47157
|
```html
|
47079
|
-
<input id="ember1" class="ember-view" disabled="
|
47158
|
+
<input id="ember1" class="ember-view" disabled="false" />
|
47080
47159
|
```
|
47081
47160
|
|
47082
47161
|
`attributeBindings` can refer to computed properties:
|
@@ -47095,6 +47174,17 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-metal/de
|
|
47095
47174
|
});
|
47096
47175
|
```
|
47097
47176
|
|
47177
|
+
To prevent setting an attribute altogether, use `null` or `undefined` as the
|
47178
|
+
return value of the `attributeBindings` monitored property:
|
47179
|
+
|
47180
|
+
```javascript
|
47181
|
+
MyTextInput = Ember.View.extend({
|
47182
|
+
tagName: 'form',
|
47183
|
+
attributeBindings: ['novalidate'],
|
47184
|
+
novalidate: null
|
47185
|
+
});
|
47186
|
+
```
|
47187
|
+
|
47098
47188
|
Updates to the property of an attribute binding will result in automatic
|
47099
47189
|
update of the HTML attribute in the view's rendered HTML representation.
|
47100
47190
|
|
@@ -47423,6 +47513,7 @@ enifed('ember-views/views/view', ['exports', 'ember-metal/core', 'ember-metal/de
|
|
47423
47513
|
@namespace Ember
|
47424
47514
|
@extends Ember.CoreView
|
47425
47515
|
@deprecated See http://emberjs.com/deprecations/v1.x/#toc_ember-view
|
47516
|
+
@uses Ember.ViewSupport
|
47426
47517
|
@uses Ember.ViewContextSupport
|
47427
47518
|
@uses Ember.ViewChildViewsSupport
|
47428
47519
|
@uses Ember.TemplateRenderingSupport
|