ember-source 4.3.0-alpha.2 → 4.3.0-alpha.3
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.
- package/build-metadata.json +3 -3
- package/dist/ember-template-compiler.js +10 -10
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +1 -1
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +300 -279
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/container/index.js +0 -1
- package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +3 -3
- package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +52 -52
- package/dist/packages/@ember/-internals/glimmer/index.js +26 -58
- package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +3 -1
- package/dist/packages/@ember/-internals/routing/lib/services/router.js +5 -2
- package/dist/packages/@ember/-internals/routing/lib/services/routing.js +3 -1
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +16 -4
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +14 -3
- package/dist/packages/@ember/-internals/routing/lib/utils.js +2 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +1 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +32 -32
- package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +1 -0
- package/dist/packages/@ember/-internals/runtime/lib/mixins/comparable.js +4 -4
- package/dist/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +29 -29
- package/dist/packages/@ember/-internals/runtime/lib/mixins/promise_proxy.js +16 -16
- package/dist/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +48 -48
- package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +8 -8
- package/dist/packages/@ember/-internals/runtime/lib/system/namespace.js +1 -2
- package/dist/packages/@ember/-internals/runtime/lib/type-of.js +1 -1
- package/dist/packages/@ember/-internals/utils/index.js +8 -8
- package/dist/packages/@ember/-internals/views/lib/system/utils.js +1 -0
- package/dist/packages/@ember/array/index.js +1 -1
- package/dist/packages/@ember/object/compat.js +16 -7
- package/dist/packages/ember/version.js +1 -1
- package/docs/data.json +224 -242
- package/package.json +2 -2
package/dist/ember.debug.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
|
7
7
|
* @license Licensed under MIT license
|
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
|
9
|
-
* @version 4.3.0-alpha.
|
|
9
|
+
* @version 4.3.0-alpha.3
|
|
10
10
|
*/
|
|
11
11
|
/* eslint-disable no-var */
|
|
12
12
|
|
|
@@ -1481,7 +1481,7 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
|
|
|
1481
1481
|
The resolver instance of the application
|
|
1482
1482
|
being debugged. This property will be injected
|
|
1483
1483
|
on creation.
|
|
1484
|
-
|
|
1484
|
+
@property resolver
|
|
1485
1485
|
@default null
|
|
1486
1486
|
@public
|
|
1487
1487
|
*/
|
|
@@ -1490,7 +1490,7 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
|
|
|
1490
1490
|
/**
|
|
1491
1491
|
Returns true if it is possible to catalog a list of available
|
|
1492
1492
|
classes in the resolver for a given type.
|
|
1493
|
-
|
|
1493
|
+
@method canCatalogEntriesByType
|
|
1494
1494
|
@param {String} type The type. e.g. "model", "controller", "route".
|
|
1495
1495
|
@return {boolean} whether a list is available for this type.
|
|
1496
1496
|
@public
|
|
@@ -1505,7 +1505,7 @@ define("@ember/-internals/extension-support/lib/container_debug_adapter", ["expo
|
|
|
1505
1505
|
|
|
1506
1506
|
/**
|
|
1507
1507
|
Returns the available classes a given type.
|
|
1508
|
-
|
|
1508
|
+
@method catalogEntriesByType
|
|
1509
1509
|
@param {String} type The type. e.g. "model", "controller", "route".
|
|
1510
1510
|
@return {Array} An array of strings.
|
|
1511
1511
|
@public
|
|
@@ -1555,25 +1555,6 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1555
1555
|
}
|
|
1556
1556
|
|
|
1557
1557
|
class RecordsWatcher {
|
|
1558
|
-
getCacheForItem(record) {
|
|
1559
|
-
var recordCache = this.recordCaches.get(record);
|
|
1560
|
-
|
|
1561
|
-
if (!recordCache) {
|
|
1562
|
-
var hasBeenAdded = false;
|
|
1563
|
-
recordCache = (0, _validator.createCache)(() => {
|
|
1564
|
-
if (!hasBeenAdded) {
|
|
1565
|
-
this.added.push(this.wrapRecord(record));
|
|
1566
|
-
hasBeenAdded = true;
|
|
1567
|
-
} else {
|
|
1568
|
-
this.updated.push(this.wrapRecord(record));
|
|
1569
|
-
}
|
|
1570
|
-
});
|
|
1571
|
-
this.recordCaches.set(record, recordCache);
|
|
1572
|
-
}
|
|
1573
|
-
|
|
1574
|
-
return recordCache;
|
|
1575
|
-
}
|
|
1576
|
-
|
|
1577
1558
|
constructor(records, recordsAdded, recordsUpdated, recordsRemoved, wrapRecord, release) {
|
|
1578
1559
|
this.recordCaches = new Map();
|
|
1579
1560
|
this.added = [];
|
|
@@ -1617,6 +1598,25 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1617
1598
|
});
|
|
1618
1599
|
}
|
|
1619
1600
|
|
|
1601
|
+
getCacheForItem(record) {
|
|
1602
|
+
var recordCache = this.recordCaches.get(record);
|
|
1603
|
+
|
|
1604
|
+
if (!recordCache) {
|
|
1605
|
+
var hasBeenAdded = false;
|
|
1606
|
+
recordCache = (0, _validator.createCache)(() => {
|
|
1607
|
+
if (!hasBeenAdded) {
|
|
1608
|
+
this.added.push(this.wrapRecord(record));
|
|
1609
|
+
hasBeenAdded = true;
|
|
1610
|
+
} else {
|
|
1611
|
+
this.updated.push(this.wrapRecord(record));
|
|
1612
|
+
}
|
|
1613
|
+
});
|
|
1614
|
+
this.recordCaches.set(record, recordCache);
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
return recordCache;
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
1620
|
revalidate() {
|
|
1621
1621
|
(0, _validator.getValue)(this.recordArrayCache);
|
|
1622
1622
|
}
|
|
@@ -1707,7 +1707,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1707
1707
|
/**
|
|
1708
1708
|
The container-debug-adapter which is used
|
|
1709
1709
|
to list all models.
|
|
1710
|
-
|
|
1710
|
+
@property containerDebugAdapter
|
|
1711
1711
|
@default undefined
|
|
1712
1712
|
@since 1.5.0
|
|
1713
1713
|
@public
|
|
@@ -1717,7 +1717,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1717
1717
|
The number of attributes to send
|
|
1718
1718
|
as columns. (Enough to make the record
|
|
1719
1719
|
identifiable).
|
|
1720
|
-
|
|
1720
|
+
@private
|
|
1721
1721
|
@property attributeLimit
|
|
1722
1722
|
@default 3
|
|
1723
1723
|
@since 1.3.0
|
|
@@ -1728,24 +1728,24 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1728
1728
|
Ember Data > v1.0.0-beta.18
|
|
1729
1729
|
requires string model names to be passed
|
|
1730
1730
|
around instead of the actual factories.
|
|
1731
|
-
|
|
1731
|
+
This is a stamp for the Ember Inspector
|
|
1732
1732
|
to differentiate between the versions
|
|
1733
1733
|
to be able to support older versions too.
|
|
1734
|
-
|
|
1734
|
+
@public
|
|
1735
1735
|
@property acceptsModelName
|
|
1736
1736
|
*/
|
|
1737
1737
|
acceptsModelName: true,
|
|
1738
1738
|
|
|
1739
1739
|
/**
|
|
1740
1740
|
Map from records arrays to RecordsWatcher instances
|
|
1741
|
-
|
|
1741
|
+
@private
|
|
1742
1742
|
@property recordsWatchers
|
|
1743
1743
|
@since 3.26.0
|
|
1744
1744
|
*/
|
|
1745
1745
|
|
|
1746
1746
|
/**
|
|
1747
1747
|
Map from records arrays to TypeWatcher instances
|
|
1748
|
-
|
|
1748
|
+
@private
|
|
1749
1749
|
@property typeWatchers
|
|
1750
1750
|
@since 3.26.0
|
|
1751
1751
|
*/
|
|
@@ -1753,15 +1753,15 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1753
1753
|
/**
|
|
1754
1754
|
Callback that is currently scheduled on backburner end to flush and check
|
|
1755
1755
|
all active watchers.
|
|
1756
|
-
|
|
1756
|
+
@private
|
|
1757
1757
|
@property flushWatchers
|
|
1758
1758
|
@since 3.26.0
|
|
1759
|
-
|
|
1759
|
+
*/
|
|
1760
1760
|
|
|
1761
1761
|
/**
|
|
1762
1762
|
Stores all methods that clear observers.
|
|
1763
1763
|
These methods will be called on destruction.
|
|
1764
|
-
|
|
1764
|
+
@private
|
|
1765
1765
|
@property releaseMethods
|
|
1766
1766
|
@since 1.3.0
|
|
1767
1767
|
*/
|
|
@@ -1770,7 +1770,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1770
1770
|
Specifies how records can be filtered.
|
|
1771
1771
|
Records returned will need to have a `filterValues`
|
|
1772
1772
|
property with a key for every name in the returned array.
|
|
1773
|
-
|
|
1773
|
+
@public
|
|
1774
1774
|
@method getFilters
|
|
1775
1775
|
@return {Array} List of objects defining filters.
|
|
1776
1776
|
The object should have a `name` and `desc` property.
|
|
@@ -1781,13 +1781,13 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1781
1781
|
|
|
1782
1782
|
/**
|
|
1783
1783
|
Fetch the model types and observe them for changes.
|
|
1784
|
-
|
|
1784
|
+
@public
|
|
1785
1785
|
@method watchModelTypes
|
|
1786
|
-
|
|
1786
|
+
@param {Function} typesAdded Callback to call to add types.
|
|
1787
1787
|
Takes an array of objects containing wrapped types (returned from `wrapModelType`).
|
|
1788
|
-
|
|
1788
|
+
@param {Function} typesUpdated Callback to call when a type has changed.
|
|
1789
1789
|
Takes an array of objects containing wrapped types.
|
|
1790
|
-
|
|
1790
|
+
@return {Function} Method to call to remove all observers
|
|
1791
1791
|
*/
|
|
1792
1792
|
watchModelTypes(typesAdded, typesUpdated) {
|
|
1793
1793
|
var modelTypes = this.getModelTypes();
|
|
@@ -1822,19 +1822,19 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1822
1822
|
|
|
1823
1823
|
/**
|
|
1824
1824
|
Fetch the records of a given type and observe them for changes.
|
|
1825
|
-
|
|
1825
|
+
@public
|
|
1826
1826
|
@method watchRecords
|
|
1827
|
-
|
|
1828
|
-
|
|
1827
|
+
@param {String} modelName The model name.
|
|
1828
|
+
@param {Function} recordsAdded Callback to call to add records.
|
|
1829
1829
|
Takes an array of objects containing wrapped records.
|
|
1830
1830
|
The object should have the following properties:
|
|
1831
1831
|
columnValues: {Object} The key and value of a table cell.
|
|
1832
1832
|
object: {Object} The actual record object.
|
|
1833
|
-
|
|
1833
|
+
@param {Function} recordsUpdated Callback to call when a record has changed.
|
|
1834
1834
|
Takes an array of objects containing wrapped records.
|
|
1835
|
-
|
|
1835
|
+
@param {Function} recordsRemoved Callback to call when a record has removed.
|
|
1836
1836
|
Takes an array of objects containing wrapped records.
|
|
1837
|
-
|
|
1837
|
+
@return {Function} Method to call to remove all observers.
|
|
1838
1838
|
*/
|
|
1839
1839
|
watchRecords(modelName, recordsAdded, recordsUpdated, recordsRemoved) {
|
|
1840
1840
|
var klass = this._nameToClass(modelName);
|
|
@@ -1894,9 +1894,9 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1894
1894
|
|
|
1895
1895
|
/**
|
|
1896
1896
|
Detect whether a class is a model.
|
|
1897
|
-
|
|
1897
|
+
Test that against the model class
|
|
1898
1898
|
of your persistence library.
|
|
1899
|
-
|
|
1899
|
+
@public
|
|
1900
1900
|
@method detect
|
|
1901
1901
|
@return boolean Whether the class is a model class or not.
|
|
1902
1902
|
*/
|
|
@@ -1906,7 +1906,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1906
1906
|
|
|
1907
1907
|
/**
|
|
1908
1908
|
Get the columns for a given model type.
|
|
1909
|
-
|
|
1909
|
+
@public
|
|
1910
1910
|
@method columnsForType
|
|
1911
1911
|
@return {Array} An array of columns of the following format:
|
|
1912
1912
|
name: {String} The name of the column.
|
|
@@ -1918,7 +1918,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1918
1918
|
|
|
1919
1919
|
/**
|
|
1920
1920
|
Adds observers to a model type class.
|
|
1921
|
-
|
|
1921
|
+
@private
|
|
1922
1922
|
@method observeModelType
|
|
1923
1923
|
@param {String} modelName The model type name.
|
|
1924
1924
|
@param {Function} typesUpdated Called when a type is modified.
|
|
@@ -1953,7 +1953,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1953
1953
|
|
|
1954
1954
|
/**
|
|
1955
1955
|
Wraps a given model type and observes changes to it.
|
|
1956
|
-
|
|
1956
|
+
@private
|
|
1957
1957
|
@method wrapModelType
|
|
1958
1958
|
@param {Class} klass A model class.
|
|
1959
1959
|
@param {String} modelName Name of the class.
|
|
@@ -1981,7 +1981,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
1981
1981
|
|
|
1982
1982
|
/**
|
|
1983
1983
|
Fetches all models defined in the application.
|
|
1984
|
-
|
|
1984
|
+
@private
|
|
1985
1985
|
@method getModelTypes
|
|
1986
1986
|
@return {Array} Array of model types.
|
|
1987
1987
|
*/
|
|
@@ -2009,7 +2009,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2009
2009
|
/**
|
|
2010
2010
|
Loops over all namespaces and all objects
|
|
2011
2011
|
attached to them.
|
|
2012
|
-
|
|
2012
|
+
@private
|
|
2013
2013
|
@method _getObjectsOnNamespaces
|
|
2014
2014
|
@return {Array} Array of model type strings.
|
|
2015
2015
|
*/
|
|
@@ -2037,7 +2037,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2037
2037
|
|
|
2038
2038
|
/**
|
|
2039
2039
|
Fetches all loaded records for a given type.
|
|
2040
|
-
|
|
2040
|
+
@public
|
|
2041
2041
|
@method getRecords
|
|
2042
2042
|
@return {Array} An array of records.
|
|
2043
2043
|
This array will be observed for changes,
|
|
@@ -2049,7 +2049,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2049
2049
|
|
|
2050
2050
|
/**
|
|
2051
2051
|
Wraps a record and observers changes to it.
|
|
2052
|
-
|
|
2052
|
+
@private
|
|
2053
2053
|
@method wrapRecord
|
|
2054
2054
|
@param {Object} record The record instance.
|
|
2055
2055
|
@return {Object} The wrapped record. Format:
|
|
@@ -2069,7 +2069,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2069
2069
|
|
|
2070
2070
|
/**
|
|
2071
2071
|
Gets the values for each column.
|
|
2072
|
-
|
|
2072
|
+
@public
|
|
2073
2073
|
@method getRecordColumnValues
|
|
2074
2074
|
@return {Object} Keys should match column names defined
|
|
2075
2075
|
by the model type.
|
|
@@ -2080,7 +2080,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2080
2080
|
|
|
2081
2081
|
/**
|
|
2082
2082
|
Returns keywords to match when searching records.
|
|
2083
|
-
|
|
2083
|
+
@public
|
|
2084
2084
|
@method getRecordKeywords
|
|
2085
2085
|
@return {Array} Relevant keywords for search.
|
|
2086
2086
|
*/
|
|
@@ -2090,7 +2090,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2090
2090
|
|
|
2091
2091
|
/**
|
|
2092
2092
|
Returns the values of filters defined by `getFilters`.
|
|
2093
|
-
|
|
2093
|
+
@public
|
|
2094
2094
|
@method getRecordFilterValues
|
|
2095
2095
|
@param {Object} record The record instance.
|
|
2096
2096
|
@return {Object} The filter values.
|
|
@@ -2101,7 +2101,7 @@ define("@ember/-internals/extension-support/lib/data_adapter", ["exports", "@emb
|
|
|
2101
2101
|
|
|
2102
2102
|
/**
|
|
2103
2103
|
Each record can have a color that represents its state.
|
|
2104
|
-
|
|
2104
|
+
@public
|
|
2105
2105
|
@method getRecordColor
|
|
2106
2106
|
@param {Object} record The record instance
|
|
2107
2107
|
@return {String} The records color.
|
|
@@ -4259,6 +4259,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
4259
4259
|
layoutName
|
|
4260
4260
|
} = component;
|
|
4261
4261
|
var owner = (0, _owner2.getOwner)(component);
|
|
4262
|
+
(true && !(owner) && (0, _debug.assert)('Component is unexpectedly missing an owner', owner));
|
|
4262
4263
|
var factory;
|
|
4263
4264
|
|
|
4264
4265
|
if (layout === undefined) {
|
|
@@ -5364,6 +5365,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
5364
5365
|
get _dispatcher() {
|
|
5365
5366
|
if (this.__dispatcher === undefined) {
|
|
5366
5367
|
var owner = (0, _owner2.getOwner)(this);
|
|
5368
|
+
(true && !(owner) && (0, _debug.assert)('Component is unexpectedly missing an owner', owner));
|
|
5367
5369
|
|
|
5368
5370
|
if (owner.lookup('-environment:main').isInteractive) {
|
|
5369
5371
|
this.__dispatcher = owner.lookup('event_dispatcher:main');
|
|
@@ -5624,60 +5626,16 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
5624
5626
|
@module @ember/component
|
|
5625
5627
|
*/
|
|
5626
5628
|
|
|
5629
|
+
var _a;
|
|
5630
|
+
|
|
5627
5631
|
var RECOMPUTE_TAG = (0, _utils.symbol)('RECOMPUTE_TAG');
|
|
5628
|
-
|
|
5629
|
-
Ember Helpers are functions that can compute values, and are used in templates.
|
|
5630
|
-
For example, this code calls a helper named `format-currency`:
|
|
5631
|
-
|
|
5632
|
-
```app/templates/application.hbs
|
|
5633
|
-
<Cost @cents={{230}} />
|
|
5634
|
-
```
|
|
5635
|
-
|
|
5636
|
-
```app/components/cost.hbs
|
|
5637
|
-
<div>{{format-currency @cents currency="$"}}</div>
|
|
5638
|
-
```
|
|
5639
|
-
|
|
5640
|
-
Additionally a helper can be called as a nested helper.
|
|
5641
|
-
In this example, we show the formatted currency value if the `showMoney`
|
|
5642
|
-
named argument is truthy.
|
|
5643
|
-
|
|
5644
|
-
```handlebars
|
|
5645
|
-
{{if @showMoney (format-currency @cents currency="$")}}
|
|
5646
|
-
```
|
|
5647
|
-
|
|
5648
|
-
Helpers defined using a class must provide a `compute` function. For example:
|
|
5649
|
-
|
|
5650
|
-
```app/helpers/format-currency.js
|
|
5651
|
-
import Helper from '@ember/component/helper';
|
|
5652
|
-
|
|
5653
|
-
export default class extends Helper {
|
|
5654
|
-
compute([cents], { currency }) {
|
|
5655
|
-
return `${currency}${cents * 0.01}`;
|
|
5656
|
-
}
|
|
5657
|
-
}
|
|
5658
|
-
```
|
|
5659
|
-
|
|
5660
|
-
Each time the input to a helper changes, the `compute` function will be
|
|
5661
|
-
called again.
|
|
5662
|
-
|
|
5663
|
-
As instances, these helpers also have access to the container and will accept
|
|
5664
|
-
injected dependencies.
|
|
5665
|
-
|
|
5666
|
-
Additionally, class helpers can call `recompute` to force a new computation.
|
|
5667
|
-
|
|
5668
|
-
@class Helper
|
|
5669
|
-
@extends CoreObject
|
|
5670
|
-
@public
|
|
5671
|
-
@since 1.13.0
|
|
5672
|
-
*/
|
|
5632
|
+
var IS_CLASSIC_HELPER = Symbol('IS_CLASSIC_HELPER');
|
|
5673
5633
|
|
|
5674
|
-
|
|
5634
|
+
class Helper extends _runtime2.FrameworkObject {
|
|
5675
5635
|
init() {
|
|
5676
|
-
|
|
5677
|
-
|
|
5636
|
+
super.init();
|
|
5678
5637
|
this[RECOMPUTE_TAG] = (0, _validator.createTag)();
|
|
5679
|
-
}
|
|
5680
|
-
|
|
5638
|
+
}
|
|
5681
5639
|
/**
|
|
5682
5640
|
On a class-based helper, it may be useful to force a recomputation of that
|
|
5683
5641
|
helpers value. This is akin to `rerender` on a component.
|
|
@@ -5701,16 +5659,18 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
5701
5659
|
@public
|
|
5702
5660
|
@since 1.13.0
|
|
5703
5661
|
*/
|
|
5662
|
+
|
|
5663
|
+
|
|
5704
5664
|
recompute() {
|
|
5705
5665
|
(0, _runloop.join)(() => (0, _validator.dirtyTag)(this[RECOMPUTE_TAG]));
|
|
5706
5666
|
}
|
|
5707
5667
|
|
|
5708
|
-
}
|
|
5668
|
+
}
|
|
5709
5669
|
|
|
5710
5670
|
_exports.Helper = Helper;
|
|
5711
|
-
|
|
5671
|
+
_a = IS_CLASSIC_HELPER;
|
|
5712
5672
|
Helper.isHelperFactory = true;
|
|
5713
|
-
Helper[
|
|
5673
|
+
Helper[_a] = true;
|
|
5714
5674
|
|
|
5715
5675
|
function isClassicHelper(obj) {
|
|
5716
5676
|
return obj[IS_CLASSIC_HELPER] === true;
|
|
@@ -5728,7 +5688,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
5728
5688
|
}
|
|
5729
5689
|
|
|
5730
5690
|
createHelper(definition, args) {
|
|
5731
|
-
var instance = definition
|
|
5691
|
+
var instance = isFactoryManager(definition) ? definition.create() : definition.create(this.ownerInjection);
|
|
5732
5692
|
return {
|
|
5733
5693
|
instance,
|
|
5734
5694
|
args
|
|
@@ -5760,6 +5720,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
5760
5720
|
|
|
5761
5721
|
}
|
|
5762
5722
|
|
|
5723
|
+
function isFactoryManager(obj) {
|
|
5724
|
+
return obj != null && 'class' in obj;
|
|
5725
|
+
}
|
|
5726
|
+
|
|
5763
5727
|
(0, _manager2.setHelperManager)(owner => {
|
|
5764
5728
|
return new ClassicHelperManager(owner);
|
|
5765
5729
|
}, Helper);
|
|
@@ -8190,12 +8154,13 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
8190
8154
|
var {
|
|
8191
8155
|
_viewRegistry
|
|
8192
8156
|
} = props;
|
|
8193
|
-
var document = (0, _owner2.getOwner)(props).lookup('service:-document');
|
|
8194
|
-
var env = (0, _owner2.getOwner)(props).lookup('-environment:main');
|
|
8195
8157
|
var owner = (0, _owner2.getOwner)(props);
|
|
8158
|
+
(true && !(owner) && (0, _debug.assert)('Renderer is unexpectedly missing an owner', owner));
|
|
8159
|
+
var document = owner.lookup('service:-document');
|
|
8160
|
+
var env = owner.lookup('-environment:main');
|
|
8196
8161
|
var rootTemplate = owner.lookup((0, _container.privatize)`template:-root`);
|
|
8197
8162
|
var builder = owner.lookup('service:-dom-builder');
|
|
8198
|
-
return new this(
|
|
8163
|
+
return new this(owner, document, env, rootTemplate, _viewRegistry, builder);
|
|
8199
8164
|
}
|
|
8200
8165
|
|
|
8201
8166
|
get debugRenderTree() {
|
|
@@ -8529,6 +8494,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
8529
8494
|
template: templateFactory$$1
|
|
8530
8495
|
} = options;
|
|
8531
8496
|
var owner = (0, _owner2.getOwner)(options);
|
|
8497
|
+
(true && !(owner) && (0, _debug.assert)('OutletView is unexpectedly missing an owner', owner));
|
|
8532
8498
|
var template = templateFactory$$1(owner);
|
|
8533
8499
|
return new OutletView(_environment, owner, template, namespace);
|
|
8534
8500
|
}
|
|
@@ -8568,7 +8534,9 @@ define("@ember/-internals/glimmer/index", ["exports", "@glimmer/opcode-compiler"
|
|
|
8568
8534
|
// association won't leak
|
|
8569
8535
|
registry.register('service:-dom-builder', {
|
|
8570
8536
|
create(props) {
|
|
8571
|
-
var
|
|
8537
|
+
var owner = (0, _owner2.getOwner)(props);
|
|
8538
|
+
(true && !(owner) && (0, _debug.assert)('DomBuilderService is unexpectedly missing an owner', owner));
|
|
8539
|
+
var env = owner.lookup('-environment:main');
|
|
8572
8540
|
|
|
8573
8541
|
switch (env._renderMode) {
|
|
8574
8542
|
case 'serialize':
|
|
@@ -13851,7 +13819,9 @@ define("@ember/-internals/routing/lib/location/auto_location", ["exports", "@emb
|
|
|
13851
13819
|
implementation = 'none';
|
|
13852
13820
|
}
|
|
13853
13821
|
|
|
13854
|
-
var
|
|
13822
|
+
var owner = (0, _owner.getOwner)(this);
|
|
13823
|
+
(true && !(owner) && (0, _debug.assert)('AutoLocation is unexpectedly missing an owner', owner));
|
|
13824
|
+
var concrete = owner.lookup(`location:${implementation}`);
|
|
13855
13825
|
(true && !(concrete !== undefined) && (0, _debug.assert)(`Could not find location '${implementation}'.`, concrete !== undefined));
|
|
13856
13826
|
(0, _metal.set)(concrete, 'rootURL', rootURL);
|
|
13857
13827
|
(0, _metal.set)(this, 'concreteImplementation', concrete);
|
|
@@ -14797,6 +14767,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
|
|
|
14797
14767
|
}
|
|
14798
14768
|
|
|
14799
14769
|
var owner = (0, _owner.getOwner)(this);
|
|
14770
|
+
(true && !(owner) && (0, _debug.assert)('RouterService is unexpectedly missing an owner', owner));
|
|
14800
14771
|
router = owner.lookup('router:main');
|
|
14801
14772
|
return this[ROUTER] = router;
|
|
14802
14773
|
}
|
|
@@ -15095,7 +15066,9 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
|
|
|
15095
15066
|
|
|
15096
15067
|
(true && !(this._router.hasRoute(pivotRouteName)) && (0, _debug.assert)(`The route "${pivotRouteName}" was not found`, this._router.hasRoute(pivotRouteName)));
|
|
15097
15068
|
(true && !(this.isActive(pivotRouteName)) && (0, _debug.assert)(`The route "${pivotRouteName}" is currently not active`, this.isActive(pivotRouteName)));
|
|
15098
|
-
var
|
|
15069
|
+
var owner = (0, _owner.getOwner)(this);
|
|
15070
|
+
(true && !(owner) && (0, _debug.assert)('RouterService is unexpectedly missing an owner', owner));
|
|
15071
|
+
var pivotRoute = owner.lookup(`route:${pivotRouteName}`);
|
|
15099
15072
|
return this._router._routerMicrolib.refresh(pivotRoute);
|
|
15100
15073
|
}
|
|
15101
15074
|
|
|
@@ -15231,7 +15204,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
|
|
|
15231
15204
|
currentRoute: (0, _computed.readOnly)('_router.currentRoute')
|
|
15232
15205
|
});
|
|
15233
15206
|
});
|
|
15234
|
-
define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/-internals/owner", "@ember/-internals/utils", "@ember/object/computed", "@ember/service"], function (_exports, _owner, _utils, _computed, _service) {
|
|
15207
|
+
define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/-internals/owner", "@ember/-internals/utils", "@ember/debug", "@ember/object/computed", "@ember/service"], function (_exports, _owner, _utils, _debug, _computed, _service) {
|
|
15235
15208
|
"use strict";
|
|
15236
15209
|
|
|
15237
15210
|
Object.defineProperty(_exports, "__esModule", {
|
|
@@ -15263,6 +15236,7 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/-in
|
|
|
15263
15236
|
}
|
|
15264
15237
|
|
|
15265
15238
|
var owner = (0, _owner.getOwner)(this);
|
|
15239
|
+
(true && !(owner) && (0, _debug.assert)('RoutingService is unexpectedly missing an owner', owner));
|
|
15266
15240
|
router = owner.lookup('router:main');
|
|
15267
15241
|
router.setupRouter();
|
|
15268
15242
|
return this[ROUTER] = router;
|
|
@@ -16076,7 +16050,9 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
16076
16050
|
|
|
16077
16051
|
_setRouteName(name) {
|
|
16078
16052
|
this.routeName = name;
|
|
16079
|
-
|
|
16053
|
+
var owner = (0, _owner.getOwner)(this);
|
|
16054
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
16055
|
+
this.fullRouteName = getEngineRouteName(owner, name);
|
|
16080
16056
|
}
|
|
16081
16057
|
/**
|
|
16082
16058
|
@private
|
|
@@ -16176,7 +16152,9 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
16176
16152
|
|
|
16177
16153
|
|
|
16178
16154
|
paramsFor(name) {
|
|
16179
|
-
var
|
|
16155
|
+
var owner = (0, _owner.getOwner)(this);
|
|
16156
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
16157
|
+
var route = owner.lookup(`route:${name}`);
|
|
16180
16158
|
|
|
16181
16159
|
if (route === undefined) {
|
|
16182
16160
|
return {};
|
|
@@ -17124,6 +17102,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17124
17102
|
|
|
17125
17103
|
controllerFor(name, _skipAssert) {
|
|
17126
17104
|
var owner = (0, _owner.getOwner)(this);
|
|
17105
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
17127
17106
|
var route = owner.lookup(`route:${name}`);
|
|
17128
17107
|
|
|
17129
17108
|
if (route && route.controllerName) {
|
|
@@ -17157,6 +17136,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17157
17136
|
|
|
17158
17137
|
generateController(name) {
|
|
17159
17138
|
var owner = (0, _owner.getOwner)(this);
|
|
17139
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
17160
17140
|
return (0, _generate_controller.default)(owner, name);
|
|
17161
17141
|
}
|
|
17162
17142
|
/**
|
|
@@ -17198,6 +17178,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17198
17178
|
modelFor(_name) {
|
|
17199
17179
|
var name;
|
|
17200
17180
|
var owner = (0, _owner.getOwner)(this);
|
|
17181
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
17201
17182
|
var transition = this._router && this._router._routerMicrolib ? this._router._routerMicrolib.activeTransition : undefined; // Only change the route name when there is an active transition.
|
|
17202
17183
|
// Otherwise, use the passed in route name.
|
|
17203
17184
|
|
|
@@ -17320,6 +17301,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17320
17301
|
|
|
17321
17302
|
get store() {
|
|
17322
17303
|
var owner = (0, _owner.getOwner)(this);
|
|
17304
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
17323
17305
|
var routeName = this.routeName;
|
|
17324
17306
|
return {
|
|
17325
17307
|
find(name, value) {
|
|
@@ -17351,6 +17333,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17351
17333
|
var combinedQueryParameterConfiguration;
|
|
17352
17334
|
var controllerName = this.controllerName || this.routeName;
|
|
17353
17335
|
var owner = (0, _owner.getOwner)(this);
|
|
17336
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
17354
17337
|
var controller = owner.lookup(`controller:${controllerName}`);
|
|
17355
17338
|
var queryParameterConfiguraton = (0, _metal.get)(this, 'queryParams');
|
|
17356
17339
|
var hasRouterDefinedQueryParams = Object.keys(queryParameterConfiguraton).length > 0;
|
|
@@ -17512,6 +17495,7 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17512
17495
|
|
|
17513
17496
|
(true && !(isDefaultRender || !(options && 'outlet' in options && options.outlet === undefined)) && (0, _debug.assert)('You passed undefined as the outlet name.', isDefaultRender || !(options && 'outlet' in options && options.outlet === undefined)));
|
|
17514
17497
|
var owner = (0, _owner.getOwner)(route);
|
|
17498
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
17515
17499
|
var name, templateName, into, outlet, model;
|
|
17516
17500
|
var controller = undefined;
|
|
17517
17501
|
|
|
@@ -17627,10 +17611,12 @@ define("@ember/-internals/routing/lib/system/route", ["exports", "@ember/-intern
|
|
|
17627
17611
|
}
|
|
17628
17612
|
|
|
17629
17613
|
return params;
|
|
17630
|
-
}
|
|
17614
|
+
} // FIXME: This should probably actually return a `NativeArray` if the passed in value is an Array.
|
|
17615
|
+
|
|
17631
17616
|
|
|
17632
17617
|
function copyDefaultValue(value) {
|
|
17633
17618
|
if (Array.isArray(value)) {
|
|
17619
|
+
// SAFETY: We lost the type data about the array if we don't cast.
|
|
17634
17620
|
return (0, _runtime.A)(value.slice());
|
|
17635
17621
|
}
|
|
17636
17622
|
|
|
@@ -18139,6 +18125,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
18139
18125
|
var location = (0, _metal.get)(this, 'location');
|
|
18140
18126
|
var router = this;
|
|
18141
18127
|
var owner = (0, _owner.getOwner)(this);
|
|
18128
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
18142
18129
|
var seen = Object.create(null);
|
|
18143
18130
|
|
|
18144
18131
|
class PrivateRouter extends _router_js.default {
|
|
@@ -18155,6 +18142,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
18155
18142
|
}
|
|
18156
18143
|
|
|
18157
18144
|
var fullRouteName = `route:${routeName}`;
|
|
18145
|
+
(true && !(routeOwner) && (0, _debug.assert)('Route is unexpectedly missing an owner', routeOwner));
|
|
18158
18146
|
var route = routeOwner.lookup(fullRouteName);
|
|
18159
18147
|
|
|
18160
18148
|
if (seen[name]) {
|
|
@@ -18328,6 +18316,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
18328
18316
|
|
|
18329
18317
|
var router = this;
|
|
18330
18318
|
var owner = (0, _owner.getOwner)(this);
|
|
18319
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
18331
18320
|
var options = {
|
|
18332
18321
|
enableLoadingSubstates,
|
|
18333
18322
|
|
|
@@ -18357,6 +18346,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
18357
18346
|
|
|
18358
18347
|
_hasModuleBasedResolver() {
|
|
18359
18348
|
var owner = (0, _owner.getOwner)(this);
|
|
18349
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
18360
18350
|
var resolver = (0, _metal.get)(owner, 'application.__registry__.resolver.moduleBasedResolver');
|
|
18361
18351
|
return Boolean(resolver);
|
|
18362
18352
|
}
|
|
@@ -18465,6 +18455,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
18465
18455
|
|
|
18466
18456
|
if (!this._toplevelView) {
|
|
18467
18457
|
var owner = (0, _owner.getOwner)(this);
|
|
18458
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
18468
18459
|
var OutletView = owner.factoryFor('view:-outlet');
|
|
18469
18460
|
var application = owner.lookup('application:main');
|
|
18470
18461
|
var environment = owner.lookup('-environment:main');
|
|
@@ -18683,6 +18674,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
18683
18674
|
var location = this.location;
|
|
18684
18675
|
var rootURL = this.rootURL;
|
|
18685
18676
|
var owner = (0, _owner.getOwner)(this);
|
|
18677
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
18686
18678
|
|
|
18687
18679
|
if ('string' === typeof location) {
|
|
18688
18680
|
var resolvedLocation = owner.lookup(`location:${location}`);
|
|
@@ -19168,6 +19160,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
19168
19160
|
|
|
19169
19161
|
if (!engineInstance) {
|
|
19170
19162
|
var owner = (0, _owner.getOwner)(this);
|
|
19163
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
19171
19164
|
(true && !(owner.hasRegistration(`engine:${name}`)) && (0, _debug.assert)(`You attempted to mount the engine '${name}' in your router map, but the engine can not be found.`, owner.hasRegistration(`engine:${name}`)));
|
|
19172
19165
|
engineInstance = owner.buildChildEngineInstance(name, {
|
|
19173
19166
|
routable: true,
|
|
@@ -19335,6 +19328,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
19335
19328
|
|
|
19336
19329
|
function findRouteSubstateName(route, state) {
|
|
19337
19330
|
var owner = (0, _owner.getOwner)(route);
|
|
19331
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
19338
19332
|
var {
|
|
19339
19333
|
routeName,
|
|
19340
19334
|
fullRouteName,
|
|
@@ -19358,6 +19352,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
19358
19352
|
|
|
19359
19353
|
function findRouteStateName(route, state) {
|
|
19360
19354
|
var owner = (0, _owner.getOwner)(route);
|
|
19355
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
19361
19356
|
var {
|
|
19362
19357
|
routeName,
|
|
19363
19358
|
fullRouteName,
|
|
@@ -19467,7 +19462,9 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
19467
19462
|
(0, _metal.set)(router, 'currentPath', path);
|
|
19468
19463
|
(0, _metal.set)(router, 'currentRouteName', currentRouteName);
|
|
19469
19464
|
(0, _metal.set)(router, 'currentURL', currentURL);
|
|
19470
|
-
var
|
|
19465
|
+
var owner = (0, _owner.getOwner)(router);
|
|
19466
|
+
(true && !(owner) && (0, _debug.assert)('Router is unexpectedly missing an owner', owner));
|
|
19467
|
+
var appController = owner.lookup('controller:application');
|
|
19471
19468
|
|
|
19472
19469
|
if (!appController) {
|
|
19473
19470
|
// appController might not exist when top-level loading/error
|
|
@@ -20064,6 +20061,7 @@ define("@ember/-internals/routing/lib/utils", ["exports", "@ember/-internals/met
|
|
|
20064
20061
|
function prefixRouteNameArg(route, args) {
|
|
20065
20062
|
var routeName = args[0];
|
|
20066
20063
|
var owner = (0, _owner.getOwner)(route);
|
|
20064
|
+
(true && !(owner) && (0, _debug.assert)('Route is unexpectedly missing an owner', owner));
|
|
20067
20065
|
var prefix = owner.mountPoint; // only alter the routeName if it's actually referencing a route.
|
|
20068
20066
|
|
|
20069
20067
|
if (owner.routable && typeof routeName === 'string') {
|
|
@@ -20669,7 +20667,7 @@ define("@ember/-internals/runtime/lib/mixins/-proxy", ["exports", "@ember/-inter
|
|
|
20669
20667
|
var _default = _metal.Mixin.create({
|
|
20670
20668
|
/**
|
|
20671
20669
|
The object whose properties will be forwarded.
|
|
20672
|
-
|
|
20670
|
+
@property content
|
|
20673
20671
|
@type {unknown}
|
|
20674
20672
|
@default null
|
|
20675
20673
|
@public
|
|
@@ -20750,16 +20748,16 @@ define("@ember/-internals/runtime/lib/mixins/action_handler", ["exports", "@embe
|
|
|
20750
20748
|
/**
|
|
20751
20749
|
The collection of functions, keyed by name, available on this
|
|
20752
20750
|
`ActionHandler` as action targets.
|
|
20753
|
-
|
|
20751
|
+
These functions will be invoked when a matching `{{action}}` is triggered
|
|
20754
20752
|
from within a template and the application's current route is this route.
|
|
20755
|
-
|
|
20753
|
+
Actions can also be invoked from other parts of your application
|
|
20756
20754
|
via `ActionHandler#send`.
|
|
20757
|
-
|
|
20755
|
+
The `actions` hash will inherit action handlers from
|
|
20758
20756
|
the `actions` hash defined on extended parent classes
|
|
20759
20757
|
or mixins rather than just replace the entire hash, e.g.:
|
|
20760
|
-
|
|
20758
|
+
```app/mixins/can-display-banner.js
|
|
20761
20759
|
import Mixin from '@ember/mixin';
|
|
20762
|
-
|
|
20760
|
+
export default Mixin.create({
|
|
20763
20761
|
actions: {
|
|
20764
20762
|
displayBanner(msg) {
|
|
20765
20763
|
// ...
|
|
@@ -20767,28 +20765,28 @@ define("@ember/-internals/runtime/lib/mixins/action_handler", ["exports", "@embe
|
|
|
20767
20765
|
}
|
|
20768
20766
|
});
|
|
20769
20767
|
```
|
|
20770
|
-
|
|
20768
|
+
```app/routes/welcome.js
|
|
20771
20769
|
import Route from '@ember/routing/route';
|
|
20772
20770
|
import CanDisplayBanner from '../mixins/can-display-banner';
|
|
20773
|
-
|
|
20771
|
+
export default Route.extend(CanDisplayBanner, {
|
|
20774
20772
|
actions: {
|
|
20775
20773
|
playMusic() {
|
|
20776
20774
|
// ...
|
|
20777
20775
|
}
|
|
20778
20776
|
}
|
|
20779
20777
|
});
|
|
20780
|
-
|
|
20778
|
+
// `WelcomeRoute`, when active, will be able to respond
|
|
20781
20779
|
// to both actions, since the actions hash is merged rather
|
|
20782
20780
|
// then replaced when extending mixins / parent classes.
|
|
20783
20781
|
this.send('displayBanner');
|
|
20784
20782
|
this.send('playMusic');
|
|
20785
20783
|
```
|
|
20786
|
-
|
|
20784
|
+
Within a Controller, Route or Component's action handler,
|
|
20787
20785
|
the value of the `this` context is the Controller, Route or
|
|
20788
20786
|
Component object:
|
|
20789
|
-
|
|
20787
|
+
```app/routes/song.js
|
|
20790
20788
|
import Route from '@ember/routing/route';
|
|
20791
|
-
|
|
20789
|
+
export default Route.extend({
|
|
20792
20790
|
actions: {
|
|
20793
20791
|
myAction() {
|
|
20794
20792
|
this.controllerFor("song");
|
|
@@ -20798,13 +20796,13 @@ define("@ember/-internals/runtime/lib/mixins/action_handler", ["exports", "@embe
|
|
|
20798
20796
|
}
|
|
20799
20797
|
});
|
|
20800
20798
|
```
|
|
20801
|
-
|
|
20799
|
+
It is also possible to call `this._super(...arguments)` from within an
|
|
20802
20800
|
action handler if it overrides a handler defined on a parent
|
|
20803
20801
|
class or mixin:
|
|
20804
|
-
|
|
20805
|
-
|
|
20802
|
+
Take for example the following routes:
|
|
20803
|
+
```app/mixins/debug-route.js
|
|
20806
20804
|
import Mixin from '@ember/mixin';
|
|
20807
|
-
|
|
20805
|
+
export default Mixin.create({
|
|
20808
20806
|
actions: {
|
|
20809
20807
|
debugRouteInformation() {
|
|
20810
20808
|
console.debug("It's a-me, console.debug!");
|
|
@@ -20812,54 +20810,54 @@ define("@ember/-internals/runtime/lib/mixins/action_handler", ["exports", "@embe
|
|
|
20812
20810
|
}
|
|
20813
20811
|
});
|
|
20814
20812
|
```
|
|
20815
|
-
|
|
20813
|
+
```app/routes/annoying-debug.js
|
|
20816
20814
|
import Route from '@ember/routing/route';
|
|
20817
20815
|
import DebugRoute from '../mixins/debug-route';
|
|
20818
|
-
|
|
20816
|
+
export default Route.extend(DebugRoute, {
|
|
20819
20817
|
actions: {
|
|
20820
20818
|
debugRouteInformation() {
|
|
20821
20819
|
// also call the debugRouteInformation of mixed in DebugRoute
|
|
20822
20820
|
this._super(...arguments);
|
|
20823
|
-
|
|
20821
|
+
// show additional annoyance
|
|
20824
20822
|
window.alert(...);
|
|
20825
20823
|
}
|
|
20826
20824
|
}
|
|
20827
20825
|
});
|
|
20828
20826
|
```
|
|
20829
|
-
|
|
20830
|
-
|
|
20827
|
+
## Bubbling
|
|
20828
|
+
By default, an action will stop bubbling once a handler defined
|
|
20831
20829
|
on the `actions` hash handles it. To continue bubbling the action,
|
|
20832
20830
|
you must return `true` from the handler:
|
|
20833
|
-
|
|
20831
|
+
```app/router.js
|
|
20834
20832
|
Router.map(function() {
|
|
20835
20833
|
this.route("album", function() {
|
|
20836
20834
|
this.route("song");
|
|
20837
20835
|
});
|
|
20838
20836
|
});
|
|
20839
20837
|
```
|
|
20840
|
-
|
|
20838
|
+
```app/routes/album.js
|
|
20841
20839
|
import Route from '@ember/routing/route';
|
|
20842
|
-
|
|
20840
|
+
export default Route.extend({
|
|
20843
20841
|
actions: {
|
|
20844
20842
|
startPlaying: function() {
|
|
20845
20843
|
}
|
|
20846
20844
|
}
|
|
20847
20845
|
});
|
|
20848
20846
|
```
|
|
20849
|
-
|
|
20847
|
+
```app/routes/album-song.js
|
|
20850
20848
|
import Route from '@ember/routing/route';
|
|
20851
|
-
|
|
20849
|
+
export default Route.extend({
|
|
20852
20850
|
actions: {
|
|
20853
20851
|
startPlaying() {
|
|
20854
20852
|
// ...
|
|
20855
|
-
|
|
20853
|
+
if (actionShouldAlsoBeTriggeredOnParentRoute) {
|
|
20856
20854
|
return true;
|
|
20857
20855
|
}
|
|
20858
20856
|
}
|
|
20859
20857
|
}
|
|
20860
20858
|
});
|
|
20861
20859
|
```
|
|
20862
|
-
|
|
20860
|
+
@property actions
|
|
20863
20861
|
@type Object
|
|
20864
20862
|
@default null
|
|
20865
20863
|
@public
|
|
@@ -20869,14 +20867,14 @@ define("@ember/-internals/runtime/lib/mixins/action_handler", ["exports", "@embe
|
|
|
20869
20867
|
Triggers a named action on the `ActionHandler`. Any parameters
|
|
20870
20868
|
supplied after the `actionName` string will be passed as arguments
|
|
20871
20869
|
to the action target function.
|
|
20872
|
-
|
|
20870
|
+
If the `ActionHandler` has its `target` property set, actions may
|
|
20873
20871
|
bubble to the `target`. Bubbling happens when an `actionName` can
|
|
20874
20872
|
not be found in the `ActionHandler`'s `actions` hash or if the
|
|
20875
20873
|
action target function returns `true`.
|
|
20876
|
-
|
|
20877
|
-
|
|
20874
|
+
Example
|
|
20875
|
+
```app/routes/welcome.js
|
|
20878
20876
|
import Route from '@ember/routing/route';
|
|
20879
|
-
|
|
20877
|
+
export default Route.extend({
|
|
20880
20878
|
actions: {
|
|
20881
20879
|
playTheme() {
|
|
20882
20880
|
this.send('playMusic', 'theme.mp3');
|
|
@@ -20887,7 +20885,7 @@ define("@ember/-internals/runtime/lib/mixins/action_handler", ["exports", "@embe
|
|
|
20887
20885
|
}
|
|
20888
20886
|
});
|
|
20889
20887
|
```
|
|
20890
|
-
|
|
20888
|
+
@method send
|
|
20891
20889
|
@param {String} actionName The action to trigger
|
|
20892
20890
|
@param {*} context a context to send with the action
|
|
20893
20891
|
@public
|
|
@@ -21873,6 +21871,7 @@ define("@ember/-internals/runtime/lib/mixins/array", ["exports", "@ember/-intern
|
|
|
21873
21871
|
@return {Object} The reduced value.
|
|
21874
21872
|
@public
|
|
21875
21873
|
*/
|
|
21874
|
+
// FIXME: When called without initialValue, behavior does not match native behavior
|
|
21876
21875
|
reduce(callback, initialValue) {
|
|
21877
21876
|
(true && !(typeof callback === 'function') && (0, _debug.assert)('`reduce` expects a function as first argument.', typeof callback === 'function'));
|
|
21878
21877
|
var ret = initialValue;
|
|
@@ -22540,13 +22539,13 @@ define("@ember/-internals/runtime/lib/mixins/comparable", ["exports", "@ember/-i
|
|
|
22540
22539
|
var _default = _metal.Mixin.create({
|
|
22541
22540
|
/**
|
|
22542
22541
|
__Required.__ You must implement this method to apply this mixin.
|
|
22543
|
-
|
|
22542
|
+
Override to return the result of the comparison of the two parameters. The
|
|
22544
22543
|
compare method should return:
|
|
22545
|
-
|
|
22544
|
+
- `-1` if `a < b`
|
|
22546
22545
|
- `0` if `a == b`
|
|
22547
22546
|
- `1` if `a > b`
|
|
22548
|
-
|
|
22549
|
-
|
|
22547
|
+
Default implementation raises an exception.
|
|
22548
|
+
@method compare
|
|
22550
22549
|
@param a {Object} the first object to compare
|
|
22551
22550
|
@param b {Object} the second object to compare
|
|
22552
22551
|
@return {Number} the result of the comparison
|
|
@@ -22579,7 +22578,7 @@ define("@ember/-internals/runtime/lib/mixins/container_proxy", ["exports", "@emb
|
|
|
22579
22578
|
var containerProxyMixin = {
|
|
22580
22579
|
/**
|
|
22581
22580
|
The container stores state.
|
|
22582
|
-
|
|
22581
|
+
@private
|
|
22583
22582
|
@property {Ember.Container} __container__
|
|
22584
22583
|
*/
|
|
22585
22584
|
__container__: null,
|
|
@@ -22587,16 +22586,16 @@ define("@ember/-internals/runtime/lib/mixins/container_proxy", ["exports", "@emb
|
|
|
22587
22586
|
/**
|
|
22588
22587
|
Returns an object that can be used to provide an owner to a
|
|
22589
22588
|
manually created instance.
|
|
22590
|
-
|
|
22591
|
-
|
|
22589
|
+
Example:
|
|
22590
|
+
```
|
|
22592
22591
|
import { getOwner } from '@ember/application';
|
|
22593
|
-
|
|
22594
|
-
|
|
22592
|
+
let owner = getOwner(this);
|
|
22593
|
+
User.create(
|
|
22595
22594
|
owner.ownerInjection(),
|
|
22596
22595
|
{ username: 'rwjblue' }
|
|
22597
22596
|
)
|
|
22598
22597
|
```
|
|
22599
|
-
|
|
22598
|
+
@public
|
|
22600
22599
|
@method ownerInjection
|
|
22601
22600
|
@since 2.3.0
|
|
22602
22601
|
@return {Object}
|
|
@@ -22607,30 +22606,30 @@ define("@ember/-internals/runtime/lib/mixins/container_proxy", ["exports", "@emb
|
|
|
22607
22606
|
|
|
22608
22607
|
/**
|
|
22609
22608
|
Given a fullName return a corresponding instance.
|
|
22610
|
-
|
|
22609
|
+
The default behavior is for lookup to return a singleton instance.
|
|
22611
22610
|
The singleton is scoped to the container, allowing multiple containers
|
|
22612
22611
|
to all have their own locally scoped singletons.
|
|
22613
|
-
|
|
22612
|
+
```javascript
|
|
22614
22613
|
let registry = new Registry();
|
|
22615
22614
|
let container = registry.container();
|
|
22616
|
-
|
|
22617
|
-
|
|
22618
|
-
|
|
22619
|
-
|
|
22615
|
+
registry.register('api:twitter', Twitter);
|
|
22616
|
+
let twitter = container.lookup('api:twitter');
|
|
22617
|
+
twitter instanceof Twitter; // => true
|
|
22618
|
+
// by default the container will return singletons
|
|
22620
22619
|
let twitter2 = container.lookup('api:twitter');
|
|
22621
22620
|
twitter2 instanceof Twitter; // => true
|
|
22622
|
-
|
|
22621
|
+
twitter === twitter2; //=> true
|
|
22623
22622
|
```
|
|
22624
|
-
|
|
22625
|
-
|
|
22623
|
+
If singletons are not wanted an optional flag can be provided at lookup.
|
|
22624
|
+
```javascript
|
|
22626
22625
|
let registry = new Registry();
|
|
22627
22626
|
let container = registry.container();
|
|
22628
|
-
|
|
22629
|
-
|
|
22627
|
+
registry.register('api:twitter', Twitter);
|
|
22628
|
+
let twitter = container.lookup('api:twitter', { singleton: false });
|
|
22630
22629
|
let twitter2 = container.lookup('api:twitter', { singleton: false });
|
|
22631
|
-
|
|
22630
|
+
twitter === twitter2; //=> false
|
|
22632
22631
|
```
|
|
22633
|
-
|
|
22632
|
+
@public
|
|
22634
22633
|
@method lookup
|
|
22635
22634
|
@param {String} fullName
|
|
22636
22635
|
@param {Object} options
|
|
@@ -22655,32 +22654,32 @@ define("@ember/-internals/runtime/lib/mixins/container_proxy", ["exports", "@emb
|
|
|
22655
22654
|
|
|
22656
22655
|
/**
|
|
22657
22656
|
Given a fullName return a factory manager.
|
|
22658
|
-
|
|
22657
|
+
This method returns a manager which can be used for introspection of the
|
|
22659
22658
|
factory's class or for the creation of factory instances with initial
|
|
22660
22659
|
properties. The manager is an object with the following properties:
|
|
22661
|
-
|
|
22660
|
+
* `class` - The registered or resolved class.
|
|
22662
22661
|
* `create` - A function that will create an instance of the class with
|
|
22663
22662
|
any dependencies injected.
|
|
22664
|
-
|
|
22665
|
-
|
|
22663
|
+
For example:
|
|
22664
|
+
```javascript
|
|
22666
22665
|
import { getOwner } from '@ember/application';
|
|
22667
|
-
|
|
22666
|
+
let owner = getOwner(otherInstance);
|
|
22668
22667
|
// the owner is commonly the `applicationInstance`, and can be accessed via
|
|
22669
22668
|
// an instance initializer.
|
|
22670
|
-
|
|
22671
|
-
|
|
22669
|
+
let factory = owner.factoryFor('service:bespoke');
|
|
22670
|
+
factory.class;
|
|
22672
22671
|
// The registered or resolved class. For example when used with an Ember-CLI
|
|
22673
22672
|
// app, this would be the default export from `app/services/bespoke.js`.
|
|
22674
|
-
|
|
22673
|
+
let instance = factory.create({
|
|
22675
22674
|
someProperty: 'an initial property value'
|
|
22676
22675
|
});
|
|
22677
22676
|
// Create an instance with any injections and the passed options as
|
|
22678
22677
|
// initial properties.
|
|
22679
22678
|
```
|
|
22680
|
-
|
|
22679
|
+
Any instances created via the factory's `.create()` method *must* be destroyed
|
|
22681
22680
|
manually by the caller of `.create()`. Typically, this is done during the creating
|
|
22682
22681
|
objects own `destroy` or `willDestroy` methods.
|
|
22683
|
-
|
|
22682
|
+
@public
|
|
22684
22683
|
@method factoryFor
|
|
22685
22684
|
@param {String} fullName
|
|
22686
22685
|
@param {Object} options
|
|
@@ -23413,7 +23412,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23413
23412
|
/**
|
|
23414
23413
|
If the proxied promise is rejected this will contain the reason
|
|
23415
23414
|
provided.
|
|
23416
|
-
|
|
23415
|
+
@property reason
|
|
23417
23416
|
@default null
|
|
23418
23417
|
@public
|
|
23419
23418
|
*/
|
|
@@ -23421,7 +23420,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23421
23420
|
|
|
23422
23421
|
/**
|
|
23423
23422
|
Once the proxied promise has settled this will become `false`.
|
|
23424
|
-
|
|
23423
|
+
@property isPending
|
|
23425
23424
|
@default true
|
|
23426
23425
|
@public
|
|
23427
23426
|
*/
|
|
@@ -23431,7 +23430,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23431
23430
|
|
|
23432
23431
|
/**
|
|
23433
23432
|
Once the proxied promise has settled this will become `true`.
|
|
23434
|
-
|
|
23433
|
+
@property isSettled
|
|
23435
23434
|
@default false
|
|
23436
23435
|
@public
|
|
23437
23436
|
*/
|
|
@@ -23441,7 +23440,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23441
23440
|
|
|
23442
23441
|
/**
|
|
23443
23442
|
Will become `true` if the proxied promise is rejected.
|
|
23444
|
-
|
|
23443
|
+
@property isRejected
|
|
23445
23444
|
@default false
|
|
23446
23445
|
@public
|
|
23447
23446
|
*/
|
|
@@ -23449,7 +23448,7 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23449
23448
|
|
|
23450
23449
|
/**
|
|
23451
23450
|
Will become `true` if the proxied promise is fulfilled.
|
|
23452
|
-
|
|
23451
|
+
@property isFulfilled
|
|
23453
23452
|
@default false
|
|
23454
23453
|
@public
|
|
23455
23454
|
*/
|
|
@@ -23457,17 +23456,17 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23457
23456
|
|
|
23458
23457
|
/**
|
|
23459
23458
|
The promise whose fulfillment value is being proxied by this object.
|
|
23460
|
-
|
|
23459
|
+
This property must be specified upon creation, and should not be
|
|
23461
23460
|
changed once created.
|
|
23462
|
-
|
|
23463
|
-
|
|
23461
|
+
Example:
|
|
23462
|
+
```javascript
|
|
23464
23463
|
import ObjectProxy from '@ember/object/proxy';
|
|
23465
23464
|
import PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
|
|
23466
|
-
|
|
23465
|
+
ObjectProxy.extend(PromiseProxyMixin).create({
|
|
23467
23466
|
promise: <thenable>
|
|
23468
23467
|
});
|
|
23469
23468
|
```
|
|
23470
|
-
|
|
23469
|
+
@property promise
|
|
23471
23470
|
@public
|
|
23472
23471
|
*/
|
|
23473
23472
|
promise: (0, _metal.computed)({
|
|
@@ -23483,8 +23482,8 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23483
23482
|
|
|
23484
23483
|
/**
|
|
23485
23484
|
An alias to the proxied promise's `then`.
|
|
23486
|
-
|
|
23487
|
-
|
|
23485
|
+
See RSVP.Promise.then.
|
|
23486
|
+
@method then
|
|
23488
23487
|
@param {Function} callback
|
|
23489
23488
|
@return {RSVP.Promise}
|
|
23490
23489
|
@public
|
|
@@ -23493,8 +23492,8 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23493
23492
|
|
|
23494
23493
|
/**
|
|
23495
23494
|
An alias to the proxied promise's `catch`.
|
|
23496
|
-
|
|
23497
|
-
|
|
23495
|
+
See RSVP.Promise.catch.
|
|
23496
|
+
@method catch
|
|
23498
23497
|
@param {Function} callback
|
|
23499
23498
|
@return {RSVP.Promise}
|
|
23500
23499
|
@since 1.3.0
|
|
@@ -23504,8 +23503,8 @@ define("@ember/-internals/runtime/lib/mixins/promise_proxy", ["exports", "@ember
|
|
|
23504
23503
|
|
|
23505
23504
|
/**
|
|
23506
23505
|
An alias to the proxied promise's `finally`.
|
|
23507
|
-
|
|
23508
|
-
|
|
23506
|
+
See RSVP.Promise.finally.
|
|
23507
|
+
@method finally
|
|
23509
23508
|
@param {Function} callback
|
|
23510
23509
|
@return {RSVP.Promise}
|
|
23511
23510
|
@since 1.3.0
|
|
@@ -23547,7 +23546,7 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23547
23546
|
|
|
23548
23547
|
/**
|
|
23549
23548
|
Given a fullName return the corresponding factory.
|
|
23550
|
-
|
|
23549
|
+
@public
|
|
23551
23550
|
@method resolveRegistration
|
|
23552
23551
|
@param {String} fullName
|
|
23553
23552
|
@return {Function} fullName's factory
|
|
@@ -23561,48 +23560,48 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23561
23560
|
Registers a factory that can be used for dependency injection (with
|
|
23562
23561
|
`inject`) or for service lookup. Each factory is registered with
|
|
23563
23562
|
a full name including two parts: `type:name`.
|
|
23564
|
-
|
|
23565
|
-
|
|
23563
|
+
A simple example:
|
|
23564
|
+
```javascript
|
|
23566
23565
|
import Application from '@ember/application';
|
|
23567
23566
|
import EmberObject from '@ember/object';
|
|
23568
|
-
|
|
23569
|
-
|
|
23567
|
+
let App = Application.create();
|
|
23568
|
+
App.Orange = EmberObject.extend();
|
|
23570
23569
|
App.register('fruit:favorite', App.Orange);
|
|
23571
23570
|
```
|
|
23572
|
-
|
|
23571
|
+
Ember will resolve factories from the `App` namespace automatically.
|
|
23573
23572
|
For example `App.CarsController` will be discovered and returned if
|
|
23574
23573
|
an application requests `controller:cars`.
|
|
23575
|
-
|
|
23576
|
-
|
|
23574
|
+
An example of registering a controller with a non-standard name:
|
|
23575
|
+
```javascript
|
|
23577
23576
|
import Application from '@ember/application';
|
|
23578
23577
|
import Controller from '@ember/controller';
|
|
23579
|
-
|
|
23578
|
+
let App = Application.create();
|
|
23580
23579
|
let Session = Controller.extend();
|
|
23581
|
-
|
|
23582
|
-
|
|
23580
|
+
App.register('controller:session', Session);
|
|
23581
|
+
// The Session controller can now be treated like a normal controller,
|
|
23583
23582
|
// despite its non-standard name.
|
|
23584
23583
|
App.ApplicationController = Controller.extend({
|
|
23585
23584
|
needs: ['session']
|
|
23586
23585
|
});
|
|
23587
23586
|
```
|
|
23588
|
-
|
|
23587
|
+
Registered factories are **instantiated** by having `create`
|
|
23589
23588
|
called on them. Additionally they are **singletons**, each time
|
|
23590
23589
|
they are looked up they return the same instance.
|
|
23591
|
-
|
|
23592
|
-
|
|
23590
|
+
Some examples modifying that default behavior:
|
|
23591
|
+
```javascript
|
|
23593
23592
|
import Application from '@ember/application';
|
|
23594
23593
|
import EmberObject from '@ember/object';
|
|
23595
|
-
|
|
23596
|
-
|
|
23594
|
+
let App = Application.create();
|
|
23595
|
+
App.Person = EmberObject.extend();
|
|
23597
23596
|
App.Orange = EmberObject.extend();
|
|
23598
23597
|
App.Email = EmberObject.extend();
|
|
23599
23598
|
App.session = EmberObject.create();
|
|
23600
|
-
|
|
23599
|
+
App.register('model:user', App.Person, { singleton: false });
|
|
23601
23600
|
App.register('fruit:favorite', App.Orange);
|
|
23602
23601
|
App.register('communication:main', App.Email, { singleton: false });
|
|
23603
23602
|
App.register('session', App.session, { instantiate: false });
|
|
23604
23603
|
```
|
|
23605
|
-
|
|
23604
|
+
@method register
|
|
23606
23605
|
@param fullName {String} type:name (e.g., 'model:user')
|
|
23607
23606
|
@param factory {any} (e.g., App.Person)
|
|
23608
23607
|
@param options {Object} (optional) disable instantiation or singleton usage
|
|
@@ -23612,17 +23611,17 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23612
23611
|
|
|
23613
23612
|
/**
|
|
23614
23613
|
Unregister a factory.
|
|
23615
|
-
|
|
23614
|
+
```javascript
|
|
23616
23615
|
import Application from '@ember/application';
|
|
23617
23616
|
import EmberObject from '@ember/object';
|
|
23618
|
-
|
|
23617
|
+
let App = Application.create();
|
|
23619
23618
|
let User = EmberObject.extend();
|
|
23620
23619
|
App.register('model:user', User);
|
|
23621
|
-
|
|
23622
|
-
|
|
23620
|
+
App.resolveRegistration('model:user').create() instanceof User //=> true
|
|
23621
|
+
App.unregister('model:user')
|
|
23623
23622
|
App.resolveRegistration('model:user') === undefined //=> true
|
|
23624
23623
|
```
|
|
23625
|
-
|
|
23624
|
+
@public
|
|
23626
23625
|
@method unregister
|
|
23627
23626
|
@param {String} fullName
|
|
23628
23627
|
*/
|
|
@@ -23630,7 +23629,7 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23630
23629
|
|
|
23631
23630
|
/**
|
|
23632
23631
|
Check if a factory is registered.
|
|
23633
|
-
|
|
23632
|
+
@public
|
|
23634
23633
|
@method hasRegistration
|
|
23635
23634
|
@param {String} fullName
|
|
23636
23635
|
@return {Boolean}
|
|
@@ -23639,7 +23638,7 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23639
23638
|
|
|
23640
23639
|
/**
|
|
23641
23640
|
Return a specific registered option for a particular factory.
|
|
23642
|
-
|
|
23641
|
+
@public
|
|
23643
23642
|
@method registeredOption
|
|
23644
23643
|
@param {String} fullName
|
|
23645
23644
|
@param {String} optionName
|
|
@@ -23649,7 +23648,7 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23649
23648
|
|
|
23650
23649
|
/**
|
|
23651
23650
|
Register options for a particular factory.
|
|
23652
|
-
|
|
23651
|
+
@public
|
|
23653
23652
|
@method registerOptions
|
|
23654
23653
|
@param {String} fullName
|
|
23655
23654
|
@param {Object} options
|
|
@@ -23658,7 +23657,7 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23658
23657
|
|
|
23659
23658
|
/**
|
|
23660
23659
|
Return registered options for a particular factory.
|
|
23661
|
-
|
|
23660
|
+
@public
|
|
23662
23661
|
@method registeredOptions
|
|
23663
23662
|
@param {String} fullName
|
|
23664
23663
|
@return {Object} options
|
|
@@ -23667,22 +23666,22 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23667
23666
|
|
|
23668
23667
|
/**
|
|
23669
23668
|
Allow registering options for all factories of a type.
|
|
23670
|
-
|
|
23669
|
+
```javascript
|
|
23671
23670
|
import Application from '@ember/application';
|
|
23672
|
-
|
|
23671
|
+
let App = Application.create();
|
|
23673
23672
|
let appInstance = App.buildInstance();
|
|
23674
|
-
|
|
23673
|
+
// if all of type `connection` must not be singletons
|
|
23675
23674
|
appInstance.registerOptionsForType('connection', { singleton: false });
|
|
23676
|
-
|
|
23675
|
+
appInstance.register('connection:twitter', TwitterConnection);
|
|
23677
23676
|
appInstance.register('connection:facebook', FacebookConnection);
|
|
23678
|
-
|
|
23677
|
+
let twitter = appInstance.lookup('connection:twitter');
|
|
23679
23678
|
let twitter2 = appInstance.lookup('connection:twitter');
|
|
23680
|
-
|
|
23681
|
-
|
|
23679
|
+
twitter === twitter2; // => false
|
|
23680
|
+
let facebook = appInstance.lookup('connection:facebook');
|
|
23682
23681
|
let facebook2 = appInstance.lookup('connection:facebook');
|
|
23683
|
-
|
|
23682
|
+
facebook === facebook2; // => false
|
|
23684
23683
|
```
|
|
23685
|
-
|
|
23684
|
+
@public
|
|
23686
23685
|
@method registerOptionsForType
|
|
23687
23686
|
@param {String} type
|
|
23688
23687
|
@param {Object} options
|
|
@@ -23691,7 +23690,7 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23691
23690
|
|
|
23692
23691
|
/**
|
|
23693
23692
|
Return the registered options for all factories of a type.
|
|
23694
|
-
|
|
23693
|
+
@public
|
|
23695
23694
|
@method registeredOptionsForType
|
|
23696
23695
|
@param {String} type
|
|
23697
23696
|
@return {Object} options
|
|
@@ -23701,37 +23700,37 @@ define("@ember/-internals/runtime/lib/mixins/registry_proxy", ["exports", "@embe
|
|
|
23701
23700
|
/**
|
|
23702
23701
|
Define a dependency injection onto a specific factory or all factories
|
|
23703
23702
|
of a type.
|
|
23704
|
-
|
|
23703
|
+
When Ember instantiates a controller, view, or other framework component
|
|
23705
23704
|
it can attach a dependency to that component. This is often used to
|
|
23706
23705
|
provide services to a set of framework components.
|
|
23707
|
-
|
|
23708
|
-
|
|
23706
|
+
An example of providing a session object to all controllers:
|
|
23707
|
+
```javascript
|
|
23709
23708
|
import { alias } from '@ember/object/computed';
|
|
23710
23709
|
import Application from '@ember/application';
|
|
23711
23710
|
import Controller from '@ember/controller';
|
|
23712
23711
|
import EmberObject from '@ember/object';
|
|
23713
|
-
|
|
23712
|
+
let App = Application.create();
|
|
23714
23713
|
let Session = EmberObject.extend({ isAuthenticated: false });
|
|
23715
|
-
|
|
23714
|
+
// A factory must be registered before it can be injected
|
|
23716
23715
|
App.register('session:main', Session);
|
|
23717
|
-
|
|
23716
|
+
// Inject 'session:main' onto all factories of the type 'controller'
|
|
23718
23717
|
// with the name 'session'
|
|
23719
23718
|
App.inject('controller', 'session', 'session:main');
|
|
23720
|
-
|
|
23719
|
+
App.IndexController = Controller.extend({
|
|
23721
23720
|
isLoggedIn: alias('session.isAuthenticated')
|
|
23722
23721
|
});
|
|
23723
23722
|
```
|
|
23724
|
-
|
|
23725
|
-
|
|
23723
|
+
Injections can also be performed on specific factories.
|
|
23724
|
+
```javascript
|
|
23726
23725
|
App.inject(<full_name or type>, <property name>, <full_name>)
|
|
23727
23726
|
App.inject('route', 'source', 'source:main')
|
|
23728
23727
|
App.inject('route:application', 'email', 'model:email')
|
|
23729
23728
|
```
|
|
23730
|
-
|
|
23729
|
+
It is important to note that injections can only be performed on
|
|
23731
23730
|
classes that are instantiated by Ember itself. Instantiating a class
|
|
23732
23731
|
directly (via `create` or `new`) bypasses the dependency injection
|
|
23733
23732
|
system.
|
|
23734
|
-
|
|
23733
|
+
@public
|
|
23735
23734
|
@method inject
|
|
23736
23735
|
@param factoryNameOrType {String}
|
|
23737
23736
|
@param property {String}
|
|
@@ -23795,9 +23794,9 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
|
|
|
23795
23794
|
/**
|
|
23796
23795
|
Send an `action` with an `actionContext` to a `target`. The action, actionContext
|
|
23797
23796
|
and target will be retrieved from properties of the object. For example:
|
|
23798
|
-
|
|
23797
|
+
```javascript
|
|
23799
23798
|
import { alias } from '@ember/object/computed';
|
|
23800
|
-
|
|
23799
|
+
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
|
23801
23800
|
target: alias('controller'),
|
|
23802
23801
|
action: 'save',
|
|
23803
23802
|
actionContext: alias('context'),
|
|
@@ -23807,9 +23806,9 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
|
|
|
23807
23806
|
}
|
|
23808
23807
|
});
|
|
23809
23808
|
```
|
|
23810
|
-
|
|
23809
|
+
The `target`, `action`, and `actionContext` can be provided as properties of
|
|
23811
23810
|
an optional object argument to `triggerAction` as well.
|
|
23812
|
-
|
|
23811
|
+
```javascript
|
|
23813
23812
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
|
23814
23813
|
click() {
|
|
23815
23814
|
this.triggerAction({
|
|
@@ -23821,12 +23820,12 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
|
|
|
23821
23820
|
}
|
|
23822
23821
|
});
|
|
23823
23822
|
```
|
|
23824
|
-
|
|
23823
|
+
The `actionContext` defaults to the object you are mixing `TargetActionSupport` into.
|
|
23825
23824
|
But `target` and `action` must be specified either as properties or with the argument
|
|
23826
23825
|
to `triggerAction`, or a combination:
|
|
23827
|
-
|
|
23826
|
+
```javascript
|
|
23828
23827
|
import { alias } from '@ember/object/computed';
|
|
23829
|
-
|
|
23828
|
+
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
|
23830
23829
|
target: alias('controller'),
|
|
23831
23830
|
click() {
|
|
23832
23831
|
this.triggerAction({
|
|
@@ -23836,7 +23835,7 @@ define("@ember/-internals/runtime/lib/mixins/target_action_support", ["exports",
|
|
|
23836
23835
|
}
|
|
23837
23836
|
});
|
|
23838
23837
|
```
|
|
23839
|
-
|
|
23838
|
+
@method triggerAction
|
|
23840
23839
|
@param opts {Object} (optional, with the optional keys action, target and/or actionContext)
|
|
23841
23840
|
@return {Boolean} true if the action was sent successfully and did not return false
|
|
23842
23841
|
@private
|
|
@@ -25175,7 +25174,7 @@ define("@ember/-internals/runtime/lib/system/namespace", ["exports", "@ember/-in
|
|
|
25175
25174
|
_exports.default = void 0;
|
|
25176
25175
|
|
|
25177
25176
|
/**
|
|
25178
|
-
@module ember
|
|
25177
|
+
@module @ember/application
|
|
25179
25178
|
*/
|
|
25180
25179
|
// Preloaded into namespaces
|
|
25181
25180
|
|
|
@@ -25193,7 +25192,6 @@ define("@ember/-internals/runtime/lib/system/namespace", ["exports", "@ember/-in
|
|
|
25193
25192
|
```
|
|
25194
25193
|
|
|
25195
25194
|
@class Namespace
|
|
25196
|
-
@namespace Ember
|
|
25197
25195
|
@extends EmberObject
|
|
25198
25196
|
@public
|
|
25199
25197
|
*/
|
|
@@ -25477,7 +25475,7 @@ define("@ember/-internals/runtime/lib/type-of", ["exports", "@ember/-internals/r
|
|
|
25477
25475
|
|
|
25478
25476
|
@method typeOf
|
|
25479
25477
|
@for @ember/utils
|
|
25480
|
-
@param
|
|
25478
|
+
@param item the item to check
|
|
25481
25479
|
@return {String} the type
|
|
25482
25480
|
@public
|
|
25483
25481
|
@static
|
|
@@ -25684,7 +25682,7 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
|
|
|
25684
25682
|
_exports.GUID_KEY = GUID_KEY;
|
|
25685
25683
|
|
|
25686
25684
|
function generateGuid(obj, prefix = GUID_PREFIX) {
|
|
25687
|
-
var guid = prefix + uuid();
|
|
25685
|
+
var guid = prefix + uuid().toString();
|
|
25688
25686
|
|
|
25689
25687
|
if (isObject(obj)) {
|
|
25690
25688
|
OBJECT_GUIDS.set(obj, guid);
|
|
@@ -25715,7 +25713,7 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
|
|
|
25715
25713
|
guid = OBJECT_GUIDS.get(value);
|
|
25716
25714
|
|
|
25717
25715
|
if (guid === undefined) {
|
|
25718
|
-
guid = GUID_PREFIX
|
|
25716
|
+
guid = `${GUID_PREFIX}${uuid()}`;
|
|
25719
25717
|
OBJECT_GUIDS.set(value, guid);
|
|
25720
25718
|
}
|
|
25721
25719
|
} else {
|
|
@@ -25725,13 +25723,13 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
|
|
|
25725
25723
|
var type = typeof value;
|
|
25726
25724
|
|
|
25727
25725
|
if (type === 'string') {
|
|
25728
|
-
guid =
|
|
25726
|
+
guid = `st${uuid()}`;
|
|
25729
25727
|
} else if (type === 'number') {
|
|
25730
|
-
guid =
|
|
25728
|
+
guid = `nu${uuid()}`;
|
|
25731
25729
|
} else if (type === 'symbol') {
|
|
25732
|
-
guid =
|
|
25730
|
+
guid = `sy${uuid()}`;
|
|
25733
25731
|
} else {
|
|
25734
|
-
guid =
|
|
25732
|
+
guid = `(${value})`;
|
|
25735
25733
|
}
|
|
25736
25734
|
|
|
25737
25735
|
NON_OBJECT_GUIDS.set(value, guid);
|
|
@@ -25754,7 +25752,7 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
|
|
|
25754
25752
|
// TODO: Investigate using platform symbols, but we do not
|
|
25755
25753
|
// want to require non-enumerability for this API, which
|
|
25756
25754
|
// would introduce a large cost.
|
|
25757
|
-
var id = GUID_KEY + Math.floor(Math.random() * Date.now());
|
|
25755
|
+
var id = GUID_KEY + Math.floor(Math.random() * Date.now()).toString();
|
|
25758
25756
|
var symbol = intern(`__${debugName}${id}__`);
|
|
25759
25757
|
|
|
25760
25758
|
if (true
|
|
@@ -26067,7 +26065,7 @@ define("@ember/-internals/utils/index", ["exports", "@glimmer/util", "@ember/deb
|
|
|
26067
26065
|
}
|
|
26068
26066
|
|
|
26069
26067
|
var key = keys[i];
|
|
26070
|
-
s += inspectKey(key)
|
|
26068
|
+
s += `${inspectKey(key)}: ${inspectValue(obj[key], depth, seen)}`;
|
|
26071
26069
|
}
|
|
26072
26070
|
|
|
26073
26071
|
s += ' }';
|
|
@@ -27665,6 +27663,7 @@ define("@ember/-internals/views/lib/system/utils", ["exports", "@ember/-internal
|
|
|
27665
27663
|
|
|
27666
27664
|
function getChildViews(view) {
|
|
27667
27665
|
var owner = (0, _owner.getOwner)(view);
|
|
27666
|
+
(true && !(owner) && (0, _debug.assert)('View is unexpectedly missing an owner', owner));
|
|
27668
27667
|
var registry = owner.lookup('-view-registry:main');
|
|
27669
27668
|
return collectChildViews(view, registry);
|
|
27670
27669
|
}
|
|
@@ -29621,6 +29620,12 @@ define("@ember/array/index", ["exports", "@ember/-internals/runtime", "@ember/-i
|
|
|
29621
29620
|
return _runtime.Array;
|
|
29622
29621
|
}
|
|
29623
29622
|
});
|
|
29623
|
+
Object.defineProperty(_exports, "NativeArray", {
|
|
29624
|
+
enumerable: true,
|
|
29625
|
+
get: function () {
|
|
29626
|
+
return _runtime.NativeArray;
|
|
29627
|
+
}
|
|
29628
|
+
});
|
|
29624
29629
|
Object.defineProperty(_exports, "isArray", {
|
|
29625
29630
|
enumerable: true,
|
|
29626
29631
|
get: function () {
|
|
@@ -32118,22 +32123,38 @@ define("@ember/object/compat", ["exports", "@ember/-internals/metal", "@ember/de
|
|
|
32118
32123
|
return desc;
|
|
32119
32124
|
};
|
|
32120
32125
|
|
|
32121
|
-
function dependentKeyCompat(
|
|
32122
|
-
if (
|
|
32123
|
-
desc =
|
|
32126
|
+
function dependentKeyCompat(...args) {
|
|
32127
|
+
if ((0, _metal.isElementDescriptor)(args)) {
|
|
32128
|
+
var [target, key, desc] = args;
|
|
32129
|
+
(true && !(desc != null && (typeof desc.get === 'function' || typeof desc.set === 'function')) && (0, _debug.assert)('The @dependentKeyCompat decorator must be applied to getters/setters when used in native classes', desc != null && (typeof desc.get === 'function' || typeof desc.set === 'function')));
|
|
32130
|
+
return wrapGetterSetter(target, key, desc);
|
|
32131
|
+
} else {
|
|
32132
|
+
var _desc2 = args[0];
|
|
32133
|
+
(true && !((value => {
|
|
32134
|
+
if (value && typeof value === 'object') {
|
|
32135
|
+
var cast = value;
|
|
32136
|
+
return (cast.configurable === undefined || cast.configurable === false || cast.configurable === true) && (cast.enumerable === undefined || cast.enumerable === false || cast.enumerable === true) && (cast.writable === undefined || cast.writable === false || cast.writable === true) && (cast.get === undefined || typeof cast.get === 'function') && (cast.set === undefined || typeof cast.set === 'function');
|
|
32137
|
+
}
|
|
32138
|
+
|
|
32139
|
+
return false;
|
|
32140
|
+
})(_desc2)) && (0, _debug.assert)('expected valid PropertyDescriptor', (value => {
|
|
32141
|
+
if (value && typeof value === 'object') {
|
|
32142
|
+
var cast = value;
|
|
32143
|
+
return (cast.configurable === undefined || cast.configurable === false || cast.configurable === true) && (cast.enumerable === undefined || cast.enumerable === false || cast.enumerable === true) && (cast.writable === undefined || cast.writable === false || cast.writable === true) && (cast.get === undefined || typeof cast.get === 'function') && (cast.set === undefined || typeof cast.set === 'function');
|
|
32144
|
+
}
|
|
32145
|
+
|
|
32146
|
+
return false;
|
|
32147
|
+
})(_desc2)));
|
|
32124
32148
|
|
|
32125
32149
|
var decorator = function (target, key, _desc, _meta, isClassicDecorator) {
|
|
32126
32150
|
(true && !(isClassicDecorator) && (0, _debug.assert)('The @dependentKeyCompat decorator may only be passed a method when used in classic classes. You should decorate getters/setters directly in native classes', isClassicDecorator));
|
|
32127
|
-
(true && !(
|
|
32128
|
-
return wrapGetterSetter(target, key,
|
|
32151
|
+
(true && !(typeof _desc2.get === 'function' || typeof _desc2.set === 'function') && (0, _debug.assert)('The dependentKeyCompat() decorator must be passed a getter or setter when used in classic classes', typeof _desc2.get === 'function' || typeof _desc2.set === 'function'));
|
|
32152
|
+
return wrapGetterSetter(target, key, _desc2);
|
|
32129
32153
|
};
|
|
32130
32154
|
|
|
32131
32155
|
(0, _metal.setClassicDecorator)(decorator);
|
|
32132
32156
|
return decorator;
|
|
32133
32157
|
}
|
|
32134
|
-
|
|
32135
|
-
(true && !(desc !== null && typeof desc.get === 'function' || typeof desc.set === 'function') && (0, _debug.assert)('The @dependentKeyCompat decorator must be applied to getters/setters when used in native classes', desc !== null && typeof desc.get === 'function' || typeof desc.set === 'function'));
|
|
32136
|
-
return wrapGetterSetter(target, key, desc);
|
|
32137
32158
|
}
|
|
32138
32159
|
|
|
32139
32160
|
(0, _metal.setClassicDecorator)(dependentKeyCompat);
|
|
@@ -55236,7 +55257,7 @@ define("ember/version", ["exports"], function (_exports) {
|
|
|
55236
55257
|
value: true
|
|
55237
55258
|
});
|
|
55238
55259
|
_exports.default = void 0;
|
|
55239
|
-
var _default = "4.3.0-alpha.
|
|
55260
|
+
var _default = "4.3.0-alpha.3";
|
|
55240
55261
|
_exports.default = _default;
|
|
55241
55262
|
});
|
|
55242
55263
|
define("route-recognizer", ["exports"], function (_exports) {
|