ember-source 2.5.0.beta.1 → 2.5.0.beta.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +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
|