ember-source 4.0.0-beta.6 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -61
- package/blueprints/acceptance-test/qunit-files/tests/acceptance/__name__-test.js +1 -1
- package/blueprints/acceptance-test/qunit-rfc-232-files/tests/acceptance/__name__-test.js +1 -1
- package/blueprints/component-test/qunit-files/__root__/__testType__/__path__/__test__.js +3 -3
- package/blueprints/helper-test/index.js +4 -22
- package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/__collection__/__name__-test.js +1 -13
- package/blueprints/helper-test/mocha-files/__root__/__testType__/__collection__/__name__-test.js +0 -13
- package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -12
- package/blueprints/helper-test/qunit-files/__root__/__testType__/__collection__/__name__-test.js +2 -13
- package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/__collection__/__name__-test.js +2 -14
- package/build-metadata.json +3 -3
- package/dist/dependencies/@glimmer/manager.js +19 -98
- package/dist/dependencies/@glimmer/opcode-compiler.js +9 -146
- package/dist/dependencies/@glimmer/runtime.js +1 -55
- package/dist/dependencies/@glimmer/validator.js +19 -51
- package/dist/ember-template-compiler.js +292 -279
- 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 +2968 -6102
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/container/index.js +1 -1
- package/dist/packages/@ember/-internals/environment/index.js +0 -15
- package/dist/packages/@ember/-internals/glimmer/index.js +4815 -6763
- package/dist/packages/@ember/-internals/metal/index.js +21 -45
- package/dist/packages/@ember/-internals/routing/lib/services/routing.js +1 -1
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +1 -41
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +13 -47
- package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +2 -173
- package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -43
- package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +8 -15
- package/dist/packages/@ember/-internals/utils/index.js +0 -3
- package/dist/packages/@ember/-internals/views/index.js +0 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +4 -4
- package/dist/packages/@ember/application/lib/application.js +7 -8
- package/dist/packages/@ember/canary-features/index.js +0 -2
- package/dist/packages/@ember/component/index.js +1 -1
- package/dist/packages/@ember/deprecated-features/index.js +0 -1
- package/dist/packages/@ember/engine/index.js +1 -2
- package/dist/packages/@ember/routing/index.js +1 -1
- package/dist/packages/ember/index.js +9 -61
- package/dist/packages/ember/version.js +1 -1
- package/docs/data.json +416 -1343
- package/lib/index.js +13 -76
- package/package.json +17 -21
- package/dist/packages/@ember/-internals/views/lib/mixins/text_support.js +0 -345
- package/dist/packages/@ember/component/checkbox.js +0 -17
- package/dist/packages/@ember/component/text-area.js +0 -17
- package/dist/packages/@ember/component/text-field.js +0 -17
- package/dist/packages/@ember/routing/link-component.js +0 -17
- package/dist/packages/jquery/index.js +0 -2
package/docs/data.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "The Ember API",
|
|
4
4
|
"description": "The Ember API: a framework for building ambitious web applications",
|
|
5
5
|
"url": "https://emberjs.com/",
|
|
6
|
-
"version": "4.0.0
|
|
6
|
+
"version": "4.0.0"
|
|
7
7
|
},
|
|
8
8
|
"files": {
|
|
9
9
|
"node_modules/rsvp/lib/rsvp/promise/all.js": {
|
|
@@ -220,27 +220,6 @@
|
|
|
220
220
|
"fors": {},
|
|
221
221
|
"namespaces": {}
|
|
222
222
|
},
|
|
223
|
-
"packages/@ember/-internals/glimmer/lib/components/-link-to.ts": {
|
|
224
|
-
"name": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
225
|
-
"modules": {},
|
|
226
|
-
"classes": {
|
|
227
|
-
"LinkComponent": 1
|
|
228
|
-
},
|
|
229
|
-
"fors": {
|
|
230
|
-
"Ember.Templates.components": 1,
|
|
231
|
-
"Ember.Templates.helpers": 1
|
|
232
|
-
},
|
|
233
|
-
"namespaces": {}
|
|
234
|
-
},
|
|
235
|
-
"packages/@ember/-internals/glimmer/lib/components/-textarea.ts": {
|
|
236
|
-
"name": "packages/@ember/-internals/glimmer/lib/components/-textarea.ts",
|
|
237
|
-
"modules": {},
|
|
238
|
-
"classes": {
|
|
239
|
-
"TextArea": 1
|
|
240
|
-
},
|
|
241
|
-
"fors": {},
|
|
242
|
-
"namespaces": {}
|
|
243
|
-
},
|
|
244
223
|
"packages/@ember/-internals/glimmer/lib/components/abstract-input.ts": {
|
|
245
224
|
"name": "packages/@ember/-internals/glimmer/lib/components/abstract-input.ts",
|
|
246
225
|
"modules": {},
|
|
@@ -248,21 +227,13 @@
|
|
|
248
227
|
"fors": {},
|
|
249
228
|
"namespaces": {}
|
|
250
229
|
},
|
|
251
|
-
"packages/@ember/-internals/glimmer/lib/components/checkbox.ts": {
|
|
252
|
-
"name": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
253
|
-
"modules": {},
|
|
254
|
-
"classes": {
|
|
255
|
-
"Checkbox": 1
|
|
256
|
-
},
|
|
257
|
-
"fors": {},
|
|
258
|
-
"namespaces": {}
|
|
259
|
-
},
|
|
260
230
|
"packages/@ember/-internals/glimmer/lib/components/input.ts": {
|
|
261
231
|
"name": "packages/@ember/-internals/glimmer/lib/components/input.ts",
|
|
262
232
|
"modules": {},
|
|
263
233
|
"classes": {},
|
|
264
234
|
"fors": {
|
|
265
235
|
"Ember.Templates.helpers": 1,
|
|
236
|
+
"@ember/component": 1,
|
|
266
237
|
"Ember.Templates.components": 1
|
|
267
238
|
},
|
|
268
239
|
"namespaces": {}
|
|
@@ -274,13 +245,15 @@
|
|
|
274
245
|
"fors": {},
|
|
275
246
|
"namespaces": {}
|
|
276
247
|
},
|
|
277
|
-
"packages/@ember/-internals/glimmer/lib/components/
|
|
278
|
-
"name": "packages/@ember/-internals/glimmer/lib/components/
|
|
248
|
+
"packages/@ember/-internals/glimmer/lib/components/link-to.ts": {
|
|
249
|
+
"name": "packages/@ember/-internals/glimmer/lib/components/link-to.ts",
|
|
279
250
|
"modules": {},
|
|
280
|
-
"classes": {
|
|
281
|
-
|
|
251
|
+
"classes": {},
|
|
252
|
+
"fors": {
|
|
253
|
+
"Ember.Templates.components": 1,
|
|
254
|
+
"Ember.Templates.helpers": 1,
|
|
255
|
+
"@ember/routing": 1
|
|
282
256
|
},
|
|
283
|
-
"fors": {},
|
|
284
257
|
"namespaces": {}
|
|
285
258
|
},
|
|
286
259
|
"packages/@ember/-internals/glimmer/lib/components/textarea.ts": {
|
|
@@ -289,7 +262,8 @@
|
|
|
289
262
|
"classes": {},
|
|
290
263
|
"fors": {
|
|
291
264
|
"Ember.Templates.components": 1,
|
|
292
|
-
"Ember.Templates.helpers": 1
|
|
265
|
+
"Ember.Templates.helpers": 1,
|
|
266
|
+
"@ember/component": 1
|
|
293
267
|
},
|
|
294
268
|
"namespaces": {}
|
|
295
269
|
},
|
|
@@ -422,15 +396,6 @@
|
|
|
422
396
|
},
|
|
423
397
|
"namespaces": {}
|
|
424
398
|
},
|
|
425
|
-
"packages/@ember/-internals/glimmer/lib/helpers/query-param.ts": {
|
|
426
|
-
"name": "packages/@ember/-internals/glimmer/lib/helpers/query-param.ts",
|
|
427
|
-
"modules": {},
|
|
428
|
-
"classes": {},
|
|
429
|
-
"fors": {
|
|
430
|
-
"Ember.Templates.helpers": 1
|
|
431
|
-
},
|
|
432
|
-
"namespaces": {}
|
|
433
|
-
},
|
|
434
399
|
"packages/@ember/-internals/glimmer/lib/helpers/readonly.ts": {
|
|
435
400
|
"name": "packages/@ember/-internals/glimmer/lib/helpers/readonly.ts",
|
|
436
401
|
"modules": {},
|
|
@@ -1268,17 +1233,6 @@
|
|
|
1268
1233
|
"Ember": 1
|
|
1269
1234
|
}
|
|
1270
1235
|
},
|
|
1271
|
-
"packages/@ember/-internals/views/lib/mixins/text_support.js": {
|
|
1272
|
-
"name": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
1273
|
-
"modules": {},
|
|
1274
|
-
"classes": {
|
|
1275
|
-
"Ember.TextSupport": 1
|
|
1276
|
-
},
|
|
1277
|
-
"fors": {},
|
|
1278
|
-
"namespaces": {
|
|
1279
|
-
"Ember": 1
|
|
1280
|
-
}
|
|
1281
|
-
},
|
|
1282
1236
|
"packages/@ember/-internals/views/lib/mixins/view_state_support.js": {
|
|
1283
1237
|
"name": "packages/@ember/-internals/views/lib/mixins/view_state_support.js",
|
|
1284
1238
|
"modules": {},
|
|
@@ -1789,6 +1743,56 @@
|
|
|
1789
1743
|
"access": "public",
|
|
1790
1744
|
"tagname": ""
|
|
1791
1745
|
},
|
|
1746
|
+
"@ember/component": {
|
|
1747
|
+
"name": "@ember/component",
|
|
1748
|
+
"submodules": {},
|
|
1749
|
+
"elements": {},
|
|
1750
|
+
"classes": {
|
|
1751
|
+
"@ember/component": 1,
|
|
1752
|
+
"Component": 1,
|
|
1753
|
+
"Helper": 1,
|
|
1754
|
+
"@ember/component/helper": 1
|
|
1755
|
+
},
|
|
1756
|
+
"fors": {
|
|
1757
|
+
"Ember.Templates.helpers": 1,
|
|
1758
|
+
"@ember/component": 1,
|
|
1759
|
+
"Ember.Templates.components": 1,
|
|
1760
|
+
"@ember/component/helper": 1
|
|
1761
|
+
},
|
|
1762
|
+
"namespaces": {},
|
|
1763
|
+
"tag": "main",
|
|
1764
|
+
"file": "packages/@ember/-internals/glimmer/lib/helper.ts",
|
|
1765
|
+
"line": 34,
|
|
1766
|
+
"description": "[Glimmer](https://github.com/tildeio/glimmer) is a templating engine used by Ember.js that is compatible with a subset of the [Handlebars](http://handlebarsjs.com/) syntax.\n\n### Showing a property\n\nTemplates manage the flow of an application's UI, and display state (through\nthe DOM) to a user. For example, given a component with the property \"name\",\nthat component's template can use the name in several ways:\n\n```app/components/person-profile.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n name: 'Jill'\n});\n```\n\n```app/components/person-profile.hbs\n{{this.name}}\n<div>{{this.name}}</div>\n<span data-name={{this.name}}></span>\n```\n\nAny time the \"name\" property on the component changes, the DOM will be\nupdated.\n\nProperties can be chained as well:\n\n```handlebars\n{{@aUserModel.name}}\n<div>{{@listOfUsers.firstObject.name}}</div>\n```\n\n### Using Ember helpers\n\nWhen content is passed in mustaches `{{}}`, Ember will first try to find a helper\nor component with that name. For example, the `if` helper:\n\n```app/components/person-profile.hbs\n{{if this.name \"I have a name\" \"I have no name\"}}\n<span data-has-name={{if this.name true}}></span>\n```\n\nThe returned value is placed where the `{{}}` is called. The above style is\ncalled \"inline\". A second style of helper usage is called \"block\". For example:\n\n```handlebars\n{{#if this.name}}\n I have a name\n{{else}}\n I have no name\n{{/if}}\n```\n\nThe block form of helpers allows you to control how the UI is created based\non the values of properties.\nA third form of helper is called \"nested\". For example here the concat\nhelper will add \" Doe\" to a displayed name if the person has no last name:\n\n```handlebars\n<span data-name={{concat this.firstName (\n if this.lastName (concat \" \" this.lastName) \"Doe\"\n)}}></span>\n```\n\nEmber's built-in helpers are described under the [Ember.Templates.helpers](/ember/release/classes/Ember.Templates.helpers)\nnamespace. Documentation on creating custom helpers can be found under\n[helper](/ember/release/functions/@ember%2Fcomponent%2Fhelper/helper) (or\nunder [Helper](/ember/release/classes/Helper) if a helper requires access to\ndependency injection).\n\n### Invoking a Component\n\nEmber components represent state to the UI of an application. Further\nreading on components can be found under [Component](/ember/release/classes/Component).",
|
|
1767
|
+
"itemtype": "main"
|
|
1768
|
+
},
|
|
1769
|
+
"@ember/routing": {
|
|
1770
|
+
"name": "@ember/routing",
|
|
1771
|
+
"submodules": {},
|
|
1772
|
+
"elements": {},
|
|
1773
|
+
"classes": {
|
|
1774
|
+
"Ember.Templates.components": 1,
|
|
1775
|
+
"@ember/routing": 1,
|
|
1776
|
+
"Location": 1,
|
|
1777
|
+
"AutoLocation": 1,
|
|
1778
|
+
"HashLocation": 1,
|
|
1779
|
+
"HistoryLocation": 1,
|
|
1780
|
+
"NoneLocation": 1,
|
|
1781
|
+
"RouterService": 1,
|
|
1782
|
+
"Route": 1,
|
|
1783
|
+
"EmberRouter": 1,
|
|
1784
|
+
"Transition": 1
|
|
1785
|
+
},
|
|
1786
|
+
"fors": {
|
|
1787
|
+
"Ember.Templates.helpers": 1,
|
|
1788
|
+
"@ember/routing": 1,
|
|
1789
|
+
"Route": 1
|
|
1790
|
+
},
|
|
1791
|
+
"namespaces": {},
|
|
1792
|
+
"tag": "module",
|
|
1793
|
+
"file": "packages/@ember/-internals/routing/lib/system/transition.ts",
|
|
1794
|
+
"line": 1
|
|
1795
|
+
},
|
|
1792
1796
|
"ember": {
|
|
1793
1797
|
"name": "ember",
|
|
1794
1798
|
"submodules": {},
|
|
@@ -1815,7 +1819,6 @@
|
|
|
1815
1819
|
"Ember.Namespace": 1,
|
|
1816
1820
|
"Ember.ActionSupport": 1,
|
|
1817
1821
|
"Ember.ClassNamesSupport": 1,
|
|
1818
|
-
"Ember.TextSupport": 1,
|
|
1819
1822
|
"Ember.ViewMixin": 1,
|
|
1820
1823
|
"Ember.EventDispatcher": 1,
|
|
1821
1824
|
"Ember.CoreView": 1,
|
|
@@ -1823,7 +1826,6 @@
|
|
|
1823
1826
|
"Ember.Test": 1
|
|
1824
1827
|
},
|
|
1825
1828
|
"fors": {
|
|
1826
|
-
"Ember.Templates.components": 1,
|
|
1827
1829
|
"Ember.Templates.helpers": 1,
|
|
1828
1830
|
"Ember": 1,
|
|
1829
1831
|
"@ember/object": 1,
|
|
@@ -1840,56 +1842,6 @@
|
|
|
1840
1842
|
"access": "private",
|
|
1841
1843
|
"tagname": ""
|
|
1842
1844
|
},
|
|
1843
|
-
"@ember/routing": {
|
|
1844
|
-
"name": "@ember/routing",
|
|
1845
|
-
"submodules": {},
|
|
1846
|
-
"elements": {},
|
|
1847
|
-
"classes": {
|
|
1848
|
-
"Ember.Templates.components": 1,
|
|
1849
|
-
"LinkComponent": 1,
|
|
1850
|
-
"Location": 1,
|
|
1851
|
-
"AutoLocation": 1,
|
|
1852
|
-
"HashLocation": 1,
|
|
1853
|
-
"HistoryLocation": 1,
|
|
1854
|
-
"NoneLocation": 1,
|
|
1855
|
-
"RouterService": 1,
|
|
1856
|
-
"Route": 1,
|
|
1857
|
-
"EmberRouter": 1,
|
|
1858
|
-
"Transition": 1
|
|
1859
|
-
},
|
|
1860
|
-
"fors": {
|
|
1861
|
-
"Ember.Templates.helpers": 1,
|
|
1862
|
-
"Route": 1
|
|
1863
|
-
},
|
|
1864
|
-
"namespaces": {},
|
|
1865
|
-
"tag": "module",
|
|
1866
|
-
"file": "packages/@ember/-internals/routing/lib/system/transition.ts",
|
|
1867
|
-
"line": 1
|
|
1868
|
-
},
|
|
1869
|
-
"@ember/component": {
|
|
1870
|
-
"name": "@ember/component",
|
|
1871
|
-
"submodules": {},
|
|
1872
|
-
"elements": {},
|
|
1873
|
-
"classes": {
|
|
1874
|
-
"TextArea": 1,
|
|
1875
|
-
"Checkbox": 1,
|
|
1876
|
-
"TextField": 1,
|
|
1877
|
-
"Component": 1,
|
|
1878
|
-
"Helper": 1,
|
|
1879
|
-
"@ember/component/helper": 1
|
|
1880
|
-
},
|
|
1881
|
-
"fors": {
|
|
1882
|
-
"Ember.Templates.helpers": 1,
|
|
1883
|
-
"Ember.Templates.components": 1,
|
|
1884
|
-
"@ember/component/helper": 1
|
|
1885
|
-
},
|
|
1886
|
-
"namespaces": {},
|
|
1887
|
-
"tag": "main",
|
|
1888
|
-
"file": "packages/@ember/-internals/glimmer/lib/helper.ts",
|
|
1889
|
-
"line": 40,
|
|
1890
|
-
"description": "[Glimmer](https://github.com/tildeio/glimmer) is a templating engine used by Ember.js that is compatible with a subset of the [Handlebars](http://handlebarsjs.com/) syntax.\n\n### Showing a property\n\nTemplates manage the flow of an application's UI, and display state (through\nthe DOM) to a user. For example, given a component with the property \"name\",\nthat component's template can use the name in several ways:\n\n```app/components/person-profile.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n name: 'Jill'\n});\n```\n\n```app/components/person-profile.hbs\n{{this.name}}\n<div>{{this.name}}</div>\n<span data-name={{this.name}}></span>\n```\n\nAny time the \"name\" property on the component changes, the DOM will be\nupdated.\n\nProperties can be chained as well:\n\n```handlebars\n{{@aUserModel.name}}\n<div>{{@listOfUsers.firstObject.name}}</div>\n```\n\n### Using Ember helpers\n\nWhen content is passed in mustaches `{{}}`, Ember will first try to find a helper\nor component with that name. For example, the `if` helper:\n\n```app/components/person-profile.hbs\n{{if this.name \"I have a name\" \"I have no name\"}}\n<span data-has-name={{if this.name true}}></span>\n```\n\nThe returned value is placed where the `{{}}` is called. The above style is\ncalled \"inline\". A second style of helper usage is called \"block\". For example:\n\n```handlebars\n{{#if this.name}}\n I have a name\n{{else}}\n I have no name\n{{/if}}\n```\n\nThe block form of helpers allows you to control how the UI is created based\non the values of properties.\nA third form of helper is called \"nested\". For example here the concat\nhelper will add \" Doe\" to a displayed name if the person has no last name:\n\n```handlebars\n<span data-name={{concat this.firstName (\n if this.lastName (concat \" \" this.lastName) \"Doe\"\n)}}></span>\n```\n\nEmber's built-in helpers are described under the [Ember.Templates.helpers](/ember/release/classes/Ember.Templates.helpers)\nnamespace. Documentation on creating custom helpers can be found under\n[helper](/ember/release/functions/@ember%2Fcomponent%2Fhelper/helper) (or\nunder [Helper](/ember/release/classes/Helper) if a helper requires access to\ndependency injection).\n\n### Invoking a Component\n\nEmber components represent state to the UI of an application. Further\nreading on components can be found under [Component](/ember/release/classes/Component).",
|
|
1891
|
-
"itemtype": "main"
|
|
1892
|
-
},
|
|
1893
1845
|
"@ember/template": {
|
|
1894
1846
|
"name": "@ember/template",
|
|
1895
1847
|
"submodules": {},
|
|
@@ -2049,7 +2001,7 @@
|
|
|
2049
2001
|
"namespaces": {},
|
|
2050
2002
|
"tag": "module",
|
|
2051
2003
|
"file": "packages/@ember/-internals/runtime/lib/system/array_proxy.js",
|
|
2052
|
-
"line":
|
|
2004
|
+
"line": 43
|
|
2053
2005
|
},
|
|
2054
2006
|
"@ember/enumerable": {
|
|
2055
2007
|
"name": "@ember/enumerable",
|
|
@@ -2077,7 +2029,7 @@
|
|
|
2077
2029
|
"namespaces": {},
|
|
2078
2030
|
"tag": "module",
|
|
2079
2031
|
"file": "packages/@ember/canary-features/index.ts",
|
|
2080
|
-
"line":
|
|
2032
|
+
"line": 25,
|
|
2081
2033
|
"description": "Set `EmberENV.FEATURES` in your application's `config/environment.js` file\nto enable canary features in your application.\n\nSee the [feature flag guide](https://guides.emberjs.com/release/configuring-ember/feature-flags/)\nfor more details.",
|
|
2082
2034
|
"access": "public",
|
|
2083
2035
|
"tagname": ""
|
|
@@ -2420,17 +2372,6 @@
|
|
|
2420
2372
|
"access": "public",
|
|
2421
2373
|
"tagname": ""
|
|
2422
2374
|
},
|
|
2423
|
-
"Ember.Templates.components": {
|
|
2424
|
-
"name": "Ember.Templates.components",
|
|
2425
|
-
"shortname": "Ember.Templates.components",
|
|
2426
|
-
"classitems": [],
|
|
2427
|
-
"plugins": [],
|
|
2428
|
-
"extensions": [],
|
|
2429
|
-
"plugin_for": [],
|
|
2430
|
-
"extension_for": [],
|
|
2431
|
-
"module": "@ember/routing",
|
|
2432
|
-
"namespace": ""
|
|
2433
|
-
},
|
|
2434
2375
|
"Ember.Templates.helpers": {
|
|
2435
2376
|
"name": "Ember.Templates.helpers",
|
|
2436
2377
|
"shortname": "Ember.Templates.helpers",
|
|
@@ -2446,85 +2387,38 @@
|
|
|
2446
2387
|
"access": "public",
|
|
2447
2388
|
"tagname": ""
|
|
2448
2389
|
},
|
|
2449
|
-
"
|
|
2450
|
-
"name": "
|
|
2451
|
-
"shortname": "
|
|
2452
|
-
"classitems": [],
|
|
2453
|
-
"plugins": [],
|
|
2454
|
-
"extensions": [],
|
|
2455
|
-
"plugin_for": [],
|
|
2456
|
-
"extension_for": [],
|
|
2457
|
-
"module": "@ember/routing",
|
|
2458
|
-
"namespace": "",
|
|
2459
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
2460
|
-
"line": 263,
|
|
2461
|
-
"description": "`LinkComponent` is the internal component invoked with `<LinkTo>` or `{{link-to}}`.",
|
|
2462
|
-
"extends": "Component",
|
|
2463
|
-
"see": [
|
|
2464
|
-
"{Ember.Templates.components.LinkTo}"
|
|
2465
|
-
],
|
|
2466
|
-
"access": "public",
|
|
2467
|
-
"tagname": ""
|
|
2468
|
-
},
|
|
2469
|
-
"TextArea": {
|
|
2470
|
-
"name": "TextArea",
|
|
2471
|
-
"shortname": "TextArea",
|
|
2390
|
+
"@ember/component": {
|
|
2391
|
+
"name": "@ember/component",
|
|
2392
|
+
"shortname": "@ember/component",
|
|
2472
2393
|
"classitems": [],
|
|
2473
2394
|
"plugins": [],
|
|
2474
2395
|
"extensions": [],
|
|
2475
2396
|
"plugin_for": [],
|
|
2476
2397
|
"extension_for": [],
|
|
2477
2398
|
"module": "@ember/component",
|
|
2478
|
-
"namespace": ""
|
|
2479
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-textarea.ts",
|
|
2480
|
-
"line": 11,
|
|
2481
|
-
"description": "The internal representation used for `Textarea` invocations.",
|
|
2482
|
-
"extends": "Component",
|
|
2483
|
-
"see": [
|
|
2484
|
-
"{Ember.Templates.components.Textarea}"
|
|
2485
|
-
],
|
|
2486
|
-
"uses": [
|
|
2487
|
-
"Ember.TextSupport"
|
|
2488
|
-
],
|
|
2489
|
-
"access": "public",
|
|
2490
|
-
"tagname": ""
|
|
2399
|
+
"namespace": ""
|
|
2491
2400
|
},
|
|
2492
|
-
"
|
|
2493
|
-
"name": "
|
|
2494
|
-
"shortname": "
|
|
2401
|
+
"Ember.Templates.components": {
|
|
2402
|
+
"name": "Ember.Templates.components",
|
|
2403
|
+
"shortname": "Ember.Templates.components",
|
|
2495
2404
|
"classitems": [],
|
|
2496
2405
|
"plugins": [],
|
|
2497
2406
|
"extensions": [],
|
|
2498
2407
|
"plugin_for": [],
|
|
2499
2408
|
"extension_for": [],
|
|
2500
|
-
"module": "@ember/
|
|
2501
|
-
"namespace": ""
|
|
2502
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
2503
|
-
"line": 13,
|
|
2504
|
-
"description": "The internal class used to create text inputs when the `{{input}}`\nhelper is used with `type` of `checkbox`.\n\nSee [Ember.Templates.helpers.input](/ember/release/classes/Ember.Templates.helpers/methods/input?anchor=input) for usage details.\n\n## Direct manipulation of `checked`\n\nThe `checked` attribute of an `Checkbox` object should always be set\nthrough the Ember object or by interacting with its rendered element\nrepresentation via the mouse, keyboard, or touch. Updating the value of the\ncheckbox via jQuery will result in the checked value of the object and its\nelement losing synchronization.\n\n## Layout and LayoutName properties\n\nBecause HTML `input` elements are self closing `layout` and `layoutName`\nproperties will not be applied.",
|
|
2505
|
-
"extends": "Component",
|
|
2506
|
-
"access": "public",
|
|
2507
|
-
"tagname": ""
|
|
2409
|
+
"module": "@ember/routing",
|
|
2410
|
+
"namespace": ""
|
|
2508
2411
|
},
|
|
2509
|
-
"
|
|
2510
|
-
"name": "
|
|
2511
|
-
"shortname": "
|
|
2412
|
+
"@ember/routing": {
|
|
2413
|
+
"name": "@ember/routing",
|
|
2414
|
+
"shortname": "@ember/routing",
|
|
2512
2415
|
"classitems": [],
|
|
2513
2416
|
"plugins": [],
|
|
2514
2417
|
"extensions": [],
|
|
2515
2418
|
"plugin_for": [],
|
|
2516
2419
|
"extension_for": [],
|
|
2517
|
-
"module": "@ember/
|
|
2518
|
-
"namespace": ""
|
|
2519
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/text-field.ts",
|
|
2520
|
-
"line": 36,
|
|
2521
|
-
"description": "The internal class used to create text inputs when the `Input` component is used with `type` of `text`.\n\nSee [Ember.Templates.components.Input](/ember/release/classes/Ember.Templates.components/methods/Input?anchor=Input) for usage details.\n\n## Layout and LayoutName properties\n\nBecause HTML `input` elements are self closing `layout` and `layoutName`\nproperties will not be applied.",
|
|
2522
|
-
"extends": "Component",
|
|
2523
|
-
"uses": [
|
|
2524
|
-
"Ember.TextSupport"
|
|
2525
|
-
],
|
|
2526
|
-
"access": "public",
|
|
2527
|
-
"tagname": ""
|
|
2420
|
+
"module": "@ember/routing",
|
|
2421
|
+
"namespace": ""
|
|
2528
2422
|
},
|
|
2529
2423
|
"ComponentStateBucket": {
|
|
2530
2424
|
"name": "ComponentStateBucket",
|
|
@@ -2564,7 +2458,7 @@
|
|
|
2564
2458
|
"module": "@ember/component",
|
|
2565
2459
|
"namespace": "",
|
|
2566
2460
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
2567
|
-
"line":
|
|
2461
|
+
"line": 37,
|
|
2568
2462
|
"description": "A component is a reusable UI element that consists of a `.hbs` template and an\noptional JavaScript class that defines its behavior. For example, someone\nmight make a `button` in the template and handle the click behavior in the\nJavaScript file that shares the same name as the template.\n\nComponents are broken down into two categories:\n\n- Components _without_ JavaScript, that are based only on a template. These\n are called Template-only or TO components.\n- Components _with_ JavaScript, which consist of a template and a backing\n class.\n\nEmber ships with two types of JavaScript classes for components:\n\n1. Glimmer components, imported from `@glimmer/component`, which are the\n default component's for Ember Octane (3.15) and more recent editions.\n2. Classic components, imported from `@ember/component`, which were the\n default for older editions of Ember (pre 3.15).\n\nBelow is the documentation for Classic components. If you are looking for the\nAPI documentation for Template-only or Glimmer components, it is\n[available here](/ember/release/modules/@glimmer%2Fcomponent).\n\n## Defining a Classic Component\n\nIf you want to customize the component in order to handle events, transform\narguments or maintain internal state, you implement a subclass of `Component`.\n\nOne example is to add computed properties to your component:\n\n```app/components/person-profile.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n displayName: computed('person.title', 'person.firstName', 'person.lastName', function() {\n let { title, firstName, lastName } = this.person;\n\n if (title) {\n return `${title} ${lastName}`;\n } else {\n return `${firstName} ${lastName}`;\n }\n })\n});\n```\n\nAnd then use it in the component's template:\n\n```app/templates/components/person-profile.hbs\n<h1>{{this.displayName}}</h1>\n{{yield}}\n```\n\n## Customizing a Classic Component's HTML Element in JavaScript\n\n### HTML Tag\n\nThe default HTML tag name used for a component's HTML representation is `div`.\nThis can be customized by setting the `tagName` property.\n\nConsider the following component class:\n\n```app/components/emphasized-paragraph.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n tagName: 'em'\n});\n```\n\nWhen invoked, this component would produce output that looks something like\nthis:\n\n```html\n<em id=\"ember1\" class=\"ember-view\"></em>\n```\n\n### HTML `class` Attribute\n\nThe HTML `class` attribute of a component's tag can be set by providing a\n`classNames` property that is set to an array of strings:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n classNames: ['my-class', 'my-other-class']\n});\n```\n\nInvoking this component will produce output that looks like this:\n\n```html\n<div id=\"ember1\" class=\"ember-view my-class my-other-class\"></div>\n```\n\n`class` attribute values can also be set by providing a `classNameBindings`\nproperty set to an array of properties names for the component. The return\nvalue of these properties will be added as part of the value for the\ncomponents's `class` attribute. These properties can be computed properties:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n classNames: ['my-class', 'my-other-class'],\n classNameBindings: ['propertyA', 'propertyB'],\n\n propertyA: 'from-a',\n propertyB: computed(function() {\n if (someLogic) { return 'from-b'; }\n })\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view my-class my-other-class from-a from-b\"></div>\n```\n\nNote that `classNames` and `classNameBindings` is in addition to the `class`\nattribute passed with the angle bracket invocation syntax. Therefore, if this\ncomponent was invoked like so:\n\n```handlebars\n<MyWidget class=\"from-invocation\" />\n```\n\nThe resulting HTML will look similar to this:\n\n```html\n<div id=\"ember1\" class=\"from-invocation ember-view my-class my-other-class from-a from-b\"></div>\n```\n\nIf the value of a class name binding returns a boolean the property name\nitself will be used as the class name if the property is true. The class name\nwill not be added if the value is `false` or `undefined`.\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n classNameBindings: ['hovered'],\n\n hovered: true\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view hovered\"></div>\n```\n\n### Custom Class Names for Boolean Values\n\nWhen using boolean class name bindings you can supply a string value other\nthan the property name for use as the `class` HTML attribute by appending the\npreferred value after a \":\" character when defining the binding:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n classNameBindings: ['awesome:so-very-cool'],\n\n awesome: true\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view so-very-cool\"></div>\n```\n\nBoolean value class name bindings whose property names are in a\ncamelCase-style format will be converted to a dasherized format:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n classNameBindings: ['isUrgent'],\n\n isUrgent: true\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view is-urgent\"></div>\n```\n\nClass name bindings can also refer to object values that are found by\ntraversing a path relative to the component itself:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\nimport EmberObject from '@ember/object';\n\nexport default Component.extend({\n classNameBindings: ['messages.empty'],\n\n messages: EmberObject.create({\n empty: true\n })\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view empty\"></div>\n```\n\nIf you want to add a class name for a property which evaluates to true and\nand a different class name if it evaluates to false, you can pass a binding\nlike this:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n classNameBindings: ['isEnabled:enabled:disabled'],\n isEnabled: true\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view enabled\"></div>\n```\n\nWhen isEnabled is `false`, the resulting HTML representation looks like this:\n\n```html\n<div id=\"ember1\" class=\"ember-view disabled\"></div>\n```\n\nThis syntax offers the convenience to add a class if a property is `false`:\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\n// Applies no class when isEnabled is true and class 'disabled' when isEnabled is false\nexport default Component.extend({\n classNameBindings: ['isEnabled::disabled'],\n isEnabled: true\n});\n```\n\nInvoking this component when the `isEnabled` property is true will produce\nHTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view\"></div>\n```\n\nInvoking it when the `isEnabled` property on the component is `false` will\nproduce HTML that looks like:\n\n```html\n<div id=\"ember1\" class=\"ember-view disabled\"></div>\n```\n\nUpdates to the value of a class name binding will result in automatic update\nof the HTML `class` attribute in the component's rendered HTML\nrepresentation. If the value becomes `false` or `undefined` the class name\nwill be removed.\n\nBoth `classNames` and `classNameBindings` are concatenated properties. See\n[EmberObject](/ember/release/classes/EmberObject) documentation for more\ninformation about concatenated properties.\n\n### Other HTML Attributes\n\nThe HTML attribute section of a component's tag can be set by providing an\n`attributeBindings` property set to an array of property names on the component.\nThe return value of these properties will be used as the value of the component's\nHTML associated attribute:\n\n```app/components/my-anchor.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n tagName: 'a',\n attributeBindings: ['href'],\n\n href: 'http://google.com'\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<a id=\"ember1\" class=\"ember-view\" href=\"http://google.com\"></a>\n```\n\nOne property can be mapped on to another by placing a \":\" between\nthe source property and the destination property:\n\n```app/components/my-anchor.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n tagName: 'a',\n attributeBindings: ['url:href'],\n\n url: 'http://google.com'\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<a id=\"ember1\" class=\"ember-view\" href=\"http://google.com\"></a>\n```\n\nHTML attributes passed with angle bracket invocations will take precedence\nover those specified in `attributeBindings`. Therefore, if this component was\ninvoked like so:\n\n```handlebars\n<MyAnchor href=\"http://bing.com\" @url=\"http://google.com\" />\n```\n\nThe resulting HTML will looks like this:\n\n```html\n<a id=\"ember1\" class=\"ember-view\" href=\"http://bing.com\"></a>\n```\n\nNote that the `href` attribute is ultimately set to `http://bing.com`,\ndespite it having attribute binidng to the `url` property, which was\nset to `http://google.com`.\n\nNamespaced attributes (e.g. `xlink:href`) are supported, but have to be\nmapped, since `:` is not a valid character for properties in Javascript:\n\n```app/components/my-use.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n tagName: 'use',\n attributeBindings: ['xlinkHref:xlink:href'],\n\n xlinkHref: '#triangle'\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<use xlink:href=\"#triangle\"></use>\n```\n\nIf the value of a property monitored by `attributeBindings` is a boolean, the\nattribute will be present or absent depending on the value:\n\n```app/components/my-text-input.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n tagName: 'input',\n attributeBindings: ['disabled'],\n\n disabled: false\n});\n```\n\nInvoking this component will produce HTML that looks like:\n\n```html\n<input id=\"ember1\" class=\"ember-view\" />\n```\n\n`attributeBindings` can refer to computed properties:\n\n```app/components/my-text-input.js\nimport Component from '@ember/component';\nimport { computed } from '@ember/object';\n\nexport default Component.extend({\n tagName: 'input',\n attributeBindings: ['disabled'],\n\n disabled: computed(function() {\n if (someLogic) {\n return true;\n } else {\n return false;\n }\n })\n});\n```\n\nTo prevent setting an attribute altogether, use `null` or `undefined` as the\nvalue of the property used in `attributeBindings`:\n\n```app/components/my-text-input.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n tagName: 'form',\n attributeBindings: ['novalidate'],\n novalidate: null\n});\n```\n\nUpdates to the property of an attribute binding will result in automatic\nupdate of the HTML attribute in the component's HTML output.\n\n`attributeBindings` is a concatenated property. See\n[EmberObject](/ember/release/classes/EmberObject) documentation for more\ninformation about concatenated properties.\n\n## Layouts\n\nThe `layout` property can be used to dynamically specify a template associated\nwith a component class, instead of relying on Ember to link together a\ncomponent class and a template based on file names.\n\nIn general, applications should not use this feature, but it's commonly used\nin addons for historical reasons.\n\nThe `layout` property should be set to the default export of a template\nmodule, which is the name of a template file without the `.hbs` extension.\n\n```app/templates/components/person-profile.hbs\n<h1>Person's Title</h1>\n<div class='details'>{{yield}}</div>\n```\n\n```app/components/person-profile.js\n import Component from '@ember/component';\n import layout from '../templates/components/person-profile';\n\n export default Component.extend({\n layout\n });\n```\n\nIf you invoke the component:\n\n```handlebars\n<PersonProfile>\n <h2>Chief Basket Weaver</h2>\n <h3>Fisherman Industries</h3>\n</PersonProfile>\n```\n\nor\n\n```handlebars\n{{#person-profile}}\n <h2>Chief Basket Weaver</h2>\n <h3>Fisherman Industries</h3>\n{{/person-profile}}\n```\n\nIt will result in the following HTML output:\n\n```html\n<h1>Person's Title</h1>\n <div class=\"details\">\n <h2>Chief Basket Weaver</h2>\n <h3>Fisherman Industries</h3>\n</div>\n```\n\n## Handling Browser Events\n\nComponents can respond to user-initiated events in one of three ways: passing\nactions with angle bracket invocation, adding event handler methods to the\ncomponent's class, or adding actions to the component's template.\n\n### Passing Actions With Angle Bracket Invocation\n\nFor one-off events specific to particular instance of a component, it is possible\nto pass actions to the component's element using angle bracket invocation syntax.\n\n```handlebars\n<MyWidget {{action 'firstWidgetClicked'}} />\n\n<MyWidget {{action 'secondWidgetClicked'}} />\n```\n\nIn this case, when the first component is clicked on, Ember will invoke the\n`firstWidgetClicked` action. When the second component is clicked on, Ember\nwill invoke the `secondWidgetClicked` action instead.\n\nBesides `{{action}}`, it is also possible to pass any arbitrary element modifiers\nusing the angle bracket invocation syntax.\n\n### Event Handler Methods\n\nComponents can also respond to user-initiated events by implementing a method\nthat matches the event name. This approach is appropriate when the same event\nshould be handled by all instances of the same component.\n\nAn event object will be passed as the argument to the event handler method.\n\n```app/components/my-widget.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n click(event) {\n // `event.target` is either the component's element or one of its children\n let tag = event.target.tagName.toLowerCase();\n console.log('clicked on a `<${tag}>` HTML element!');\n }\n});\n```\n\nIn this example, whenever the user clicked anywhere inside the component, it\nwill log a message to the console.\n\nIt is possible to handle event types other than `click` by implementing the\nfollowing event handler methods. In addition, custom events can be registered\nby using `Application.customEvents`.\n\nTouch events:\n\n* `touchStart`\n* `touchMove`\n* `touchEnd`\n* `touchCancel`\n\nKeyboard events:\n\n* `keyDown`\n* `keyUp`\n* `keyPress`\n\nMouse events:\n\n* `mouseDown`\n* `mouseUp`\n* `contextMenu`\n* `click`\n* `doubleClick`\n* `focusIn`\n* `focusOut`\n\nForm events:\n\n* `submit`\n* `change`\n* `focusIn`\n* `focusOut`\n* `input`\n\nDrag and drop events:\n\n* `dragStart`\n* `drag`\n* `dragEnter`\n* `dragLeave`\n* `dragOver`\n* `dragEnd`\n* `drop`\n\n### `{{action}}` Helper\n\nInstead of handling all events of a particular type anywhere inside the\ncomponent's element, you may instead want to limit it to a particular\nelement in the component's template. In this case, it would be more\nconvenient to implement an action instead.\n\nFor example, you could implement the action `hello` for the `person-profile`\ncomponent:\n\n```app/components/person-profile.js\nimport Component from '@ember/component';\n\nexport default Component.extend({\n actions: {\n hello(name) {\n console.log(\"Hello\", name);\n }\n }\n});\n```\n\nAnd then use it in the component's template:\n\n```app/templates/components/person-profile.hbs\n<h1>{{@person.name}}</h1>\n\n<button {{action 'hello' @person.name}}>\n Say Hello to {{@person.name}}\n</button>\n```\n\nWhen the user clicks the button, Ember will invoke the `hello` action,\npassing in the current value of `@person.name` as an argument.\n\nSee [Ember.Templates.helpers.action](/ember/release/classes/Ember.Templates.helpers/methods/action?anchor=action).",
|
|
2569
2463
|
"extends": "Ember.CoreView",
|
|
2570
2464
|
"uses": [
|
|
@@ -2599,7 +2493,7 @@
|
|
|
2599
2493
|
"module": "@ember/component",
|
|
2600
2494
|
"namespace": "",
|
|
2601
2495
|
"file": "packages/@ember/-internals/glimmer/lib/helper.ts",
|
|
2602
|
-
"line":
|
|
2496
|
+
"line": 34,
|
|
2603
2497
|
"description": "Ember Helpers are functions that can compute values, and are used in templates.\nFor example, this code calls a helper named `format-currency`:\n\n```app/templates/application.hbs\n<Cost @cents={{230}} />\n```\n\n```app/components/cost.hbs\n<div>{{format-currency @cents currency=\"$\"}}</div>\n```\n\nAdditionally a helper can be called as a nested helper.\nIn this example, we show the formatted currency value if the `showMoney`\nnamed argument is truthy.\n\n```handlebars\n{{if @showMoney (format-currency @cents currency=\"$\")}}\n```\n\nHelpers defined using a class must provide a `compute` function. For example:\n\n```app/helpers/format-currency.js\nimport Helper from '@ember/component/helper';\n\nexport default class extends Helper {\n compute([cents], { currency }) {\n return `${currency}${cents * 0.01}`;\n }\n}\n```\n\nEach time the input to a helper changes, the `compute` function will be\ncalled again.\n\nAs instances, these helpers also have access to the container and will accept\ninjected dependencies.\n\nAdditionally, class helpers can call `recompute` to force a new computation.",
|
|
2604
2498
|
"extends": "CoreObject",
|
|
2605
2499
|
"access": "public",
|
|
@@ -2794,7 +2688,7 @@
|
|
|
2794
2688
|
"module": "@ember/object",
|
|
2795
2689
|
"namespace": "",
|
|
2796
2690
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
2797
|
-
"line":
|
|
2691
|
+
"line": 444,
|
|
2798
2692
|
"description": "The `Mixin` class allows you to create mixins, whose properties can be\nadded to other classes. For instance,\n\n```javascript\nimport Mixin from '@ember/object/mixin';\n\nconst EditableMixin = Mixin.create({\n edit() {\n console.log('starting to edit');\n this.set('isEditing', true);\n },\n isEditing: false\n});\n```\n\n```javascript\nimport EmberObject from '@ember/object';\nimport EditableMixin from '../mixins/editable';\n\n// Mix mixins into classes by passing them as the first arguments to\n// `.extend.`\nconst Comment = EmberObject.extend(EditableMixin, {\n post: null\n});\n\nlet comment = Comment.create({\n post: somePost\n});\n\ncomment.edit(); // outputs 'starting to edit'\n```\n\nNote that Mixins are created with `Mixin.create`, not\n`Mixin.extend`.\n\nNote that mixins extend a constructor's prototype so arrays and object literals\ndefined as properties will be shared amongst objects that implement the mixin.\nIf you want to define a property in a mixin that is not shared, you can define\nit either as a computed property or have it be created on initialization of the object.\n\n```javascript\n// filters array will be shared amongst any object implementing mixin\nimport Mixin from '@ember/object/mixin';\nimport { A } from '@ember/array';\n\nconst FilterableMixin = Mixin.create({\n filters: A()\n});\n```\n\n```javascript\nimport Mixin from '@ember/object/mixin';\nimport { A } from '@ember/array';\nimport { computed } from '@ember/object';\n\n// filters will be a separate array for every object implementing the mixin\nconst FilterableMixin = Mixin.create({\n filters: computed(function() {\n return A();\n })\n});\n```\n\n```javascript\nimport Mixin from '@ember/object/mixin';\nimport { A } from '@ember/array';\n\n// filters will be created as a separate array during the object's initialization\nconst Filterable = Mixin.create({\n filters: null,\n\n init() {\n this._super(...arguments);\n this.set(\"filters\", A());\n }\n});\n```",
|
|
2799
2693
|
"access": "public",
|
|
2800
2694
|
"tagname": ""
|
|
@@ -2965,7 +2859,7 @@
|
|
|
2965
2859
|
"namespace": "",
|
|
2966
2860
|
"file": "packages/@ember/-internals/routing/lib/services/routing.ts",
|
|
2967
2861
|
"line": 14,
|
|
2968
|
-
"description": "The Routing service is used by
|
|
2862
|
+
"description": "The Routing service is used by LinkTo, and provides facilities for\nthe component/view layer to interact with the router.\n\nThis is a private service for internal usage only. For public usage,\nrefer to the `Router` service.",
|
|
2969
2863
|
"access": "private",
|
|
2970
2864
|
"tagname": ""
|
|
2971
2865
|
},
|
|
@@ -3028,7 +2922,7 @@
|
|
|
3028
2922
|
"module": "@ember/routing",
|
|
3029
2923
|
"namespace": "",
|
|
3030
2924
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
3031
|
-
"line":
|
|
2925
|
+
"line": 85,
|
|
3032
2926
|
"description": "The `Route` class is used to define individual routes. Refer to\nthe [routing guide](https://guides.emberjs.com/release/routing/) for documentation.",
|
|
3033
2927
|
"extends": "EmberObject",
|
|
3034
2928
|
"uses": [
|
|
@@ -3050,7 +2944,7 @@
|
|
|
3050
2944
|
"module": "@ember/routing",
|
|
3051
2945
|
"namespace": "",
|
|
3052
2946
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
3053
|
-
"line":
|
|
2947
|
+
"line": 126,
|
|
3054
2948
|
"description": "The `EmberRouter` class manages the application state and URLs. Refer to\nthe [routing guide](https://guides.emberjs.com/release/routing/) for documentation.",
|
|
3055
2949
|
"extends": "EmberObject",
|
|
3056
2950
|
"uses": [
|
|
@@ -3136,7 +3030,7 @@
|
|
|
3136
3030
|
"module": "@ember/array",
|
|
3137
3031
|
"namespace": "",
|
|
3138
3032
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
3139
|
-
"line":
|
|
3033
|
+
"line": 179,
|
|
3140
3034
|
"description": "This mixin implements Observer-friendly Array-like behavior. It is not a\nconcrete implementation, but it can be used up by other classes that want\nto appear like arrays.\n\nFor example, ArrayProxy is a concrete class that can be instantiated to\nimplement array-like behavior. This class uses the Array Mixin by way of\nthe MutableArray mixin, which allows observable changes to be made to the\nunderlying array.\n\nThis mixin defines methods specifically for collections that provide\nindex-ordered access to their contents. When you are designing code that\nneeds to accept any kind of Array-like object, you should use these methods\ninstead of Array primitives because these will properly notify observers of\nchanges to the array.\n\nAlthough these methods are efficient, they do add a layer of indirection to\nyour application so it is a good idea to use them only when you need the\nflexibility of using both true JavaScript arrays and \"virtual\" arrays such\nas controllers and collections.\n\nYou can use the methods defined in this module to access and modify array\ncontents in an observable-friendly way. You can also be notified whenever\nthe membership of an array changes by using `.observes('myArray.[]')`.\n\nTo support `EmberArray` in your own class, you must override two\nprimitives to use it: `length()` and `objectAt()`.",
|
|
3141
3035
|
"uses": [
|
|
3142
3036
|
"Enumerable"
|
|
@@ -3159,7 +3053,7 @@
|
|
|
3159
3053
|
"module": "@ember/array",
|
|
3160
3054
|
"namespace": "",
|
|
3161
3055
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
3162
|
-
"line":
|
|
3056
|
+
"line": 1326,
|
|
3163
3057
|
"description": "This mixin defines the API for modifying array-like objects. These methods\ncan be applied only to a collection that keeps its items in an ordered set.\nIt builds upon the Array mixin and adds methods to modify the array.\nOne concrete implementations of this class include ArrayProxy.\n\nIt is important to use the methods in this class to modify arrays so that\nchanges are observable. This allows the binding system in Ember to function\ncorrectly.\n\n\nNote that an Array can change even if it does not implement this mixin.\nFor example, one might implement a SparseArray that cannot be directly\nmodified, but if its underlying enumerable changes, it will change also.",
|
|
3164
3058
|
"uses": [
|
|
3165
3059
|
"EmberArray",
|
|
@@ -3179,7 +3073,7 @@
|
|
|
3179
3073
|
"module": "ember",
|
|
3180
3074
|
"namespace": "",
|
|
3181
3075
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
3182
|
-
"line":
|
|
3076
|
+
"line": 1747,
|
|
3183
3077
|
"description": "The NativeArray mixin contains the properties needed to make the native\nArray support MutableArray and all of its dependent APIs. Unless you\nhave `EmberENV.EXTEND_PROTOTYPES` or `EmberENV.EXTEND_PROTOTYPES.Array` set to\nfalse, this will be applied automatically. Otherwise you can apply the mixin\nat anytime by calling `Ember.NativeArray.apply(Array.prototype)`.",
|
|
3184
3078
|
"uses": [
|
|
3185
3079
|
"MutableArray",
|
|
@@ -3343,13 +3237,12 @@
|
|
|
3343
3237
|
"extensions": [],
|
|
3344
3238
|
"plugin_for": [],
|
|
3345
3239
|
"extension_for": [
|
|
3346
|
-
"Component"
|
|
3347
|
-
"Ember.TextSupport"
|
|
3240
|
+
"Component"
|
|
3348
3241
|
],
|
|
3349
3242
|
"module": "ember",
|
|
3350
3243
|
"namespace": "Ember",
|
|
3351
3244
|
"file": "packages/@ember/-internals/runtime/lib/mixins/target_action_support.js",
|
|
3352
|
-
"line":
|
|
3245
|
+
"line": 10,
|
|
3353
3246
|
"description": "`Ember.TargetActionSupport` is a mixin that can be included in a class\nto add a `triggerAction` method with semantics similar to the Handlebars\n`{{action}}` helper. In normal Ember usage, the `{{action}}` helper is\nusually the best choice. This mixin is most often useful when you are\ndoing more complex event handling in Components.",
|
|
3354
3247
|
"extends": "Mixin",
|
|
3355
3248
|
"access": "private",
|
|
@@ -3366,7 +3259,7 @@
|
|
|
3366
3259
|
"module": "@ember/array",
|
|
3367
3260
|
"namespace": "",
|
|
3368
3261
|
"file": "packages/@ember/-internals/runtime/lib/system/array_proxy.js",
|
|
3369
|
-
"line":
|
|
3262
|
+
"line": 43,
|
|
3370
3263
|
"description": "An ArrayProxy wraps any other object that implements `Array` and/or\n`MutableArray,` forwarding all requests. This makes it very useful for\na number of binding use cases or other cases where being able to swap\nout the underlying array is useful.\n\nA simple example of usage:\n\n```javascript\nimport { A } from '@ember/array';\nimport ArrayProxy from '@ember/array/proxy';\n\nlet pets = ['dog', 'cat', 'fish'];\nlet ap = ArrayProxy.create({ content: A(pets) });\n\nap.get('firstObject'); // 'dog'\nap.set('content', ['amoeba', 'paramecium']);\nap.get('firstObject'); // 'amoeba'\n```\n\nThis class can also be useful as a layer to transform the contents of\nan array, as they are accessed. This can be done by overriding\n`objectAtContent`:\n\n```javascript\nimport { A } from '@ember/array';\nimport ArrayProxy from '@ember/array/proxy';\n\nlet pets = ['dog', 'cat', 'fish'];\nlet ap = ArrayProxy.create({\n content: A(pets),\n objectAtContent: function(idx) {\n return this.get('content').objectAt(idx).toUpperCase();\n }\n});\n\nap.get('firstObject'); // . 'DOG'\n```\n\nWhen overriding this class, it is important to place the call to\n`_super` *after* setting `content` so the internal observers have\na chance to fire properly:\n\n```javascript\nimport { A } from '@ember/array';\nimport ArrayProxy from '@ember/array/proxy';\n\nexport default ArrayProxy.extend({\n init() {\n this.set('content', A(['dog', 'cat', 'fish']));\n this._super(...arguments);\n }\n});\n```",
|
|
3371
3264
|
"extends": "EmberObject",
|
|
3372
3265
|
"uses": [
|
|
@@ -3493,29 +3386,6 @@
|
|
|
3493
3386
|
"access": "private",
|
|
3494
3387
|
"tagname": ""
|
|
3495
3388
|
},
|
|
3496
|
-
"Ember.TextSupport": {
|
|
3497
|
-
"name": "Ember.TextSupport",
|
|
3498
|
-
"shortname": "Ember.TextSupport",
|
|
3499
|
-
"classitems": [],
|
|
3500
|
-
"plugins": [],
|
|
3501
|
-
"extensions": [],
|
|
3502
|
-
"plugin_for": [],
|
|
3503
|
-
"extension_for": [
|
|
3504
|
-
"TextArea",
|
|
3505
|
-
"TextField"
|
|
3506
|
-
],
|
|
3507
|
-
"module": "ember",
|
|
3508
|
-
"namespace": "Ember",
|
|
3509
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
3510
|
-
"line": 20,
|
|
3511
|
-
"description": "`TextSupport` is a shared mixin used by both `TextField` and\n`TextArea`. `TextSupport` adds a number of methods that allow you to\nspecify a controller action to invoke when a certain event is fired on your\ntext field or textarea. The specified controller action would get the current\nvalue of the field passed in as the only argument unless the value of\nthe field is empty. In that case, the instance of the field itself is passed\nin as the only argument.\n\nLet's use the pressing of the escape key as an example. If you wanted to\ninvoke a controller action when a user presses the escape key while on your\nfield, you would use the `escape-press` attribute on your field like so:\n\n```handlebars\n {{! application.hbs}}\n\n {{input escape-press='alertUser'}}\n```\n\n```javascript\n import Application from '@ember/application';\n import Controller from '@ember/controller';\n App = Application.create();\n\n App.ApplicationController = Controller.extend({\n actions: {\n alertUser: function ( currentValue ) {\n alert( 'escape pressed, current value: ' + currentValue );\n }\n }\n });\n```\n\nThe following chart is a visual representation of what takes place when the\nescape key is pressed in this scenario:\n\n```\nThe Template\n+---------------------------+\n| |\n| escape-press='alertUser' |\n| | TextSupport Mixin\n+----+----------------------+ +-------------------------------+\n | | cancel method |\n | escape button pressed | |\n +-------------------------------> | checks for the `escape-press` |\n | attribute and pulls out the |\n +-------------------------------+ | `alertUser` value |\n | action name 'alertUser' +-------------------------------+\n | sent to controller\n v\nController\n+------------------------------------------ +\n| |\n| actions: { |\n| alertUser: function( currentValue ){ |\n| alert( 'the esc key was pressed!' ) |\n| } |\n| } |\n| |\n+-------------------------------------------+\n```\n\nHere are the events that we currently support along with the name of the\nattribute you would need to use on your field. To reiterate, you would use the\nattribute name like so:\n\n```handlebars\n {{input attribute-name='controllerAction'}}\n```\n\n```\n+--------------------+----------------+\n| | |\n| event | attribute name |\n+--------------------+----------------+\n| new line inserted | insert-newline |\n| | |\n| enter key pressed | enter |\n| | |\n| cancel key pressed | escape-press |\n| | |\n| focusin | focus-in |\n| | |\n| focusout | focus-out |\n| | |\n| keypress | key-press |\n| | |\n| keyup | key-up |\n| | |\n| keydown | key-down |\n+--------------------+----------------+\n```",
|
|
3512
|
-
"uses": [
|
|
3513
|
-
"Ember.TargetActionSupport"
|
|
3514
|
-
],
|
|
3515
|
-
"extends": "Mixin",
|
|
3516
|
-
"access": "private",
|
|
3517
|
-
"tagname": ""
|
|
3518
|
-
},
|
|
3519
3389
|
"Ember.ViewMixin": {
|
|
3520
3390
|
"name": "Ember.ViewMixin",
|
|
3521
3391
|
"shortname": "Ember.ViewMixin",
|
|
@@ -3585,7 +3455,7 @@
|
|
|
3585
3455
|
"namespace": "",
|
|
3586
3456
|
"file": "packages/@ember/application/lib/application.js",
|
|
3587
3457
|
"line": 30,
|
|
3588
|
-
"description": "An instance of `Application` is the starting point for every Ember\napplication. It instantiates, initializes and coordinates the\nobjects that make up your app.\n\nEach Ember app has one and only one `Application` object. Although\nEmber CLI creates this object implicitly, the `Application` class\nis defined in the `app/app.js`. You can define a `ready` method on the\n`Application` class, which will be run by Ember when the application is\ninitialized.\n\n```app/app.js\nconst App = Application.extend({\n ready() {\n // your code here\n }\n})\n```\n\nBecause `Application` ultimately inherits from `Ember.Namespace`, any classes\nyou create will have useful string representations when calling `toString()`.\nSee the `Ember.Namespace` documentation for more information.\n\nWhile you can think of your `Application` as a container that holds the\nother classes in your application, there are several other responsibilities\ngoing on under-the-hood that you may want to understand. It is also important\nto understand that an `Application` is different from an `ApplicationInstance`.\nRefer to the Guides to understand the difference between these.\n\n### Event Delegation\n\nEmber uses a technique called _event delegation_. This allows the framework\nto set up a global, shared event listener instead of requiring each view to\ndo it manually. For example, instead of each view registering its own\n`mousedown` listener on its associated element, Ember sets up a `mousedown`\nlistener on the `body`.\n\nIf a `mousedown` event occurs, Ember will look at the target of the event and\nstart walking up the DOM node tree, finding corresponding views and invoking\ntheir `mouseDown` method as it goes.\n\n`Application` has a number of default events that it listens for, as\nwell as a mapping from lowercase events to camel-cased view method names. For\nexample, the `keypress` event causes the `keyPress` method on the view to be\ncalled, the `dblclick` event causes `doubleClick` to be called, and so on.\n\nIf there is a bubbling browser event that Ember does not listen for by\ndefault, you can specify custom events and their corresponding view method\nnames by setting the application's `customEvents` property:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n customEvents: {\n // add support for the paste event\n paste: 'paste'\n }\n});\n```\n\nTo prevent Ember from setting up a listener for a default event,\nspecify the event name with a `null` value in the `customEvents`\nproperty:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n customEvents: {\n // prevent listeners for mouseenter/mouseleave events\n mouseenter: null,\n mouseleave: null\n }\n});\n```\n\nBy default, the application sets up these event listeners on the document\nbody. However, in cases where you are embedding an Ember application inside\nan existing page, you may want it to set up the listeners on an element\ninside the body.\n\nFor example, if only events inside a DOM element with the ID of `ember-app`\nshould be delegated, set your application's `rootElement` property:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n rootElement: '#ember-app'\n});\n```\n\nThe `rootElement` can be either a DOM element or a
|
|
3458
|
+
"description": "An instance of `Application` is the starting point for every Ember\napplication. It instantiates, initializes and coordinates the\nobjects that make up your app.\n\nEach Ember app has one and only one `Application` object. Although\nEmber CLI creates this object implicitly, the `Application` class\nis defined in the `app/app.js`. You can define a `ready` method on the\n`Application` class, which will be run by Ember when the application is\ninitialized.\n\n```app/app.js\nconst App = Application.extend({\n ready() {\n // your code here\n }\n})\n```\n\nBecause `Application` ultimately inherits from `Ember.Namespace`, any classes\nyou create will have useful string representations when calling `toString()`.\nSee the `Ember.Namespace` documentation for more information.\n\nWhile you can think of your `Application` as a container that holds the\nother classes in your application, there are several other responsibilities\ngoing on under-the-hood that you may want to understand. It is also important\nto understand that an `Application` is different from an `ApplicationInstance`.\nRefer to the Guides to understand the difference between these.\n\n### Event Delegation\n\nEmber uses a technique called _event delegation_. This allows the framework\nto set up a global, shared event listener instead of requiring each view to\ndo it manually. For example, instead of each view registering its own\n`mousedown` listener on its associated element, Ember sets up a `mousedown`\nlistener on the `body`.\n\nIf a `mousedown` event occurs, Ember will look at the target of the event and\nstart walking up the DOM node tree, finding corresponding views and invoking\ntheir `mouseDown` method as it goes.\n\n`Application` has a number of default events that it listens for, as\nwell as a mapping from lowercase events to camel-cased view method names. For\nexample, the `keypress` event causes the `keyPress` method on the view to be\ncalled, the `dblclick` event causes `doubleClick` to be called, and so on.\n\nIf there is a bubbling browser event that Ember does not listen for by\ndefault, you can specify custom events and their corresponding view method\nnames by setting the application's `customEvents` property:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n customEvents: {\n // add support for the paste event\n paste: 'paste'\n }\n});\n```\n\nTo prevent Ember from setting up a listener for a default event,\nspecify the event name with a `null` value in the `customEvents`\nproperty:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n customEvents: {\n // prevent listeners for mouseenter/mouseleave events\n mouseenter: null,\n mouseleave: null\n }\n});\n```\n\nBy default, the application sets up these event listeners on the document\nbody. However, in cases where you are embedding an Ember application inside\nan existing page, you may want it to set up the listeners on an element\ninside the body.\n\nFor example, if only events inside a DOM element with the ID of `ember-app`\nshould be delegated, set your application's `rootElement` property:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n rootElement: '#ember-app'\n});\n```\n\nThe `rootElement` can be either a DOM element or a CSS selector\nstring. Note that *views appended to the DOM outside the root element will\nnot receive events.* If you specify a custom root element, make sure you only\nappend views inside it!\n\nTo learn more about the events Ember components use, see\n\n[components/handling-events](https://guides.emberjs.com/release/components/handling-events/#toc_event-names).\n\n### Initializers\n\nTo add behavior to the Application's boot process, you can define initializers in\nthe `app/initializers` directory, or with `ember generate initializer` using Ember CLI.\nThese files should export a named `initialize` function which will receive the created `application`\nobject as its first argument.\n\n```javascript\nexport function initialize(application) {\n // application.inject('route', 'foo', 'service:foo');\n}\n```\n\nApplication initializers can be used for a variety of reasons including:\n\n- setting up external libraries\n- injecting dependencies\n- setting up event listeners in embedded apps\n- deferring the boot process using the `deferReadiness` and `advanceReadiness` APIs.\n\n### Routing\n\nIn addition to creating your application's router, `Application` is\nalso responsible for telling the router when to start routing. Transitions\nbetween routes can be logged with the `LOG_TRANSITIONS` flag, and more\ndetailed intra-transition logging can be logged with\nthe `LOG_TRANSITIONS_INTERNAL` flag:\n\n```javascript\nimport Application from '@ember/application';\n\nlet App = Application.create({\n LOG_TRANSITIONS: true, // basic logging of successful transitions\n LOG_TRANSITIONS_INTERNAL: true // detailed logging of all routing steps\n});\n```\n\nBy default, the router will begin trying to translate the current URL into\napplication state once the browser emits the `DOMContentReady` event. If you\nneed to defer routing, you can call the application's `deferReadiness()`\nmethod. Once routing can begin, call the `advanceReadiness()` method.\n\nIf there is any setup required before routing begins, you can implement a\n`ready()` method on your app that will be invoked immediately before routing\nbegins.",
|
|
3589
3459
|
"extends": "Engine",
|
|
3590
3460
|
"uses": [
|
|
3591
3461
|
"RegistryProxyMixin"
|
|
@@ -3637,7 +3507,7 @@
|
|
|
3637
3507
|
"module": "@ember/canary-features",
|
|
3638
3508
|
"namespace": "",
|
|
3639
3509
|
"file": "packages/@ember/canary-features/index.ts",
|
|
3640
|
-
"line":
|
|
3510
|
+
"line": 25,
|
|
3641
3511
|
"description": "The hash of enabled Canary features. Add to this, any canary features\nbefore creating your application.",
|
|
3642
3512
|
"static": 1,
|
|
3643
3513
|
"since": "1.1.0",
|
|
@@ -5193,19 +5063,6 @@
|
|
|
5193
5063
|
"class": "EmberENV",
|
|
5194
5064
|
"module": "rsvp"
|
|
5195
5065
|
},
|
|
5196
|
-
{
|
|
5197
|
-
"file": "packages/@ember/-internals/environment/lib/env.ts",
|
|
5198
|
-
"line": 158,
|
|
5199
|
-
"description": "Allows disabling the implicit this property fallback deprecation. This could be useful\nas a way to control the volume of deprecations that are issued by temporarily disabling\nthe implicit this fallback deprecations, which would allow the other deprecations to be more easily\nidentified in the console).\n\nNOTE: The fallback behavior **will be removed** in Ember 4.0.0, disabling **_IS NOT_**\na viable strategy for handling this deprecation.",
|
|
5200
|
-
"itemtype": "property",
|
|
5201
|
-
"name": "_DISABLE_PROPERTY_FALLBACK_DEPRECATION",
|
|
5202
|
-
"type": "boolean",
|
|
5203
|
-
"default": "false",
|
|
5204
|
-
"access": "private",
|
|
5205
|
-
"tagname": "",
|
|
5206
|
-
"class": "EmberENV",
|
|
5207
|
-
"module": "rsvp"
|
|
5208
|
-
},
|
|
5209
5066
|
{
|
|
5210
5067
|
"file": "packages/@ember/-internals/extension-support/lib/container_debug_adapter.js",
|
|
5211
5068
|
"line": 50,
|
|
@@ -5662,446 +5519,47 @@
|
|
|
5662
5519
|
"module": "@ember/debug"
|
|
5663
5520
|
},
|
|
5664
5521
|
{
|
|
5665
|
-
"file": "packages/@ember/-internals/glimmer/lib/components
|
|
5666
|
-
"line":
|
|
5667
|
-
"description": "The `
|
|
5668
|
-
"
|
|
5669
|
-
"
|
|
5670
|
-
"see": [
|
|
5671
|
-
"{LinkComponent}"
|
|
5672
|
-
],
|
|
5673
|
-
"access": "public",
|
|
5674
|
-
"tagname": "",
|
|
5675
|
-
"class": "Ember.Templates.components",
|
|
5676
|
-
"module": "ember"
|
|
5522
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/abstract-input.ts",
|
|
5523
|
+
"line": 125,
|
|
5524
|
+
"description": "The `change` and `input` actions need to be overridden in the `Input`\nsubclass. Unfortunately, some ember-source builds currently uses babel\nloose mode to transpile its classes. Having the `@action` decorator on the\nsuper class creates a getter on the prototype, and when the subclass\noverrides the method, the loose mode transpilation would emit something\nlike `Subclass.prototype['change'] = function change() { ... }`, which\nfails because `prototype['change']` is getter-only/readonly. The correct\nsolution is to use `Object.defineProperty(prototype, 'change', ...)` but\nthat requires disabling loose mode. For now, the workaround is to add the\ndecorator only on the subclass. This is more of a configuration issue on\nour own builds and doesn't really affect apps.",
|
|
5525
|
+
"class": "Ember.Templates.helpers",
|
|
5526
|
+
"module": "@ember/debug"
|
|
5677
5527
|
},
|
|
5678
5528
|
{
|
|
5679
|
-
"file": "packages/@ember/-internals/glimmer/lib/components
|
|
5680
|
-
"line":
|
|
5681
|
-
"description": "See [Ember.Templates.components.
|
|
5682
|
-
"itemtype": "method",
|
|
5683
|
-
"name": "link-to",
|
|
5684
|
-
"see": [
|
|
5685
|
-
"{Ember.Templates.components.LinkTo}"
|
|
5686
|
-
],
|
|
5687
|
-
"access": "public",
|
|
5688
|
-
"tagname": "",
|
|
5689
|
-
"class": "Ember.Templates.helpers",
|
|
5690
|
-
"module": "@ember/routing"
|
|
5691
|
-
},
|
|
5692
|
-
{
|
|
5693
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5694
|
-
"line": 285,
|
|
5695
|
-
"itemtype": "property",
|
|
5696
|
-
"name": "route",
|
|
5697
|
-
"access": "public",
|
|
5698
|
-
"tagname": "",
|
|
5699
|
-
"class": "LinkComponent",
|
|
5700
|
-
"module": "@ember/routing"
|
|
5701
|
-
},
|
|
5702
|
-
{
|
|
5703
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5704
|
-
"line": 291,
|
|
5705
|
-
"itemtype": "property",
|
|
5706
|
-
"name": "model",
|
|
5707
|
-
"access": "public",
|
|
5708
|
-
"tagname": "",
|
|
5709
|
-
"class": "LinkComponent",
|
|
5710
|
-
"module": "@ember/routing"
|
|
5711
|
-
},
|
|
5712
|
-
{
|
|
5713
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5714
|
-
"line": 297,
|
|
5715
|
-
"itemtype": "property",
|
|
5716
|
-
"name": "models",
|
|
5717
|
-
"access": "public",
|
|
5718
|
-
"tagname": "",
|
|
5719
|
-
"class": "LinkComponent",
|
|
5720
|
-
"module": "@ember/routing"
|
|
5721
|
-
},
|
|
5722
|
-
{
|
|
5723
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5724
|
-
"line": 303,
|
|
5725
|
-
"itemtype": "property",
|
|
5726
|
-
"name": "query",
|
|
5727
|
-
"access": "public",
|
|
5728
|
-
"tagname": "",
|
|
5729
|
-
"class": "LinkComponent",
|
|
5730
|
-
"module": "@ember/routing"
|
|
5731
|
-
},
|
|
5732
|
-
{
|
|
5733
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5734
|
-
"line": 309,
|
|
5735
|
-
"description": "Used to determine when this `LinkComponent` is active.",
|
|
5736
|
-
"itemtype": "property",
|
|
5737
|
-
"name": "current-when",
|
|
5738
|
-
"access": "public",
|
|
5739
|
-
"tagname": "",
|
|
5740
|
-
"class": "LinkComponent",
|
|
5741
|
-
"module": "@ember/routing"
|
|
5742
|
-
},
|
|
5743
|
-
{
|
|
5744
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5745
|
-
"line": 317,
|
|
5746
|
-
"description": "Sets the `title` attribute of the `LinkComponent`'s HTML element.",
|
|
5747
|
-
"itemtype": "property",
|
|
5748
|
-
"name": "title",
|
|
5749
|
-
"default": "null",
|
|
5750
|
-
"access": "public",
|
|
5751
|
-
"tagname": "",
|
|
5752
|
-
"class": "LinkComponent",
|
|
5753
|
-
"module": "@ember/routing"
|
|
5754
|
-
},
|
|
5755
|
-
{
|
|
5756
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5757
|
-
"line": 326,
|
|
5758
|
-
"description": "Sets the `rel` attribute of the `LinkComponent`'s HTML element.",
|
|
5759
|
-
"itemtype": "property",
|
|
5760
|
-
"name": "rel",
|
|
5761
|
-
"default": "null",
|
|
5762
|
-
"access": "public",
|
|
5763
|
-
"tagname": "",
|
|
5764
|
-
"class": "LinkComponent",
|
|
5765
|
-
"module": "@ember/routing"
|
|
5766
|
-
},
|
|
5767
|
-
{
|
|
5768
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5769
|
-
"line": 335,
|
|
5770
|
-
"description": "Sets the `tabindex` attribute of the `LinkComponent`'s HTML element.",
|
|
5771
|
-
"itemtype": "property",
|
|
5772
|
-
"name": "tabindex",
|
|
5773
|
-
"default": "null",
|
|
5774
|
-
"access": "public",
|
|
5775
|
-
"tagname": "",
|
|
5776
|
-
"class": "LinkComponent",
|
|
5777
|
-
"module": "@ember/routing"
|
|
5778
|
-
},
|
|
5779
|
-
{
|
|
5780
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5781
|
-
"line": 344,
|
|
5782
|
-
"description": "Sets the `target` attribute of the `LinkComponent`'s HTML element.",
|
|
5783
|
-
"since": "1.8.0",
|
|
5784
|
-
"itemtype": "property",
|
|
5785
|
-
"name": "target",
|
|
5786
|
-
"default": "null",
|
|
5787
|
-
"access": "public",
|
|
5788
|
-
"tagname": "",
|
|
5789
|
-
"class": "LinkComponent",
|
|
5790
|
-
"module": "@ember/routing"
|
|
5791
|
-
},
|
|
5792
|
-
{
|
|
5793
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5794
|
-
"line": 354,
|
|
5795
|
-
"description": "The CSS class to apply to `LinkComponent`'s element when its `active`\nproperty is `true`.",
|
|
5796
|
-
"itemtype": "property",
|
|
5797
|
-
"name": "activeClass",
|
|
5798
|
-
"type": "String",
|
|
5799
|
-
"default": "active",
|
|
5800
|
-
"access": "public",
|
|
5801
|
-
"tagname": "",
|
|
5802
|
-
"class": "LinkComponent",
|
|
5803
|
-
"module": "@ember/routing"
|
|
5804
|
-
},
|
|
5805
|
-
{
|
|
5806
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5807
|
-
"line": 365,
|
|
5808
|
-
"description": "The CSS class to apply to `LinkComponent`'s element when its `loading`\nproperty is `true`.",
|
|
5809
|
-
"itemtype": "property",
|
|
5810
|
-
"name": "loadingClass",
|
|
5811
|
-
"type": "String",
|
|
5812
|
-
"default": "loading",
|
|
5813
|
-
"access": "public",
|
|
5814
|
-
"tagname": "",
|
|
5815
|
-
"class": "LinkComponent",
|
|
5816
|
-
"module": "@ember/routing"
|
|
5817
|
-
},
|
|
5818
|
-
{
|
|
5819
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5820
|
-
"line": 376,
|
|
5821
|
-
"description": "The CSS class to apply to a `LinkComponent`'s element when its `disabled`\nproperty is `true`.",
|
|
5822
|
-
"itemtype": "property",
|
|
5823
|
-
"name": "disabledClass",
|
|
5824
|
-
"type": "String",
|
|
5825
|
-
"default": "disabled",
|
|
5826
|
-
"access": "public",
|
|
5827
|
-
"tagname": "",
|
|
5828
|
-
"class": "LinkComponent",
|
|
5829
|
-
"module": "@ember/routing"
|
|
5830
|
-
},
|
|
5831
|
-
{
|
|
5832
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5833
|
-
"line": 387,
|
|
5834
|
-
"description": "Determines whether the `LinkComponent` will trigger routing via\nthe `replaceWith` routing strategy.",
|
|
5835
|
-
"itemtype": "property",
|
|
5836
|
-
"name": "replace",
|
|
5837
|
-
"type": "Boolean",
|
|
5838
|
-
"default": "false",
|
|
5839
|
-
"access": "public",
|
|
5840
|
-
"tagname": "",
|
|
5841
|
-
"class": "LinkComponent",
|
|
5842
|
-
"module": "@ember/routing"
|
|
5843
|
-
},
|
|
5844
|
-
{
|
|
5845
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5846
|
-
"line": 398,
|
|
5847
|
-
"description": "Determines whether the `LinkComponent` will prevent the default\nbrowser action by calling preventDefault() to avoid reloading\nthe browser page.\n\nIf you need to trigger a full browser reload pass `@preventDefault={{false}}`:\n\n```handlebars\n<LinkTo @route='photoGallery' @model={{this.aPhotoId}} @preventDefault={{false}}>\n {{this.aPhotoId.title}}\n</LinkTo>\n```",
|
|
5848
|
-
"itemtype": "property",
|
|
5849
|
-
"name": "preventDefault",
|
|
5850
|
-
"type": "Boolean",
|
|
5851
|
-
"default": "true",
|
|
5852
|
-
"access": "private",
|
|
5853
|
-
"tagname": "",
|
|
5854
|
-
"class": "LinkComponent",
|
|
5855
|
-
"module": "@ember/routing"
|
|
5856
|
-
},
|
|
5857
|
-
{
|
|
5858
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5859
|
-
"line": 418,
|
|
5860
|
-
"description": "By default this component will forward `href`, `title`, `rel`, `tabindex`, and `target`\narguments to attributes on the component's element. When invoked with `{{link-to}}`, you can\nonly customize these attributes. When invoked with `<LinkTo>`, you can just use HTML\nattributes directly.",
|
|
5861
|
-
"itemtype": "property",
|
|
5862
|
-
"name": "attributeBindings",
|
|
5863
|
-
"type": "Array | String",
|
|
5864
|
-
"default": "['title', 'rel', 'tabindex', 'target']",
|
|
5865
|
-
"access": "public",
|
|
5866
|
-
"tagname": "",
|
|
5867
|
-
"class": "LinkComponent",
|
|
5868
|
-
"module": "@ember/routing"
|
|
5869
|
-
},
|
|
5870
|
-
{
|
|
5871
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5872
|
-
"line": 431,
|
|
5873
|
-
"description": "By default this component will set classes on its element when any of the following arguments\nare truthy:\n\n* active\n* loading\n* disabled\n\nWhen these arguments are truthy, a class with the same name will be set on the element. When\nfalsy, the associated class will not be on the element.",
|
|
5874
|
-
"itemtype": "property",
|
|
5875
|
-
"name": "classNameBindings",
|
|
5876
|
-
"type": "Array",
|
|
5877
|
-
"default": "['active', 'loading', 'disabled', 'ember-transitioning-in', 'ember-transitioning-out']",
|
|
5878
|
-
"access": "public",
|
|
5879
|
-
"tagname": "",
|
|
5880
|
-
"class": "LinkComponent",
|
|
5881
|
-
"module": "@ember/routing"
|
|
5882
|
-
},
|
|
5883
|
-
{
|
|
5884
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5885
|
-
"line": 449,
|
|
5886
|
-
"description": "By default this component responds to the `click` event. When the component element is an\n`<a>` element, activating the link in another way, such as using the keyboard, triggers the\nclick event.",
|
|
5887
|
-
"itemtype": "property",
|
|
5888
|
-
"name": "eventName",
|
|
5889
|
-
"type": "String",
|
|
5890
|
-
"default": "click",
|
|
5891
|
-
"access": "private",
|
|
5892
|
-
"tagname": "",
|
|
5893
|
-
"class": "LinkComponent",
|
|
5894
|
-
"module": "@ember/routing"
|
|
5895
|
-
},
|
|
5896
|
-
{
|
|
5897
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5898
|
-
"line": 464,
|
|
5899
|
-
"description": "Triggers the `LinkComponent`'s routing behavior. If\n`eventName` is changed to a value other than `click`\nthe routing behavior will trigger on that custom event\ninstead.",
|
|
5900
|
-
"itemtype": "event",
|
|
5901
|
-
"name": "click",
|
|
5902
|
-
"access": "private",
|
|
5903
|
-
"tagname": "",
|
|
5904
|
-
"class": "LinkComponent",
|
|
5905
|
-
"module": "@ember/routing"
|
|
5906
|
-
},
|
|
5907
|
-
{
|
|
5908
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5909
|
-
"line": 474,
|
|
5910
|
-
"description": "An overridable method called when `LinkComponent` objects are instantiated.\n\nExample:\n\n```app/components/my-link.js\nimport LinkComponent from '@ember/routing/link-component';\n\nexport default LinkComponent.extend({\n init() {\n this._super(...arguments);\n console.log('Event is ' + this.get('eventName'));\n }\n});\n```\n\nNOTE: If you do override `init` for a framework class like `Component`,\nbe sure to call `this._super(...arguments)` in your\n`init` declaration! If you don't, Ember may not have an opportunity to\ndo important setup work, and you'll see strange behavior in your\napplication.",
|
|
5911
|
-
"itemtype": "method",
|
|
5912
|
-
"name": "init",
|
|
5913
|
-
"access": "private",
|
|
5914
|
-
"tagname": "",
|
|
5915
|
-
"class": "LinkComponent",
|
|
5916
|
-
"module": "@ember/routing"
|
|
5917
|
-
},
|
|
5918
|
-
{
|
|
5919
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5920
|
-
"line": 556,
|
|
5921
|
-
"description": "Accessed as a classname binding to apply the component's `disabledClass`\nCSS `class` to the element when the link is disabled.\n\nWhen `true`, interactions with the element will not trigger route changes.",
|
|
5922
|
-
"itemtype": "property",
|
|
5923
|
-
"name": "disabled",
|
|
5924
|
-
"access": "private",
|
|
5925
|
-
"tagname": "",
|
|
5926
|
-
"class": "LinkComponent",
|
|
5927
|
-
"module": "@ember/routing"
|
|
5928
|
-
},
|
|
5929
|
-
{
|
|
5930
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5931
|
-
"line": 579,
|
|
5932
|
-
"description": "Accessed as a classname binding to apply the component's `activeClass`\nCSS `class` to the element when the link is active.\n\nThis component is considered active when its `currentWhen` property is `true`\nor the application's current route is the route this component would trigger\ntransitions into.\n\nThe `currentWhen` property can match against multiple routes by separating\nroute names using the ` ` (space) character.",
|
|
5933
|
-
"itemtype": "property",
|
|
5934
|
-
"name": "active",
|
|
5935
|
-
"access": "private",
|
|
5936
|
-
"tagname": "",
|
|
5937
|
-
"class": "LinkComponent",
|
|
5938
|
-
"module": "@ember/routing"
|
|
5939
|
-
},
|
|
5940
|
-
{
|
|
5941
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5942
|
-
"line": 634,
|
|
5943
|
-
"description": "Method to assert that LinkTo is not used inside of a routeless engine. This method is\noverridden in ember-engines link-to-external component to just be a noop, since the\nlink-to-external component extends the link-to component.",
|
|
5944
|
-
"itemtype": "method",
|
|
5945
|
-
"name": "assertLinkToOrigin",
|
|
5946
|
-
"access": "private",
|
|
5947
|
-
"tagname": "",
|
|
5948
|
-
"class": "LinkComponent",
|
|
5949
|
-
"module": "@ember/routing"
|
|
5950
|
-
},
|
|
5951
|
-
{
|
|
5952
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5953
|
-
"line": 711,
|
|
5954
|
-
"description": "Event handler that invokes the link, activating the associated route.",
|
|
5529
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/input.ts",
|
|
5530
|
+
"line": 45,
|
|
5531
|
+
"description": "See [Ember.Templates.components.Input](/ember/release/classes/Ember.Templates.components/methods/Input?anchor=Input).",
|
|
5955
5532
|
"itemtype": "method",
|
|
5956
|
-
"name": "
|
|
5533
|
+
"name": "input",
|
|
5957
5534
|
"params": [
|
|
5958
5535
|
{
|
|
5959
|
-
"name": "
|
|
5536
|
+
"name": "options",
|
|
5960
5537
|
"description": "",
|
|
5961
|
-
"type": "
|
|
5538
|
+
"type": "Hash"
|
|
5962
5539
|
}
|
|
5963
5540
|
],
|
|
5964
|
-
"access": "private",
|
|
5965
|
-
"tagname": "",
|
|
5966
|
-
"class": "LinkComponent",
|
|
5967
|
-
"module": "@ember/routing"
|
|
5968
|
-
},
|
|
5969
|
-
{
|
|
5970
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5971
|
-
"line": 790,
|
|
5972
|
-
"description": "Sets the element's `href` attribute to the url for\nthe `LinkComponent`'s targeted route.\n\nIf the `LinkComponent`'s `tagName` is changed to a value other\nthan `a`, this property will be ignored.",
|
|
5973
|
-
"itemtype": "property",
|
|
5974
|
-
"name": "href",
|
|
5975
|
-
"access": "private",
|
|
5976
|
-
"tagname": "",
|
|
5977
|
-
"class": "LinkComponent",
|
|
5978
|
-
"module": "@ember/routing"
|
|
5979
|
-
},
|
|
5980
|
-
{
|
|
5981
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/-link-to.ts",
|
|
5982
|
-
"line": 870,
|
|
5983
|
-
"description": "The default href value to use while a link-to is loading.\nOnly applies when tagName is 'a'",
|
|
5984
|
-
"itemtype": "property",
|
|
5985
|
-
"name": "loadingHref",
|
|
5986
|
-
"type": "String",
|
|
5987
|
-
"default": "#",
|
|
5988
|
-
"access": "private",
|
|
5989
|
-
"tagname": "",
|
|
5990
|
-
"class": "LinkComponent",
|
|
5991
|
-
"module": "@ember/routing"
|
|
5992
|
-
},
|
|
5993
|
-
{
|
|
5994
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/abstract-input.ts",
|
|
5995
|
-
"line": 149,
|
|
5996
|
-
"description": "The `change` and `input` actions need to be overridden in the `Input`\nsubclass. Unfortunately, some ember-source builds currently uses babel\nloose mode to transpile its classes. Having the `@action` decorator on the\nsuper class creates a getter on the prototype, and when the subclass\noverrides the method, the loose mode transpilation would emit something\nlike `Subclass.prototype['change'] = function change() { ... }`, which\nfails because `prototype['change']` is getter-only/readonly. The correct\nsolution is to use `Object.defineProperty(prototype, 'change', ...)` but\nthat requires disabling loose mode. For now, the workaround is to add the\ndecorator only on the subclass. This is more of a configuration issue on\nour own builds and doesn't really affect apps.",
|
|
5997
|
-
"class": "Checkbox",
|
|
5998
|
-
"module": "@ember/component"
|
|
5999
|
-
},
|
|
6000
|
-
{
|
|
6001
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6002
|
-
"line": 39,
|
|
6003
|
-
"description": "By default, this component will add the `ember-checkbox` class to the component's element.",
|
|
6004
|
-
"itemtype": "property",
|
|
6005
|
-
"name": "classNames",
|
|
6006
|
-
"type": "Array | String",
|
|
6007
|
-
"default": "['ember-checkbox']",
|
|
6008
|
-
"access": "public",
|
|
6009
|
-
"tagname": "",
|
|
6010
|
-
"class": "Checkbox",
|
|
6011
|
-
"module": "@ember/component"
|
|
6012
|
-
},
|
|
6013
|
-
{
|
|
6014
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6015
|
-
"line": 51,
|
|
6016
|
-
"description": "By default this component will forward a number of arguments to attributes on the the\ncomponent's element:\n\n* indeterminate\n* disabled\n* tabindex\n* name\n* autofocus\n* required\n* form\n\nWhen invoked with curly braces, this is the exhaustive list of HTML attributes you can\ncustomize (i.e. `{{input type=\"checkbox\" disabled=true}}`).\n\nWhen invoked with angle bracket invocation, this list is irrelevant, because you can use HTML\nattribute syntax to customize the element (i.e.\n`<Input @type=\"checkbox\" disabled data-custom=\"custom value\" />`). However, `@type` and\n`@checked` must be passed as named arguments, not attributes.",
|
|
6017
|
-
"itemtype": "property",
|
|
6018
|
-
"name": "attributeBindings",
|
|
6019
|
-
"type": "Array | String",
|
|
6020
|
-
"default": "['type', 'checked', 'indeterminate', 'disabled', 'tabindex', 'name', 'autofocus', 'required', 'form']",
|
|
6021
|
-
"access": "public",
|
|
6022
|
-
"tagname": "",
|
|
6023
|
-
"class": "Checkbox",
|
|
6024
|
-
"module": "@ember/component"
|
|
6025
|
-
},
|
|
6026
|
-
{
|
|
6027
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6028
|
-
"line": 88,
|
|
6029
|
-
"description": "Sets the `type` attribute of the `Checkbox`'s element",
|
|
6030
|
-
"itemtype": "property",
|
|
6031
|
-
"name": "disabled",
|
|
6032
|
-
"default": "false",
|
|
6033
|
-
"access": "private",
|
|
6034
|
-
"tagname": "",
|
|
6035
|
-
"class": "Checkbox",
|
|
6036
|
-
"module": "@ember/component"
|
|
6037
|
-
},
|
|
6038
|
-
{
|
|
6039
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6040
|
-
"line": 97,
|
|
6041
|
-
"description": "Sets the `disabled` attribute of the `Checkbox`'s element",
|
|
6042
|
-
"itemtype": "property",
|
|
6043
|
-
"name": "disabled",
|
|
6044
|
-
"default": "false",
|
|
6045
|
-
"access": "public",
|
|
6046
|
-
"tagname": "",
|
|
6047
|
-
"class": "Checkbox",
|
|
6048
|
-
"module": "@ember/component"
|
|
6049
|
-
},
|
|
6050
|
-
{
|
|
6051
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6052
|
-
"line": 106,
|
|
6053
|
-
"description": "Corresponds to the `indeterminate` property of the `Checkbox`'s element",
|
|
6054
|
-
"itemtype": "property",
|
|
6055
|
-
"name": "disabled",
|
|
6056
|
-
"default": "false",
|
|
6057
5541
|
"access": "public",
|
|
6058
5542
|
"tagname": "",
|
|
6059
|
-
"class": "
|
|
6060
|
-
"module": "@ember/component"
|
|
6061
|
-
},
|
|
6062
|
-
{
|
|
6063
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6064
|
-
"line": 115,
|
|
6065
|
-
"description": "Whenever the checkbox is inserted into the DOM, perform initialization steps, which include\nsetting the indeterminate property if needed.\n\nIf this method is overridden, `super` must be called.",
|
|
6066
|
-
"itemtype": "method",
|
|
6067
|
-
"name": "",
|
|
6068
|
-
"access": "public",
|
|
6069
|
-
"tagname": "",
|
|
6070
|
-
"class": "Checkbox",
|
|
6071
|
-
"module": "@ember/component"
|
|
6072
|
-
},
|
|
6073
|
-
{
|
|
6074
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/checkbox.ts",
|
|
6075
|
-
"line": 129,
|
|
6076
|
-
"description": "Whenever the `change` event is fired on the checkbox, update its `checked` property to reflect\nwhether the checkbox is checked.\n\nIf this method is overridden, `super` must be called.",
|
|
6077
|
-
"itemtype": "method",
|
|
6078
|
-
"name": "",
|
|
6079
|
-
"access": "public",
|
|
6080
|
-
"tagname": "",
|
|
6081
|
-
"class": "Checkbox",
|
|
5543
|
+
"class": "Ember.Templates.helpers",
|
|
6082
5544
|
"module": "@ember/component"
|
|
6083
5545
|
},
|
|
6084
5546
|
{
|
|
6085
5547
|
"file": "packages/@ember/-internals/glimmer/lib/components/input.ts",
|
|
6086
|
-
"line":
|
|
6087
|
-
"description": "
|
|
5548
|
+
"line": 54,
|
|
5549
|
+
"description": "An opaque interface which can be imported and used in strict-mode\ntemplates to call <Input>.\n\nSee [Ember.Templates.components.Input](/ember/release/classes/Ember.Templates.components/methods/Input?anchor=Input).",
|
|
6088
5550
|
"itemtype": "method",
|
|
6089
|
-
"name": "
|
|
6090
|
-
"
|
|
6091
|
-
{
|
|
6092
|
-
"name": "options",
|
|
6093
|
-
"description": "",
|
|
6094
|
-
"type": "Hash"
|
|
6095
|
-
}
|
|
5551
|
+
"name": "Input",
|
|
5552
|
+
"see": [
|
|
5553
|
+
"{Ember.Templates.components.Input}"
|
|
6096
5554
|
],
|
|
6097
5555
|
"access": "public",
|
|
6098
5556
|
"tagname": "",
|
|
6099
|
-
"class": "
|
|
5557
|
+
"class": "@ember/component",
|
|
6100
5558
|
"module": "@ember/component"
|
|
6101
5559
|
},
|
|
6102
5560
|
{
|
|
6103
5561
|
"file": "packages/@ember/-internals/glimmer/lib/components/input.ts",
|
|
6104
|
-
"line":
|
|
5562
|
+
"line": 66,
|
|
6105
5563
|
"description": "The `Input` component lets you create an HTML `<input>` element.\n\n```handlebars\n<Input @value=\"987\" />\n```\n\ncreates an `<input>` element with `type=\"text\"` and value set to 987.\n\n### Text field\n\nIf no `type` argument is specified, a default of type 'text' is used.\n\n```handlebars\nSearch:\n<Input @value={{this.searchWord}} />\n```\n\nIn this example, the initial value in the `<input>` will be set to the value of\n`this.searchWord`. If the user changes the text, the value of `this.searchWord` will also be\nupdated.\n\n### Actions\n\nThe `Input` component takes a number of arguments with callbacks that are invoked in response to\nuser events.\n\n* `enter`\n* `insert-newline`\n* `escape-press`\n* `focus-in`\n* `focus-out`\n* `key-down`\n* `key-press`\n* `key-up`\n\nThese callbacks are passed to `Input` like this:\n\n```handlebars\n<Input @value={{this.searchWord}} @enter={{this.query}} />\n```\n\nStarting with Ember Octane, we recommend using the `{{on}}` modifier to call actions\non specific events, such as the input event.\n\n```handlebars\n<label for=\"input-name\">Name:</label>\n<Input\n @id=\"input-name\"\n @value={{this.name}}\n {{on \"input\" this.validateName}}\n/>\n```\n\nThe event name (e.g. `focusout`, `input`, `keydown`) always follows the casing\nthat the HTML standard uses.\n\n### `<input>` HTML Attributes to Avoid\n\nIn most cases, if you want to pass an attribute to the underlying HTML `<input>` element, you\ncan pass the attribute directly, just like any other Ember component.\n\n```handlebars\n<Input @type=\"text\" size=\"10\" />\n```\n\nIn this example, the `size` attribute will be applied to the underlying `<input>` element in the\noutputted HTML.\n\nHowever, there are a few attributes where you **must** use the `@` version.\n\n* `@type`: This argument is used to control which Ember component is used under the hood\n* `@value`: The `@value` argument installs a two-way binding onto the element. If you wanted a\n one-way binding, use `<input>` with the `value` property and the `input` event instead.\n* `@checked` (for checkboxes): like `@value`, the `@checked` argument installs a two-way binding\n onto the element. If you wanted a one-way binding, use `<input type=\"checkbox\">` with\n `checked` and the `input` event instead.\n\n### Extending `TextField`\n\nInternally, `<Input @type=\"text\" />` creates an instance of `TextField`, passing arguments from\nthe helper to `TextField`'s `create` method. Subclassing `TextField` is supported but not\nrecommended.\n\nSee [TextField](/ember/release/classes/TextField)\n\n### Checkbox\n\nTo create an `<input type=\"checkbox\">`:\n\n```handlebars\nEmberize Everything:\n<Input @type=\"checkbox\" @checked={{this.isEmberized}} name=\"isEmberized\" />\n```\n\nThis will bind the checked state of this checkbox to the value of `isEmberized` -- if either one\nchanges, it will be reflected in the other.\n\n### Extending `Checkbox`\n\nInternally, `<Input @type=\"checkbox\" />` creates an instance of `Checkbox`. Subclassing\n`TextField` is supported but not recommended.\n\nSee [Checkbox](/ember/release/classes/Checkbox)",
|
|
6106
5564
|
"itemtype": "method",
|
|
6107
5565
|
"name": "Input",
|
|
@@ -6123,147 +5581,77 @@
|
|
|
6123
5581
|
},
|
|
6124
5582
|
{
|
|
6125
5583
|
"file": "packages/@ember/-internals/glimmer/lib/components/input.ts",
|
|
6126
|
-
"line":
|
|
5584
|
+
"line": 183,
|
|
6127
5585
|
"description": "The HTML class attribute.",
|
|
6128
5586
|
"class": "Ember.Templates.components",
|
|
6129
5587
|
"module": "@ember/component"
|
|
6130
5588
|
},
|
|
6131
5589
|
{
|
|
6132
5590
|
"file": "packages/@ember/-internals/glimmer/lib/components/input.ts",
|
|
6133
|
-
"line":
|
|
5591
|
+
"line": 194,
|
|
6134
5592
|
"description": "The HTML type attribute.",
|
|
6135
5593
|
"class": "Ember.Templates.components",
|
|
6136
5594
|
"module": "@ember/component"
|
|
6137
5595
|
},
|
|
6138
5596
|
{
|
|
6139
5597
|
"file": "packages/@ember/-internals/glimmer/lib/components/internal.ts",
|
|
6140
|
-
"line":
|
|
5598
|
+
"line": 37,
|
|
6141
5599
|
"description": "The default HTML id attribute. We don't really _need_ one, this is just\nadded for compatibility as it's hard to tell if people rely on it being\npresent, and it doens't really hurt.\n\nHowever, don't rely on this internally, like passing it to `getElementId`.\nThis can be (and often is) overriden by passing an `id` attribute on the\ninvocation, which shadows this default id via `...attributes`.",
|
|
6142
|
-
"class": "
|
|
6143
|
-
"module": "@ember/component"
|
|
6144
|
-
},
|
|
6145
|
-
{
|
|
6146
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/internal.ts",
|
|
6147
|
-
"line": 58,
|
|
6148
|
-
"description": "The default HTML class attribute. Similar to the above, we don't _need_\nthem, they are just added for compatibility as it's similarly hard to tell\nif people rely on it in their CSS etc, and it doens't really hurt.",
|
|
6149
|
-
"class": "TextField",
|
|
6150
|
-
"module": "@ember/component"
|
|
6151
|
-
},
|
|
6152
|
-
{
|
|
6153
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/text-field.ts",
|
|
6154
|
-
"line": 54,
|
|
6155
|
-
"description": "By default, this component will add the `ember-text-field` class to the component's element.",
|
|
6156
|
-
"itemtype": "property",
|
|
6157
|
-
"name": "classNames",
|
|
6158
|
-
"type": "Array | String",
|
|
6159
|
-
"default": "['ember-text-field']",
|
|
6160
|
-
"access": "public",
|
|
6161
|
-
"tagname": "",
|
|
6162
|
-
"class": "TextField",
|
|
6163
|
-
"module": "@ember/component"
|
|
6164
|
-
},
|
|
6165
|
-
{
|
|
6166
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/text-field.ts",
|
|
6167
|
-
"line": 65,
|
|
6168
|
-
"description": "By default this component will forward a number of arguments to attributes on the the\ncomponent's element:\n\n* accept\n* autocomplete\n* autosave\n* dir\n* formaction\n* formenctype\n* formmethod\n* formnovalidate\n* formtarget\n* height\n* inputmode\n* lang\n* list\n* type\n* max\n* min\n* multiple\n* name\n* pattern\n* size\n* step\n* value\n* width\n\nWhen invoked with `{{input type=\"text\"}}`, you can only customize these attributes. When invoked\nwith `<Input @type=\"text\" />`, you can just use HTML attributes directly.",
|
|
6169
|
-
"itemtype": "property",
|
|
6170
|
-
"name": "attributeBindings",
|
|
6171
|
-
"type": "Array | String",
|
|
6172
|
-
"default": "['accept', 'autocomplete', 'autosave', 'dir', 'formaction', 'formenctype', 'formmethod', 'formnovalidate', 'formtarget', 'height', 'inputmode', 'lang', 'list', 'type', 'max', 'min', 'multiple', 'name', 'pattern', 'size', 'step', 'value', 'width']",
|
|
6173
|
-
"access": "public",
|
|
6174
|
-
"tagname": "",
|
|
6175
|
-
"class": "TextField",
|
|
6176
|
-
"module": "@ember/component"
|
|
6177
|
-
},
|
|
6178
|
-
{
|
|
6179
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/text-field.ts",
|
|
6180
|
-
"line": 127,
|
|
6181
|
-
"description": "As the user inputs text, this property is updated to reflect the `value` property of the HTML\nelement.",
|
|
6182
|
-
"itemtype": "property",
|
|
6183
|
-
"name": "value",
|
|
6184
|
-
"type": "String",
|
|
6185
|
-
"default": "\"\"",
|
|
6186
|
-
"access": "public",
|
|
6187
|
-
"tagname": "",
|
|
6188
|
-
"class": "TextField",
|
|
6189
|
-
"module": "@ember/component"
|
|
6190
|
-
},
|
|
6191
|
-
{
|
|
6192
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/text-field.ts",
|
|
6193
|
-
"line": 138,
|
|
6194
|
-
"description": "The `type` attribute of the input element.",
|
|
6195
|
-
"itemtype": "property",
|
|
6196
|
-
"name": "type",
|
|
6197
|
-
"type": "String",
|
|
6198
|
-
"default": "\"text\"",
|
|
6199
|
-
"access": "public",
|
|
6200
|
-
"tagname": "",
|
|
6201
|
-
"class": "TextField",
|
|
5600
|
+
"class": "Ember.Templates.components",
|
|
6202
5601
|
"module": "@ember/component"
|
|
6203
5602
|
},
|
|
6204
|
-
{
|
|
6205
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/
|
|
6206
|
-
"line":
|
|
6207
|
-
"description": "The
|
|
6208
|
-
"
|
|
6209
|
-
"name": "size",
|
|
6210
|
-
"type": "String",
|
|
6211
|
-
"default": "null",
|
|
6212
|
-
"access": "public",
|
|
6213
|
-
"tagname": "",
|
|
6214
|
-
"class": "TextField",
|
|
5603
|
+
{
|
|
5604
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/internal.ts",
|
|
5605
|
+
"line": 50,
|
|
5606
|
+
"description": "The default HTML class attribute. Similar to the above, we don't _need_\nthem, they are just added for compatibility as it's similarly hard to tell\nif people rely on it in their CSS etc, and it doens't really hurt.",
|
|
5607
|
+
"class": "Ember.Templates.components",
|
|
6215
5608
|
"module": "@ember/component"
|
|
6216
5609
|
},
|
|
6217
5610
|
{
|
|
6218
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/
|
|
6219
|
-
"line":
|
|
6220
|
-
"description": "The `
|
|
6221
|
-
"itemtype": "
|
|
6222
|
-
"name": "
|
|
6223
|
-
"type": "String",
|
|
6224
|
-
"default": "null",
|
|
5611
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/link-to.ts",
|
|
5612
|
+
"line": 40,
|
|
5613
|
+
"description": "The `LinkTo` component renders a link to the supplied `routeName` passing an optionally\nsupplied model to the route as its `model` context of the route. The block for `LinkTo`\nbecomes the contents of the rendered element:\n\n```handlebars\n<LinkTo @route='photoGallery'>\n Great Hamster Photos\n</LinkTo>\n```\n\nThis will result in:\n\n```html\n<a href=\"/hamster-photos\">\n Great Hamster Photos\n</a>\n```\n\n### Disabling the `LinkTo` component\n\nThe `LinkTo` component can be disabled by using the `disabled` argument. A disabled link\ndoesn't result in a transition when activated, and adds the `disabled` class to the `<a>`\nelement.\n\n(The class name to apply to the element can be overridden by using the `disabledClass`\nargument)\n\n```handlebars\n<LinkTo @route='photoGallery' @disabled={{true}}>\n Great Hamster Photos\n</LinkTo>\n```\n\n### Handling `href`\n\n`<LinkTo>` will use your application's Router to fill the element's `href` property with a URL\nthat matches the path to the supplied `routeName`.\n\n### Handling current route\n\nThe `LinkTo` component will apply a CSS class name of 'active' when the application's current\nroute matches the supplied routeName. For example, if the application's current route is\n'photoGallery.recent', then the following invocation of `LinkTo`:\n\n```handlebars\n<LinkTo @route='photoGallery.recent'>\n Great Hamster Photos\n</LinkTo>\n```\n\nwill result in\n\n```html\n<a href=\"/hamster-photos/this-week\" class=\"active\">\n Great Hamster Photos\n</a>\n```\n\nThe CSS class used for active classes can be customized by passing an `activeClass` argument:\n\n```handlebars\n<LinkTo @route='photoGallery.recent' @activeClass=\"current-url\">\n Great Hamster Photos\n</LinkTo>\n```\n\n```html\n<a href=\"/hamster-photos/this-week\" class=\"current-url\">\n Great Hamster Photos\n</a>\n```\n\n### Keeping a link active for other routes\n\nIf you need a link to be 'active' even when it doesn't match the current route, you can use the\n`current-when` argument.\n\n```handlebars\n<LinkTo @route='photoGallery' @current-when='photos'>\n Photo Gallery\n</LinkTo>\n```\n\nThis may be helpful for keeping links active for:\n\n* non-nested routes that are logically related\n* some secondary menu approaches\n* 'top navigation' with 'sub navigation' scenarios\n\nA link will be active if `current-when` is `true` or the current\nroute is the route this link would transition to.\n\nTo match multiple routes 'space-separate' the routes:\n\n```handlebars\n<LinkTo @route='gallery' @current-when='photos drawings paintings'>\n Art Gallery\n</LinkTo>\n```\n\n### Supplying a model\n\nAn optional `model` argument can be used for routes whose\npaths contain dynamic segments. This argument will become\nthe model context of the linked route:\n\n```javascript\nRouter.map(function() {\n this.route(\"photoGallery\", {path: \"hamster-photos/:photo_id\"});\n});\n```\n\n```handlebars\n<LinkTo @route='photoGallery' @model={{this.aPhoto}}>\n {{aPhoto.title}}\n</LinkTo>\n```\n\n```html\n<a href=\"/hamster-photos/42\">\n Tomster\n</a>\n```\n\n### Supplying multiple models\n\nFor deep-linking to route paths that contain multiple\ndynamic segments, the `models` argument can be used.\n\nAs the router transitions through the route path, each\nsupplied model argument will become the context for the\nroute with the dynamic segments:\n\n```javascript\nRouter.map(function() {\n this.route(\"photoGallery\", { path: \"hamster-photos/:photo_id\" }, function() {\n this.route(\"comment\", {path: \"comments/:comment_id\"});\n });\n});\n```\n\nThis argument will become the model context of the linked route:\n\n```handlebars\n<LinkTo @route='photoGallery.comment' @models={{array this.aPhoto this.comment}}>\n {{comment.body}}\n</LinkTo>\n```\n\n```html\n<a href=\"/hamster-photos/42/comments/718\">\n A+++ would snuggle again.\n</a>\n```\n\n### Supplying an explicit dynamic segment value\n\nIf you don't have a model object available to pass to `LinkTo`,\nan optional string or integer argument can be passed for routes whose\npaths contain dynamic segments. This argument will become the value\nof the dynamic segment:\n\n```javascript\nRouter.map(function() {\n this.route(\"photoGallery\", { path: \"hamster-photos/:photo_id\" });\n});\n```\n\n```handlebars\n<LinkTo @route='photoGallery' @model={{aPhotoId}}>\n {{this.aPhoto.title}}\n</LinkTo>\n```\n\n```html\n<a href=\"/hamster-photos/42\">\n Tomster\n</a>\n```\n\nWhen transitioning into the linked route, the `model` hook will\nbe triggered with parameters including this passed identifier.\n\n### Supplying query parameters\n\nIf you need to add optional key-value pairs that appear to the right of the ? in a URL,\nyou can use the `query` argument.\n\n```handlebars\n<LinkTo @route='photoGallery' @query={{hash page=1 per_page=20}}>\n Great Hamster Photos\n</LinkTo>\n```\n\nThis will result in:\n\n```html\n<a href=\"/hamster-photos?page=1&per_page=20\">\n Great Hamster Photos\n</a>\n```",
|
|
5614
|
+
"itemtype": "method",
|
|
5615
|
+
"name": "LinkTo",
|
|
6225
5616
|
"access": "public",
|
|
6226
5617
|
"tagname": "",
|
|
6227
|
-
"class": "
|
|
5618
|
+
"class": "Ember.Templates.components",
|
|
6228
5619
|
"module": "@ember/component"
|
|
6229
5620
|
},
|
|
6230
5621
|
{
|
|
6231
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/
|
|
6232
|
-
"line":
|
|
6233
|
-
"description": "
|
|
6234
|
-
"itemtype": "
|
|
6235
|
-
"name": "
|
|
6236
|
-
"
|
|
6237
|
-
|
|
6238
|
-
|
|
5622
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/link-to.ts",
|
|
5623
|
+
"line": 252,
|
|
5624
|
+
"description": "See [Ember.Templates.components.LinkTo](/ember/release/classes/Ember.Templates.components/methods/input?anchor=LinkTo).",
|
|
5625
|
+
"itemtype": "method",
|
|
5626
|
+
"name": "link-to",
|
|
5627
|
+
"see": [
|
|
5628
|
+
"{Ember.Templates.components.LinkTo}"
|
|
5629
|
+
],
|
|
6239
5630
|
"access": "public",
|
|
6240
5631
|
"tagname": "",
|
|
6241
|
-
"class": "
|
|
6242
|
-
"module": "@ember/
|
|
5632
|
+
"class": "Ember.Templates.helpers",
|
|
5633
|
+
"module": "@ember/routing"
|
|
6243
5634
|
},
|
|
6244
5635
|
{
|
|
6245
|
-
"file": "packages/@ember/-internals/glimmer/lib/components/
|
|
6246
|
-
"line":
|
|
6247
|
-
"description": "
|
|
6248
|
-
"itemtype": "
|
|
6249
|
-
"name": "
|
|
6250
|
-
"
|
|
6251
|
-
|
|
6252
|
-
|
|
5636
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/link-to.ts",
|
|
5637
|
+
"line": 261,
|
|
5638
|
+
"description": "An opaque interface which can be imported and used in strict-mode\ntemplates to call <LinkTo>.\n\nSee [Ember.Templates.components.LinkTo](/ember/release/classes/Ember.Templates.components/methods/input?anchor=LinkTo).",
|
|
5639
|
+
"itemtype": "method",
|
|
5640
|
+
"name": "LinkTo",
|
|
5641
|
+
"see": [
|
|
5642
|
+
"{Ember.Templates.components.LinkTo}"
|
|
5643
|
+
],
|
|
6253
5644
|
"access": "public",
|
|
6254
5645
|
"tagname": "",
|
|
6255
|
-
"class": "
|
|
6256
|
-
"module": "@ember/
|
|
5646
|
+
"class": "@ember/routing",
|
|
5647
|
+
"module": "@ember/routing"
|
|
6257
5648
|
},
|
|
6258
5649
|
{
|
|
6259
5650
|
"file": "packages/@ember/-internals/glimmer/lib/components/textarea.ts",
|
|
6260
|
-
"line":
|
|
5651
|
+
"line": 9,
|
|
6261
5652
|
"description": "The `Textarea` component inserts a new instance of `<textarea>` tag into the template.\n\nThe `@value` argument provides the content of the `<textarea>`.\n\nThis template:\n\n```handlebars\n<Textarea @value=\"A bunch of text\" />\n```\n\nWould result in the following HTML:\n\n```html\n<textarea class=\"ember-text-area\">\n A bunch of text\n</textarea>\n```\n\nThe `@value` argument is two-way bound. If the user types text into the textarea, the `@value`\nargument is updated. If the `@value` argument is updated, the text in the textarea is updated.\n\nIn the following example, the `writtenWords` property on the component will be updated as the user\ntypes 'Lots of text' into the text area of their browser's window.\n\n```app/components/word-editor.js\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class WordEditorComponent extends Component {\n @tracked writtenWords = \"Lots of text that IS bound\";\n}\n```\n\n```handlebars\n<Textarea @value={{writtenWords}} />\n```\n\nWould result in the following HTML:\n\n```html\n<textarea class=\"ember-text-area\">\n Lots of text that IS bound\n</textarea>\n```\n\nIf you wanted a one way binding, you could use the `<textarea>` element directly, and use the\n`value` DOM property and the `input` event.\n\n### Actions\n\nThe `Textarea` component takes a number of arguments with callbacks that are invoked in\nresponse to user events.\n\n* `enter`\n* `insert-newline`\n* `escape-press`\n* `focus-in`\n* `focus-out`\n* `key-press`\n\nThese callbacks are passed to `Textarea` like this:\n\n```handlebars\n<Textarea @value={{this.searchWord}} @enter={{this.query}} />\n```\n\n## Classic Invocation Syntax\n\nThe `Textarea` component can also be invoked using curly braces, just like any other Ember\ncomponent.\n\nFor example, this is an invocation using angle-bracket notation:\n\n```handlebars\n<Textarea @value={{this.searchWord}} @enter={{this.query}} />\n```\n\nYou could accomplish the same thing using classic invocation:\n\n```handlebars\n{{textarea value=this.searchWord enter=this.query}}\n```\n\nThe main difference is that angle-bracket invocation supports any HTML attribute using HTML\nattribute syntax, because attributes and arguments have different syntax when using angle-bracket\ninvocation. Curly brace invocation, on the other hand, only has a single syntax for arguments,\nand components must manually map attributes onto component arguments.\n\nWhen using classic invocation with `{{textarea}}`, only the following attributes are mapped onto\narguments:\n\n* rows\n* cols\n* name\n* selectionEnd\n* selectionStart\n* autocomplete\n* wrap\n* lang\n* dir\n* value\n\n## Classic `layout` and `layoutName` properties\n\nBecause HTML `textarea` elements do not contain inner HTML the `layout` and\n`layoutName` properties will not be applied.",
|
|
6262
5653
|
"itemtype": "method",
|
|
6263
5654
|
"name": "Textarea",
|
|
6264
|
-
"see": [
|
|
6265
|
-
"{TextArea}"
|
|
6266
|
-
],
|
|
6267
5655
|
"access": "public",
|
|
6268
5656
|
"tagname": "",
|
|
6269
5657
|
"class": "Ember.Templates.components",
|
|
@@ -6271,18 +5659,32 @@
|
|
|
6271
5659
|
},
|
|
6272
5660
|
{
|
|
6273
5661
|
"file": "packages/@ember/-internals/glimmer/lib/components/textarea.ts",
|
|
6274
|
-
"line":
|
|
5662
|
+
"line": 122,
|
|
6275
5663
|
"description": "See Ember.Templates.components.Textarea.",
|
|
6276
5664
|
"itemtype": "method",
|
|
6277
5665
|
"name": "textarea",
|
|
6278
5666
|
"see": [
|
|
6279
|
-
"{Ember.Templates.components.
|
|
5667
|
+
"{Ember.Templates.components.Textarea}"
|
|
6280
5668
|
],
|
|
6281
5669
|
"access": "public",
|
|
6282
5670
|
"tagname": "",
|
|
6283
5671
|
"class": "Ember.Templates.helpers",
|
|
6284
5672
|
"module": "@ember/component"
|
|
6285
5673
|
},
|
|
5674
|
+
{
|
|
5675
|
+
"file": "packages/@ember/-internals/glimmer/lib/components/textarea.ts",
|
|
5676
|
+
"line": 131,
|
|
5677
|
+
"description": "An opaque interface which can be imported and used in strict-mode\ntemplates to call <Textarea>.\n\nSee [Ember.Templates.components.Textarea](/ember/release/classes/Ember.Templates.components/methods/Textarea?anchor=Input).",
|
|
5678
|
+
"itemtype": "method",
|
|
5679
|
+
"name": "Textarea",
|
|
5680
|
+
"see": [
|
|
5681
|
+
"{Ember.Templates.components.Textarea}"
|
|
5682
|
+
],
|
|
5683
|
+
"access": "public",
|
|
5684
|
+
"tagname": "",
|
|
5685
|
+
"class": "@ember/component",
|
|
5686
|
+
"module": "@ember/component"
|
|
5687
|
+
},
|
|
6286
5688
|
{
|
|
6287
5689
|
"file": "packages/@ember/-internals/glimmer/lib/helpers/-track-array.ts",
|
|
6288
5690
|
"line": 11,
|
|
@@ -6495,31 +5897,6 @@
|
|
|
6495
5897
|
"class": "Ember.Templates.helpers",
|
|
6496
5898
|
"module": "ember"
|
|
6497
5899
|
},
|
|
6498
|
-
{
|
|
6499
|
-
"file": "packages/@ember/-internals/glimmer/lib/helpers/query-param.ts",
|
|
6500
|
-
"line": 11,
|
|
6501
|
-
"description": "This is a helper to be used in conjunction with the link-to helper.\nIt will supply url query parameters to the target route.",
|
|
6502
|
-
"example": [
|
|
6503
|
-
" In this example we are setting the `direction` query param to the value `\"asc\"`\n\n```app/templates/application.hbs\n<LinkTo\n @route=\"posts\"\n {{query-params direction=\"asc\"}}\n>\n Sort\n</LinkTo>\n```"
|
|
6504
|
-
],
|
|
6505
|
-
"itemtype": "method",
|
|
6506
|
-
"name": "query-params",
|
|
6507
|
-
"params": [
|
|
6508
|
-
{
|
|
6509
|
-
"name": "hash",
|
|
6510
|
-
"description": "takes a hash of query parameters",
|
|
6511
|
-
"type": "Object"
|
|
6512
|
-
}
|
|
6513
|
-
],
|
|
6514
|
-
"return": {
|
|
6515
|
-
"description": "A `QueryParams` object for `{{link-to}}`",
|
|
6516
|
-
"type": "Object"
|
|
6517
|
-
},
|
|
6518
|
-
"access": "public",
|
|
6519
|
-
"tagname": "",
|
|
6520
|
-
"class": "Ember.Templates.helpers",
|
|
6521
|
-
"module": "ember"
|
|
6522
|
-
},
|
|
6523
5900
|
{
|
|
6524
5901
|
"file": "packages/@ember/-internals/glimmer/lib/helpers/readonly.ts",
|
|
6525
5902
|
"line": 8,
|
|
@@ -6736,7 +6113,7 @@
|
|
|
6736
6113
|
},
|
|
6737
6114
|
{
|
|
6738
6115
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6739
|
-
"line":
|
|
6116
|
+
"line": 752,
|
|
6740
6117
|
"description": "Normally, Ember's component model is \"write-only\". The component takes a\nbunch of attributes that it got passed in, and uses them to render its\ntemplate.\n\nOne nice thing about this model is that if you try to set a value to the\nsame thing as last time, Ember (through HTMLBars) will avoid doing any\nwork on the DOM.\n\nThis is not just a performance optimization. If an attribute has not\nchanged, it is important not to clobber the element's \"hidden state\".\nFor example, if you set an input's `value` to the same value as before,\nit will clobber selection state and cursor position. In other words,\nsetting an attribute is not **always** idempotent.\n\nThis method provides a way to read an element's attribute and also\nupdate the last value Ember knows about at the same time. This makes\nsetting an attribute idempotent.\n\nIn particular, what this means is that if you get an `<input>` element's\n`value` attribute and then re-render the template with the same value,\nit will avoid clobbering the cursor and selection position.\nSince most attribute sets are idempotent in the browser, you typically\ncan get away with reading attributes using jQuery, but the most reliable\nway to do so is through this method.",
|
|
6741
6118
|
"itemtype": "method",
|
|
6742
6119
|
"name": "readDOMAttr",
|
|
@@ -6757,7 +6134,7 @@
|
|
|
6757
6134
|
},
|
|
6758
6135
|
{
|
|
6759
6136
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6760
|
-
"line":
|
|
6137
|
+
"line": 803,
|
|
6761
6138
|
"description": "The WAI-ARIA role of the control represented by this view. For example, a\nbutton may have a role of type 'button', or a pane may have a role of\ntype 'alertdialog'. This property is used by assistive software to help\nvisually challenged users navigate rich web applications.\n\nThe full list of valid WAI-ARIA roles is available at:\n[https://www.w3.org/TR/wai-aria/#roles_categorization](https://www.w3.org/TR/wai-aria/#roles_categorization)",
|
|
6762
6139
|
"itemtype": "property",
|
|
6763
6140
|
"name": "ariaRole",
|
|
@@ -6770,7 +6147,7 @@
|
|
|
6770
6147
|
},
|
|
6771
6148
|
{
|
|
6772
6149
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6773
|
-
"line":
|
|
6150
|
+
"line": 818,
|
|
6774
6151
|
"description": "Enables components to take a list of parameters as arguments.\nFor example, a component that takes two parameters with the names\n`name` and `age`:\n\n```app/components/my-component.js\nimport Component from '@ember/component';\n\nlet MyComponent = Component.extend();\n\nMyComponent.reopenClass({\n positionalParams: ['name', 'age']\n});\n\nexport default MyComponent;\n```\n\nIt can then be invoked like this:\n\n```hbs\n{{my-component \"John\" 38}}\n```\n\nThe parameters can be referred to just like named parameters:\n\n```hbs\nName: {{name}}, Age: {{age}}.\n```\n\nUsing a string instead of an array allows for an arbitrary number of\nparameters:\n\n```app/components/my-component.js\nimport Component from '@ember/component';\n\nlet MyComponent = Component.extend();\n\nMyComponent.reopenClass({\n positionalParams: 'names'\n});\n\nexport default MyComponent;\n```\n\nIt can then be invoked like this:\n\n```hbs\n{{my-component \"John\" \"Michael\" \"Scott\"}}\n```\nThe parameters can then be referred to by enumerating over the list:\n\n```hbs\n{{#each names as |name|}}{{name}}{{/each}}\n```",
|
|
6775
6152
|
"static": 1,
|
|
6776
6153
|
"access": "public",
|
|
@@ -6783,7 +6160,7 @@
|
|
|
6783
6160
|
},
|
|
6784
6161
|
{
|
|
6785
6162
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6786
|
-
"line":
|
|
6163
|
+
"line": 879,
|
|
6787
6164
|
"description": "Called when the attributes passed into the component have been updated.\nCalled both during the initial render of a container and during a rerender.\nCan be used in place of an observer; code placed here will be executed\nevery time any attribute updates.",
|
|
6788
6165
|
"itemtype": "method",
|
|
6789
6166
|
"name": "didReceiveAttrs",
|
|
@@ -6795,7 +6172,7 @@
|
|
|
6795
6172
|
},
|
|
6796
6173
|
{
|
|
6797
6174
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6798
|
-
"line":
|
|
6175
|
+
"line": 890,
|
|
6799
6176
|
"description": "Called when the attributes passed into the component have been updated.\nCalled both during the initial render of a container and during a rerender.\nCan be used in place of an observer; code placed here will be executed\nevery time any attribute updates.",
|
|
6800
6177
|
"itemtype": "event",
|
|
6801
6178
|
"name": "didReceiveAttrs",
|
|
@@ -6807,7 +6184,7 @@
|
|
|
6807
6184
|
},
|
|
6808
6185
|
{
|
|
6809
6186
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6810
|
-
"line":
|
|
6187
|
+
"line": 900,
|
|
6811
6188
|
"description": "Called after a component has been rendered, both on initial render and\nin subsequent rerenders.",
|
|
6812
6189
|
"itemtype": "method",
|
|
6813
6190
|
"name": "didRender",
|
|
@@ -6819,7 +6196,7 @@
|
|
|
6819
6196
|
},
|
|
6820
6197
|
{
|
|
6821
6198
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6822
|
-
"line":
|
|
6199
|
+
"line": 909,
|
|
6823
6200
|
"description": "Called after a component has been rendered, both on initial render and\nin subsequent rerenders.",
|
|
6824
6201
|
"itemtype": "event",
|
|
6825
6202
|
"name": "didRender",
|
|
@@ -6831,7 +6208,7 @@
|
|
|
6831
6208
|
},
|
|
6832
6209
|
{
|
|
6833
6210
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6834
|
-
"line":
|
|
6211
|
+
"line": 917,
|
|
6835
6212
|
"description": "Called before a component has been rendered, both on initial render and\nin subsequent rerenders.",
|
|
6836
6213
|
"itemtype": "method",
|
|
6837
6214
|
"name": "willRender",
|
|
@@ -6843,7 +6220,7 @@
|
|
|
6843
6220
|
},
|
|
6844
6221
|
{
|
|
6845
6222
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6846
|
-
"line":
|
|
6223
|
+
"line": 926,
|
|
6847
6224
|
"description": "Called before a component has been rendered, both on initial render and\nin subsequent rerenders.",
|
|
6848
6225
|
"itemtype": "event",
|
|
6849
6226
|
"name": "willRender",
|
|
@@ -6855,7 +6232,7 @@
|
|
|
6855
6232
|
},
|
|
6856
6233
|
{
|
|
6857
6234
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6858
|
-
"line":
|
|
6235
|
+
"line": 934,
|
|
6859
6236
|
"description": "Called when the attributes passed into the component have been changed.\nCalled only during a rerender, not during an initial render.",
|
|
6860
6237
|
"itemtype": "method",
|
|
6861
6238
|
"name": "didUpdateAttrs",
|
|
@@ -6867,7 +6244,7 @@
|
|
|
6867
6244
|
},
|
|
6868
6245
|
{
|
|
6869
6246
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6870
|
-
"line":
|
|
6247
|
+
"line": 943,
|
|
6871
6248
|
"description": "Called when the attributes passed into the component have been changed.\nCalled only during a rerender, not during an initial render.",
|
|
6872
6249
|
"itemtype": "event",
|
|
6873
6250
|
"name": "didUpdateAttrs",
|
|
@@ -6879,7 +6256,7 @@
|
|
|
6879
6256
|
},
|
|
6880
6257
|
{
|
|
6881
6258
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6882
|
-
"line":
|
|
6259
|
+
"line": 951,
|
|
6883
6260
|
"description": "Called when the component is about to update and rerender itself.\nCalled only during a rerender, not during an initial render.",
|
|
6884
6261
|
"itemtype": "method",
|
|
6885
6262
|
"name": "willUpdate",
|
|
@@ -6891,7 +6268,7 @@
|
|
|
6891
6268
|
},
|
|
6892
6269
|
{
|
|
6893
6270
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6894
|
-
"line":
|
|
6271
|
+
"line": 960,
|
|
6895
6272
|
"description": "Called when the component is about to update and rerender itself.\nCalled only during a rerender, not during an initial render.",
|
|
6896
6273
|
"itemtype": "event",
|
|
6897
6274
|
"name": "willUpdate",
|
|
@@ -6903,7 +6280,7 @@
|
|
|
6903
6280
|
},
|
|
6904
6281
|
{
|
|
6905
6282
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6906
|
-
"line":
|
|
6283
|
+
"line": 968,
|
|
6907
6284
|
"description": "Called when the component has updated and rerendered itself.\nCalled only during a rerender, not during an initial render.",
|
|
6908
6285
|
"itemtype": "method",
|
|
6909
6286
|
"name": "didUpdate",
|
|
@@ -6915,7 +6292,7 @@
|
|
|
6915
6292
|
},
|
|
6916
6293
|
{
|
|
6917
6294
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6918
|
-
"line":
|
|
6295
|
+
"line": 977,
|
|
6919
6296
|
"description": "Called when the component has updated and rerendered itself.\nCalled only during a rerender, not during an initial render.",
|
|
6920
6297
|
"itemtype": "event",
|
|
6921
6298
|
"name": "didUpdate",
|
|
@@ -6927,7 +6304,7 @@
|
|
|
6927
6304
|
},
|
|
6928
6305
|
{
|
|
6929
6306
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6930
|
-
"line":
|
|
6307
|
+
"line": 985,
|
|
6931
6308
|
"description": "Layout can be used to wrap content in a component.",
|
|
6932
6309
|
"itemtype": "property",
|
|
6933
6310
|
"name": "layout",
|
|
@@ -6939,7 +6316,7 @@
|
|
|
6939
6316
|
},
|
|
6940
6317
|
{
|
|
6941
6318
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6942
|
-
"line":
|
|
6319
|
+
"line": 992,
|
|
6943
6320
|
"description": "The name of the layout to lookup if no layout is provided.\nBy default `Component` will lookup a template with this name in\n`Ember.TEMPLATES` (a shared global object).",
|
|
6944
6321
|
"itemtype": "property",
|
|
6945
6322
|
"name": "layoutName",
|
|
@@ -6952,30 +6329,7 @@
|
|
|
6952
6329
|
},
|
|
6953
6330
|
{
|
|
6954
6331
|
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6955
|
-
"line":
|
|
6956
|
-
"description": "Returns a jQuery object for this component's element. If you pass in a selector\nstring, this method will return a jQuery object, using the current element\nas its buffer.\n\nFor example, calling `component.$('li')` will return a jQuery object containing\nall of the `li` elements inside the DOM element of this component.\n\nPlease note that jQuery integration is off by default and this feature will\nnot work properly. To enable this feature, you can read the instructions in\nthe [jquery-integration optional feature guide](https://guides.emberjs.com/release/configuring-ember/optional-features/#toc_jquery-integration).",
|
|
6957
|
-
"itemtype": "method",
|
|
6958
|
-
"name": "$",
|
|
6959
|
-
"params": [
|
|
6960
|
-
{
|
|
6961
|
-
"name": "selector",
|
|
6962
|
-
"description": "a jQuery-compatible selector string",
|
|
6963
|
-
"type": "String",
|
|
6964
|
-
"optional": true
|
|
6965
|
-
}
|
|
6966
|
-
],
|
|
6967
|
-
"return": {
|
|
6968
|
-
"description": "the jQuery object for the DOM node",
|
|
6969
|
-
"type": "JQuery"
|
|
6970
|
-
},
|
|
6971
|
-
"access": "public",
|
|
6972
|
-
"tagname": "",
|
|
6973
|
-
"class": "Component",
|
|
6974
|
-
"module": "@ember/component"
|
|
6975
|
-
},
|
|
6976
|
-
{
|
|
6977
|
-
"file": "packages/@ember/-internals/glimmer/lib/component.ts",
|
|
6978
|
-
"line": 1020,
|
|
6332
|
+
"line": 1002,
|
|
6979
6333
|
"description": "The HTML `id` of the component's element in the DOM. You can provide this\nvalue yourself but it must be unique (just as in HTML):\n\n```handlebars\n{{my-component elementId=\"a-really-cool-id\"}}\n```\n\n```handlebars\n<MyComponent @elementId=\"a-really-cool-id\" />\n```\nIf not manually set a default value will be provided by the framework.\nOnce rendered an element's `elementId` is considered immutable and you\nshould never change it. If you need to compute a dynamic value for the\n`elementId`, you should do this when the component or element is being\ninstantiated:\n\n```javascript\nexport default Component.extend({\n init() {\n this._super(...arguments);\n\n var index = this.get('index');\n this.set('elementId', `component-id${index}`);\n }\n});\n```",
|
|
6980
6334
|
"itemtype": "property",
|
|
6981
6335
|
"name": "elementId",
|
|
@@ -6999,7 +6353,7 @@
|
|
|
6999
6353
|
},
|
|
7000
6354
|
{
|
|
7001
6355
|
"file": "packages/@ember/-internals/glimmer/lib/helper.ts",
|
|
7002
|
-
"line":
|
|
6356
|
+
"line": 85,
|
|
7003
6357
|
"description": "On a class-based helper, it may be useful to force a recomputation of that\nhelpers value. This is akin to `rerender` on a component.\n\nFor example, this component will rerender when the `currentUser` on a\nsession service changes:\n\n```app/helpers/current-user-email.js\nimport Helper from '@ember/component/helper'\nimport { inject as service } from '@ember/service'\nimport { observer } from '@ember/object'\n\nexport default Helper.extend({\n session: service(),\n\n onNewUser: observer('session.currentUser', function() {\n this.recompute();\n }),\n\n compute() {\n return this.get('session.currentUser.email');\n }\n});\n```",
|
|
7004
6358
|
"itemtype": "method",
|
|
7005
6359
|
"name": "recompute",
|
|
@@ -7011,7 +6365,7 @@
|
|
|
7011
6365
|
},
|
|
7012
6366
|
{
|
|
7013
6367
|
"file": "packages/@ember/-internals/glimmer/lib/helper.ts",
|
|
7014
|
-
"line":
|
|
6368
|
+
"line": 118,
|
|
7015
6369
|
"description": "Override this function when writing a class-based helper.",
|
|
7016
6370
|
"itemtype": "method",
|
|
7017
6371
|
"name": "compute",
|
|
@@ -7035,7 +6389,7 @@
|
|
|
7035
6389
|
},
|
|
7036
6390
|
{
|
|
7037
6391
|
"file": "packages/@ember/-internals/glimmer/lib/helper.ts",
|
|
7038
|
-
"line":
|
|
6392
|
+
"line": 231,
|
|
7039
6393
|
"description": "In many cases it is not necessary to use the full `Helper` class.\nThe `helper` method create pure-function helpers without instances.\nFor example:\n\n```app/helpers/format-currency.js\nimport { helper } from '@ember/component/helper';\n\nexport default helper(function([cents], {currency}) {\n return `${currency}${cents * 0.01}`;\n});\n```",
|
|
7040
6394
|
"static": 1,
|
|
7041
6395
|
"params": [
|
|
@@ -7680,7 +7034,7 @@
|
|
|
7680
7034
|
},
|
|
7681
7035
|
{
|
|
7682
7036
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
7683
|
-
"line":
|
|
7037
|
+
"line": 430,
|
|
7684
7038
|
"itemtype": "method",
|
|
7685
7039
|
"name": "mixin",
|
|
7686
7040
|
"params": [
|
|
@@ -7704,7 +7058,7 @@
|
|
|
7704
7058
|
},
|
|
7705
7059
|
{
|
|
7706
7060
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
7707
|
-
"line":
|
|
7061
|
+
"line": 559,
|
|
7708
7062
|
"itemtype": "method",
|
|
7709
7063
|
"name": "create",
|
|
7710
7064
|
"static": 1,
|
|
@@ -7722,7 +7076,7 @@
|
|
|
7722
7076
|
},
|
|
7723
7077
|
{
|
|
7724
7078
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
7725
|
-
"line":
|
|
7079
|
+
"line": 591,
|
|
7726
7080
|
"itemtype": "method",
|
|
7727
7081
|
"name": "reopen",
|
|
7728
7082
|
"params": [
|
|
@@ -7739,7 +7093,7 @@
|
|
|
7739
7093
|
},
|
|
7740
7094
|
{
|
|
7741
7095
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
7742
|
-
"line":
|
|
7096
|
+
"line": 613,
|
|
7743
7097
|
"itemtype": "method",
|
|
7744
7098
|
"name": "apply",
|
|
7745
7099
|
"params": [
|
|
@@ -7758,7 +7112,7 @@
|
|
|
7758
7112
|
},
|
|
7759
7113
|
{
|
|
7760
7114
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
7761
|
-
"line":
|
|
7115
|
+
"line": 632,
|
|
7762
7116
|
"itemtype": "method",
|
|
7763
7117
|
"name": "detect",
|
|
7764
7118
|
"params": [
|
|
@@ -7778,7 +7132,7 @@
|
|
|
7778
7132
|
},
|
|
7779
7133
|
{
|
|
7780
7134
|
"file": "packages/@ember/-internals/metal/lib/mixin.ts",
|
|
7781
|
-
"line":
|
|
7135
|
+
"line": 749,
|
|
7782
7136
|
"description": "Specify a method that observes property changes.\n\n```javascript\nimport EmberObject from '@ember/object';\nimport { observer } from '@ember/object';\n\nexport default EmberObject.extend({\n valueObserver: observer('value', function() {\n // Executes whenever the \"value\" property changes\n })\n});\n```\n\nAlso available as `Function.prototype.observes` if prototype extensions are\nenabled.",
|
|
7783
7137
|
"itemtype": "method",
|
|
7784
7138
|
"name": "observer",
|
|
@@ -8002,7 +7356,7 @@
|
|
|
8002
7356
|
},
|
|
8003
7357
|
{
|
|
8004
7358
|
"file": "packages/@ember/-internals/metal/lib/property_get.ts",
|
|
8005
|
-
"line":
|
|
7359
|
+
"line": 41,
|
|
8006
7360
|
"description": "Gets the value of a property on an object. If the property is computed,\nthe function will be invoked. If the property is not defined but the\nobject implements the `unknownProperty` method then that will be invoked.\n\n```javascript\nimport { get } from '@ember/object';\nget(obj, \"name\");\n```\n\nIf you plan to run on IE8 and older browsers then you should use this\nmethod anytime you want to retrieve a property on an object that you don't\nknow for sure is private. (Properties beginning with an underscore '_'\nare considered private.)\n\nOn all newer browsers, you only need to use this method to retrieve\nproperties if the property might not be defined on the object and you want\nto respect the `unknownProperty` handler. Otherwise you can ignore this\nmethod.\n\nNote that if the object itself is `undefined`, this method will throw\nan error.",
|
|
8007
7361
|
"itemtype": "method",
|
|
8008
7362
|
"name": "get",
|
|
@@ -8123,8 +7477,8 @@
|
|
|
8123
7477
|
"access": "private",
|
|
8124
7478
|
"tagname": "Marks a property as tracked.\n\nBy default, a component's properties are expected to be static,\nmeaning you are not able to update them and have the template update accordingly.\nMarking a property as tracked means that when that property changes,\na rerender of the component is scheduled so the template is kept up to date.\n\nThere are two usages for the `@tracked` decorator, shown below.",
|
|
8125
7479
|
"example": [
|
|
8126
|
-
" No dependencies\n\nIf you don't pass an argument to `@tracked`, only changes to that property\nwill be tracked:\n\n```typescript\nimport Component
|
|
8127
|
-
" Dependents\n\nIn the case that you have a computed property that depends other\nproperties, you want to track both so that when one of the\ndependents change, a rerender is scheduled.\n\nIn the following example we have two properties,\n`eatenApples`, and `remainingApples`.\n\n```typescript\nimport Component
|
|
7480
|
+
" No dependencies\n\nIf you don't pass an argument to `@tracked`, only changes to that property\nwill be tracked:\n\n```typescript\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nexport default class MyComponent extends Component {\n @tracked\n remainingApples = 10\n}\n```\n\nWhen something changes the component's `remainingApples` property, the rerender\nwill be scheduled.",
|
|
7481
|
+
" Dependents\n\nIn the case that you have a computed property that depends other\nproperties, you want to track both so that when one of the\ndependents change, a rerender is scheduled.\n\nIn the following example we have two properties,\n`eatenApples`, and `remainingApples`.\n\n```typescript\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nconst totalApples = 100;\n\nexport default class MyComponent extends Component {\n @tracked\n eatenApples = 0\n\n @tracked('eatenApples')\n get remainingApples() {\n return totalApples - this.eatenApples;\n }\n\n increment() {\n this.eatenApples = this.eatenApples + 1;\n }\n}\n```"
|
|
8128
7482
|
],
|
|
8129
7483
|
"params": [
|
|
8130
7484
|
{
|
|
@@ -9409,7 +8763,7 @@
|
|
|
9409
8763
|
},
|
|
9410
8764
|
{
|
|
9411
8765
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9412
|
-
"line":
|
|
8766
|
+
"line": 147,
|
|
9413
8767
|
"description": "Configuration hash for this route's queryParams. The possible\nconfiguration options and their defaults are as follows\n(assuming a query param whose controller property is `page`):\n\n```javascript\nqueryParams: {\n page: {\n // By default, controller query param properties don't\n // cause a full transition when they are changed, but\n // rather only cause the URL to update. Setting\n // `refreshModel` to true will cause an \"in-place\"\n // transition to occur, whereby the model hooks for\n // this route (and any child routes) will re-fire, allowing\n // you to reload models (e.g., from the server) using the\n // updated query param values.\n refreshModel: false,\n\n // By default, changes to controller query param properties\n // cause the URL to update via `pushState`, which means an\n // item will be added to the browser's history, allowing\n // you to use the back button to restore the app to the\n // previous state before the query param property was changed.\n // Setting `replace` to true will use `replaceState` (or its\n // hash location equivalent), which causes no browser history\n // item to be added. This options name and default value are\n // the same as the `link-to` helper's `replace` option.\n replace: false,\n\n // By default, the query param URL key is the same name as\n // the controller property name. Use `as` to specify a\n // different URL key.\n as: 'page'\n }\n}\n```",
|
|
9414
8768
|
"itemtype": "property",
|
|
9415
8769
|
"name": "queryParams",
|
|
@@ -9422,7 +8776,7 @@
|
|
|
9422
8776
|
},
|
|
9423
8777
|
{
|
|
9424
8778
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9425
|
-
"line":
|
|
8779
|
+
"line": 193,
|
|
9426
8780
|
"description": "The name of the template to use by default when rendering this routes\ntemplate.\n\n```app/routes/posts/list.js\nimport Route from '@ember/routing/route';\n\nexport default class extends Route {\n templateName = 'posts/list'\n});\n```\n\n```app/routes/posts/index.js\nimport PostsList from '../posts/list';\n\nexport default class extends PostsList {};\n```\n\n```app/routes/posts/archived.js\nimport PostsList from '../posts/list';\n\nexport default class extends PostsList {};\n```",
|
|
9427
8781
|
"itemtype": "property",
|
|
9428
8782
|
"name": "templateName",
|
|
@@ -9436,7 +8790,7 @@
|
|
|
9436
8790
|
},
|
|
9437
8791
|
{
|
|
9438
8792
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9439
|
-
"line":
|
|
8793
|
+
"line": 226,
|
|
9440
8794
|
"description": "The name of the controller to associate with this route.\n\nBy default, Ember will lookup a route's controller that matches the name\nof the route (i.e. `posts.new`). However,\nif you would like to define a specific controller to use, you can do so\nusing this property.\n\nThis is useful in many ways, as the controller specified will be:\n\n* passed to the `setupController` method.\n* used as the controller for the template being rendered by the route.\n* returned from a call to `controllerFor` for the route.",
|
|
9441
8795
|
"itemtype": "property",
|
|
9442
8796
|
"name": "controllerName",
|
|
@@ -9450,7 +8804,7 @@
|
|
|
9450
8804
|
},
|
|
9451
8805
|
{
|
|
9452
8806
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9453
|
-
"line":
|
|
8807
|
+
"line": 249,
|
|
9454
8808
|
"description": "The controller associated with this route.\n\nExample\n\n```app/routes/form.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class FormRoute extends Route {\n @action\n willTransition(transition) {\n if (this.controller.get('userHasEnteredData') &&\n !confirm('Are you sure you want to abandon progress?')) {\n transition.abort();\n } else {\n // Bubble the `willTransition` action so that\n // parent routes can decide whether or not to abort.\n return true;\n }\n }\n}\n```",
|
|
9455
8809
|
"itemtype": "property",
|
|
9456
8810
|
"name": "controller",
|
|
@@ -9463,7 +8817,7 @@
|
|
|
9463
8817
|
},
|
|
9464
8818
|
{
|
|
9465
8819
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9466
|
-
"line":
|
|
8820
|
+
"line": 280,
|
|
9467
8821
|
"description": "The name of the route, dot-delimited.\n\nFor example, a route found at `app/routes/posts/post.js` will have\na `routeName` of `posts.post`.",
|
|
9468
8822
|
"itemtype": "property",
|
|
9469
8823
|
"name": "routeName",
|
|
@@ -9476,7 +8830,7 @@
|
|
|
9476
8830
|
},
|
|
9477
8831
|
{
|
|
9478
8832
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9479
|
-
"line":
|
|
8833
|
+
"line": 294,
|
|
9480
8834
|
"description": "The name of the route, dot-delimited, including the engine prefix\nif applicable.\n\nFor example, a route found at `addon/routes/posts/post.js` within an\nengine named `admin` will have a `fullRouteName` of `admin.posts.post`.",
|
|
9481
8835
|
"itemtype": "property",
|
|
9482
8836
|
"name": "fullRouteName",
|
|
@@ -9489,7 +8843,7 @@
|
|
|
9489
8843
|
},
|
|
9490
8844
|
{
|
|
9491
8845
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9492
|
-
"line":
|
|
8846
|
+
"line": 309,
|
|
9493
8847
|
"description": "Sets the name for this route, including a fully resolved name for routes\ninside engines.",
|
|
9494
8848
|
"access": "private",
|
|
9495
8849
|
"tagname": "",
|
|
@@ -9507,7 +8861,7 @@
|
|
|
9507
8861
|
},
|
|
9508
8862
|
{
|
|
9509
8863
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9510
|
-
"line":
|
|
8864
|
+
"line": 322,
|
|
9511
8865
|
"access": "private",
|
|
9512
8866
|
"tagname": "",
|
|
9513
8867
|
"itemtype": "method",
|
|
@@ -9517,7 +8871,7 @@
|
|
|
9517
8871
|
},
|
|
9518
8872
|
{
|
|
9519
8873
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9520
|
-
"line":
|
|
8874
|
+
"line": 353,
|
|
9521
8875
|
"access": "private",
|
|
9522
8876
|
"tagname": "",
|
|
9523
8877
|
"itemtype": "property",
|
|
@@ -9527,7 +8881,7 @@
|
|
|
9527
8881
|
},
|
|
9528
8882
|
{
|
|
9529
8883
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9530
|
-
"line":
|
|
8884
|
+
"line": 362,
|
|
9531
8885
|
"access": "private",
|
|
9532
8886
|
"tagname": "",
|
|
9533
8887
|
"itemtype": "method",
|
|
@@ -9537,7 +8891,7 @@
|
|
|
9537
8891
|
},
|
|
9538
8892
|
{
|
|
9539
8893
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9540
|
-
"line":
|
|
8894
|
+
"line": 370,
|
|
9541
8895
|
"description": "Returns a hash containing the parameters of an ancestor route.\n\nYou may notice that `this.paramsFor` sometimes works when referring to a\nchild route, but this behavior should not be relied upon as only ancestor\nroutes are certain to be loaded in time.\n\nExample\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('member', { path: ':name' }, function() {\n this.route('interest', { path: ':interest' });\n });\n});\n```\n\n```app/routes/member.js\nimport Route from '@ember/routing/route';\n\nexport default class MemberRoute extends Route {\n queryParams = {\n memberQp: { refreshModel: true }\n }\n}\n```\n\n```app/routes/member/interest.js\nimport Route from '@ember/routing/route';\n\nexport default class MemberInterestRoute extends Route {\n queryParams = {\n interestQp: { refreshModel: true }\n }\n\n model() {\n return this.paramsFor('member');\n }\n}\n```\n\nIf we visit `/turing/maths?memberQp=member&interestQp=interest` the model for\nthe `member.interest` route is a hash with:\n\n* `name`: `turing`\n* `memberQp`: `member`",
|
|
9542
8896
|
"itemtype": "method",
|
|
9543
8897
|
"name": "paramsFor",
|
|
@@ -9560,7 +8914,7 @@
|
|
|
9560
8914
|
},
|
|
9561
8915
|
{
|
|
9562
8916
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9563
|
-
"line":
|
|
8917
|
+
"line": 449,
|
|
9564
8918
|
"description": "Serializes the query parameter key",
|
|
9565
8919
|
"itemtype": "method",
|
|
9566
8920
|
"name": "serializeQueryParamKey",
|
|
@@ -9578,7 +8932,7 @@
|
|
|
9578
8932
|
},
|
|
9579
8933
|
{
|
|
9580
8934
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9581
|
-
"line":
|
|
8935
|
+
"line": 460,
|
|
9582
8936
|
"description": "Serializes value of the query parameter based on defaultValueType",
|
|
9583
8937
|
"itemtype": "method",
|
|
9584
8938
|
"name": "serializeQueryParam",
|
|
@@ -9606,7 +8960,7 @@
|
|
|
9606
8960
|
},
|
|
9607
8961
|
{
|
|
9608
8962
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9609
|
-
"line":
|
|
8963
|
+
"line": 476,
|
|
9610
8964
|
"description": "Deserializes value of the query parameter based on defaultValueType",
|
|
9611
8965
|
"itemtype": "method",
|
|
9612
8966
|
"name": "deserializeQueryParam",
|
|
@@ -9634,7 +8988,7 @@
|
|
|
9634
8988
|
},
|
|
9635
8989
|
{
|
|
9636
8990
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9637
|
-
"line":
|
|
8991
|
+
"line": 492,
|
|
9638
8992
|
"access": "private",
|
|
9639
8993
|
"tagname": "",
|
|
9640
8994
|
"itemtype": "property",
|
|
@@ -9644,7 +8998,7 @@
|
|
|
9644
8998
|
},
|
|
9645
8999
|
{
|
|
9646
9000
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9647
|
-
"line":
|
|
9001
|
+
"line": 501,
|
|
9648
9002
|
"description": "A hook you can use to reset controller values either when the model\nchanges or the route is exiting.\n\n```app/routes/articles.js\nimport Route from '@ember/routing/route';\n\nexport default class ArticlesRoute extends Route {\n resetController(controller, isExiting, transition) {\n if (isExiting && transition.targetName !== 'error') {\n controller.set('page', 1);\n }\n }\n}\n```",
|
|
9649
9003
|
"itemtype": "method",
|
|
9650
9004
|
"name": "resetController",
|
|
@@ -9673,7 +9027,7 @@
|
|
|
9673
9027
|
},
|
|
9674
9028
|
{
|
|
9675
9029
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9676
|
-
"line":
|
|
9030
|
+
"line": 528,
|
|
9677
9031
|
"access": "private",
|
|
9678
9032
|
"tagname": "",
|
|
9679
9033
|
"itemtype": "method",
|
|
@@ -9683,7 +9037,7 @@
|
|
|
9683
9037
|
},
|
|
9684
9038
|
{
|
|
9685
9039
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9686
|
-
"line":
|
|
9040
|
+
"line": 539,
|
|
9687
9041
|
"access": "private",
|
|
9688
9042
|
"tagname": "",
|
|
9689
9043
|
"itemtype": "method",
|
|
@@ -9694,7 +9048,7 @@
|
|
|
9694
9048
|
},
|
|
9695
9049
|
{
|
|
9696
9050
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9697
|
-
"line":
|
|
9051
|
+
"line": 552,
|
|
9698
9052
|
"access": "private",
|
|
9699
9053
|
"tagname": "",
|
|
9700
9054
|
"itemtype": "method",
|
|
@@ -9704,7 +9058,7 @@
|
|
|
9704
9058
|
},
|
|
9705
9059
|
{
|
|
9706
9060
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9707
|
-
"line":
|
|
9061
|
+
"line": 563,
|
|
9708
9062
|
"description": "The `willTransition` action is fired at the beginning of any\nattempted transition with a `Transition` object as the sole\nargument. This action can be used for aborting, redirecting,\nor decorating the transition from the currently active routes.\n\nA good example is preventing navigation when a form is\nhalf-filled out:\n\n```app/routes/contact-form.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class ContactFormRoute extends Route {\n @action\n willTransition(transition) {\n if (this.controller.get('userHasEnteredData')) {\n this.controller.displayNavigationConfirm();\n transition.abort();\n }\n }\n}\n```\n\nYou can also redirect elsewhere by calling\n`this.transitionTo('elsewhere')` from within `willTransition`.\nNote that `willTransition` will not be fired for the\nredirecting `transitionTo`, since `willTransition` doesn't\nfire when there is already a transition underway. If you want\nsubsequent `willTransition` actions to fire for the redirecting\ntransition, you must first explicitly call\n`transition.abort()`.\n\nTo allow the `willTransition` event to continue bubbling to the parent\nroute, use `return true;`. When the `willTransition` method has a\nreturn value of `true` then the parent route's `willTransition` method\nwill be fired, enabling \"bubbling\" behavior for the event.",
|
|
9709
9063
|
"itemtype": "event",
|
|
9710
9064
|
"name": "willTransition",
|
|
@@ -9723,7 +9077,7 @@
|
|
|
9723
9077
|
},
|
|
9724
9078
|
{
|
|
9725
9079
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9726
|
-
"line":
|
|
9080
|
+
"line": 607,
|
|
9727
9081
|
"description": "The `didTransition` action is fired after a transition has\nsuccessfully been completed. This occurs after the normal model\nhooks (`beforeModel`, `model`, `afterModel`, `setupController`)\nhave resolved. The `didTransition` action has no arguments,\nhowever, it can be useful for tracking page views or resetting\nstate on the controller.\n\n```app/routes/login.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class LoginRoute extends Route {\n @action\n didTransition() {\n this.controller.get('errors.base').clear();\n return true; // Bubble the didTransition event\n }\n}\n```",
|
|
9728
9082
|
"itemtype": "event",
|
|
9729
9083
|
"name": "didTransition",
|
|
@@ -9735,7 +9089,7 @@
|
|
|
9735
9089
|
},
|
|
9736
9090
|
{
|
|
9737
9091
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9738
|
-
"line":
|
|
9092
|
+
"line": 633,
|
|
9739
9093
|
"description": "The `loading` action is fired on the route when a route's `model`\nhook returns a promise that is not already resolved. The current\n`Transition` object is the first parameter and the route that\ntriggered the loading event is the second parameter.\n\n```app/routes/application.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class ApplicationRoute extends Route {\n @action\n loading(transition, route) {\n let controller = this.controllerFor('foo');\n\n // The controller may not be instantiated when initially loading\n if (controller) {\n controller.currentlyLoading = true;\n\n transition.finally(function() {\n controller.currentlyLoading = false;\n });\n }\n }\n}\n```",
|
|
9740
9094
|
"itemtype": "event",
|
|
9741
9095
|
"name": "loading",
|
|
@@ -9759,7 +9113,7 @@
|
|
|
9759
9113
|
},
|
|
9760
9114
|
{
|
|
9761
9115
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9762
|
-
"line":
|
|
9116
|
+
"line": 667,
|
|
9763
9117
|
"description": "When attempting to transition into a route, any of the hooks\nmay return a promise that rejects, at which point an `error`\naction will be fired on the partially-entered routes, allowing\nfor per-route error handling logic, or shared error handling\nlogic defined on a parent route.\n\nHere is an example of an error handler that will be invoked\nfor rejected promises from the various hooks on the route,\nas well as any unhandled errors from child routes:\n\n```app/routes/admin.js\nimport { reject } from 'rsvp';\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class AdminRoute extends Route {\n beforeModel() {\n return reject('bad things!');\n }\n\n @action\n error(error, transition) {\n // Assuming we got here due to the error in `beforeModel`,\n // we can expect that error === \"bad things!\",\n // but a promise model rejecting would also\n // call this hook, as would any errors encountered\n // in `afterModel`.\n\n // The `error` hook is also provided the failed\n // `transition`, which can be stored and later\n // `.retry()`d if desired.\n\n this.transitionTo('login');\n }\n}\n```\n\n`error` actions that bubble up all the way to `ApplicationRoute`\nwill fire a default error handler that logs the error. You can\nspecify your own global default error handler by overriding the\n`error` handler on `ApplicationRoute`:\n\n```app/routes/application.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class ApplicationRoute extends Route {\n @action\n error(error, transition) {\n this.controllerFor('banner').displayError(error.message);\n }\n}\n```",
|
|
9764
9118
|
"itemtype": "event",
|
|
9765
9119
|
"name": "error",
|
|
@@ -9783,7 +9137,7 @@
|
|
|
9783
9137
|
},
|
|
9784
9138
|
{
|
|
9785
9139
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9786
|
-
"line":
|
|
9140
|
+
"line": 728,
|
|
9787
9141
|
"description": "This event is triggered when the router enters the route. It is\nnot executed when the model for the route changes.\n\n```app/routes/application.js\nimport { on } from '@ember/object/evented';\nimport Route from '@ember/routing/route';\n\nexport default Route.extend({\n collectAnalytics: on('activate', function(){\n collectAnalytics();\n })\n});\n```",
|
|
9788
9142
|
"itemtype": "event",
|
|
9789
9143
|
"name": "activate",
|
|
@@ -9795,7 +9149,7 @@
|
|
|
9795
9149
|
},
|
|
9796
9150
|
{
|
|
9797
9151
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9798
|
-
"line":
|
|
9152
|
+
"line": 748,
|
|
9799
9153
|
"description": "This event is triggered when the router completely exits this\nroute. It is not executed when the model for the route changes.\n\n```app/routes/index.js\nimport { on } from '@ember/object/evented';\nimport Route from '@ember/routing/route';\n\nexport default Route.extend({\n trackPageLeaveAnalytics: on('deactivate', function(){\n trackPageLeaveAnalytics();\n })\n});\n```",
|
|
9800
9154
|
"itemtype": "event",
|
|
9801
9155
|
"name": "deactivate",
|
|
@@ -9807,7 +9161,7 @@
|
|
|
9807
9161
|
},
|
|
9808
9162
|
{
|
|
9809
9163
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9810
|
-
"line":
|
|
9164
|
+
"line": 768,
|
|
9811
9165
|
"description": "This hook is executed when the router completely exits this route. It is\nnot executed when the model for the route changes.",
|
|
9812
9166
|
"itemtype": "method",
|
|
9813
9167
|
"name": "deactivate",
|
|
@@ -9826,7 +9180,7 @@
|
|
|
9826
9180
|
},
|
|
9827
9181
|
{
|
|
9828
9182
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9829
|
-
"line":
|
|
9183
|
+
"line": 779,
|
|
9830
9184
|
"description": "This hook is executed when the router enters the route. It is not executed\nwhen the model for the route changes.",
|
|
9831
9185
|
"itemtype": "method",
|
|
9832
9186
|
"name": "activate",
|
|
@@ -9845,7 +9199,7 @@
|
|
|
9845
9199
|
},
|
|
9846
9200
|
{
|
|
9847
9201
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9848
|
-
"line":
|
|
9202
|
+
"line": 790,
|
|
9849
9203
|
"description": "Transition the application into another route. The route may\nbe either a single route or route path:\n\n```javascript\nthis.transitionTo('blogPosts');\nthis.transitionTo('blogPosts.recentEntries');\n```\n\nOptionally supply a model for the route in question. The model\nwill be serialized into the URL using the `serialize` hook of\nthe route:\n\n```javascript\nthis.transitionTo('blogPost', aPost);\n```\n\nIf a literal is passed (such as a number or a string), it will\nbe treated as an identifier instead. In this case, the `model`\nhook of the route will be triggered:\n\n```javascript\nthis.transitionTo('blogPost', 1);\n```\n\nMultiple models will be applied last to first recursively up the\nroute tree.\n\n```app/routes.js\n// ...\n\nRouter.map(function() {\n this.route('blogPost', { path:':blogPostId' }, function() {\n this.route('blogComment', { path: ':blogCommentId' });\n });\n});\n\nexport default Router;\n```\n\n```javascript\nthis.transitionTo('blogComment', aPost, aComment);\nthis.transitionTo('blogComment', 1, 13);\n```\n\nIt is also possible to pass a URL (a string that starts with a\n`/`).\n\n```javascript\nthis.transitionTo('/');\nthis.transitionTo('/blog/post/1/comment/13');\nthis.transitionTo('/blog/posts?sort=title');\n```\n\nAn options hash with a `queryParams` property may be provided as\nthe final argument to add query parameters to the destination URL.\n\n```javascript\nthis.transitionTo('blogPost', 1, {\n queryParams: { showComments: 'true' }\n});\n\n// if you just want to transition the query parameters without changing the route\nthis.transitionTo({ queryParams: { sort: 'date' } });\n```\n\nSee also [replaceWith](#method_replaceWith).\n\nSimple Transition Example\n\n```app/routes.js\n// ...\n\nRouter.map(function() {\n this.route('index');\n this.route('secret');\n this.route('fourOhFour', { path: '*:' });\n});\n\nexport default Router;\n```\n\n```app/routes/index.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class IndexRoute extends Route {\n @action\n moveToSecret(context) {\n if (authorized()) {\n this.transitionTo('secret', context);\n } else {\n this.transitionTo('fourOhFour');\n }\n }\n}\n```\n\nTransition to a nested route\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('articles', { path: '/articles' }, function() {\n this.route('new');\n });\n});\n\nexport default Router;\n```\n\n```app/routes/index.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class IndexRoute extends Route {\n @action\n transitionToNewArticle() {\n this.transitionTo('articles.new');\n }\n}\n```\n\nMultiple Models Example\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('index');\n\n this.route('breakfast', { path: ':breakfastId' }, function() {\n this.route('cereal', { path: ':cerealId' });\n });\n});\n\nexport default Router;\n```\n\n```app/routes/index.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class IndexRoute extends Route {\n @action\n moveToChocolateCereal() {\n let cereal = { cerealId: 'ChocolateYumminess' };\n let breakfast = { breakfastId: 'CerealAndMilk' };\n\n this.transitionTo('breakfast.cereal', breakfast, cereal);\n }\n}\n```\n\nNested Route with Query String Example\n\n```app/routes.js\n// ...\n\nRouter.map(function() {\n this.route('fruits', function() {\n this.route('apples');\n });\n});\n\nexport default Router;\n```\n\n```app/routes/index.js\nimport Route from '@ember/routing/route';\n\nexport default class IndexRoute extends Route {\n @action\n transitionToApples() {\n this.transitionTo('fruits.apples', { queryParams: { color: 'red' } });\n }\n}\n```",
|
|
9850
9204
|
"itemtype": "method",
|
|
9851
9205
|
"name": "transitionTo",
|
|
@@ -9883,7 +9237,7 @@
|
|
|
9883
9237
|
},
|
|
9884
9238
|
{
|
|
9885
9239
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9886
|
-
"line":
|
|
9240
|
+
"line": 988,
|
|
9887
9241
|
"description": "Perform a synchronous transition into another route without attempting\nto resolve promises, update the URL, or abort any currently active\nasynchronous transitions (i.e. regular transitions caused by\n`transitionTo` or URL changes).\n\nThis method is handy for performing intermediate transitions on the\nway to a final destination route, and is called internally by the\ndefault implementations of the `error` and `loading` handlers.",
|
|
9888
9242
|
"itemtype": "method",
|
|
9889
9243
|
"name": "intermediateTransitionTo",
|
|
@@ -9907,7 +9261,7 @@
|
|
|
9907
9261
|
},
|
|
9908
9262
|
{
|
|
9909
9263
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9910
|
-
"line":
|
|
9264
|
+
"line": 1010,
|
|
9911
9265
|
"description": "Refresh the model on this route and any child routes, firing the\n`beforeModel`, `model`, and `afterModel` hooks in a similar fashion\nto how routes are entered when transitioning in from other route.\nThe current route params (e.g. `article_id`) will be passed in\nto the respective model hooks, and if a different model is returned,\n`setupController` and associated route hooks will re-fire as well.\n\nAn example usage of this method is re-querying the server for the\nlatest information using the same parameters as when the route\nwas first entered.\n\nNote that this will cause `model` hooks to fire even on routes\nthat were provided a model object when the route was initially\nentered.",
|
|
9912
9266
|
"itemtype": "method",
|
|
9913
9267
|
"name": "refresh",
|
|
@@ -9923,7 +9277,7 @@
|
|
|
9923
9277
|
},
|
|
9924
9278
|
{
|
|
9925
9279
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9926
|
-
"line":
|
|
9280
|
+
"line": 1036,
|
|
9927
9281
|
"description": "Transition into another route while replacing the current URL, if possible.\nThis will replace the current history entry instead of adding a new one.\nBeside that, it is identical to `transitionTo` in all other respects. See\n'transitionTo' for additional information regarding multiple models.\n\nExample\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('index');\n this.route('secret');\n});\n\nexport default Router;\n```\n\n```app/routes/secret.js\nimport Route from '@ember/routing/route';\n\nexport default class SecretRoute Route {\n afterModel() {\n if (!authorized()){\n this.replaceWith('index');\n }\n }\n}\n```",
|
|
9928
9282
|
"itemtype": "method",
|
|
9929
9283
|
"name": "replaceWith",
|
|
@@ -9957,7 +9311,7 @@
|
|
|
9957
9311
|
},
|
|
9958
9312
|
{
|
|
9959
9313
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9960
|
-
"line":
|
|
9314
|
+
"line": 1083,
|
|
9961
9315
|
"description": "This hook is the entry point for router.js",
|
|
9962
9316
|
"access": "private",
|
|
9963
9317
|
"tagname": "",
|
|
@@ -9968,7 +9322,7 @@
|
|
|
9968
9322
|
},
|
|
9969
9323
|
{
|
|
9970
9324
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9971
|
-
"line":
|
|
9325
|
+
"line": 1163,
|
|
9972
9326
|
"description": "This hook is the first of the route entry validation hooks\ncalled when an attempt is made to transition into a route\nor one of its children. It is called before `model` and\n`afterModel`, and is appropriate for cases when:\n\n1) A decision can be made to redirect elsewhere without\n needing to resolve the model first.\n2) Any async operations need to occur first before the\n model is attempted to be resolved.\n\nThis hook is provided the current `transition` attempt\nas a parameter, which can be used to `.abort()` the transition,\nsave it for a later `.retry()`, or retrieve values set\non it from a previous hook. You can also just call\n`this.transitionTo` to another route to implicitly\nabort the `transition`.\n\nYou can return a promise from this hook to pause the\ntransition until the promise resolves (or rejects). This could\nbe useful, for instance, for retrieving async code from\nthe server that is required to enter a route.",
|
|
9973
9327
|
"itemtype": "method",
|
|
9974
9328
|
"name": "beforeModel",
|
|
@@ -9991,7 +9345,7 @@
|
|
|
9991
9345
|
},
|
|
9992
9346
|
{
|
|
9993
9347
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
9994
|
-
"line":
|
|
9348
|
+
"line": 1197,
|
|
9995
9349
|
"description": "This hook is called after this route's model has resolved.\nIt follows identical async/promise semantics to `beforeModel`\nbut is provided the route's resolved model in addition to\nthe `transition`, and is therefore suited to performing\nlogic that can only take place after the model has already\nresolved.\n\n```app/routes/posts.js\nimport Route from '@ember/routing/route';\n\nexport default class PostsRoute extends Route {\n afterModel(posts, transition) {\n if (posts.get('length') === 1) {\n this.transitionTo('post.show', posts.get('firstObject'));\n }\n }\n}\n```\n\nRefer to documentation for `beforeModel` for a description\nof transition-pausing semantics when a promise is returned\nfrom this hook.",
|
|
9996
9350
|
"itemtype": "method",
|
|
9997
9351
|
"name": "afterModel",
|
|
@@ -10019,7 +9373,7 @@
|
|
|
10019
9373
|
},
|
|
10020
9374
|
{
|
|
10021
9375
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10022
|
-
"line":
|
|
9376
|
+
"line": 1234,
|
|
10023
9377
|
"description": "A hook you can implement to optionally redirect to another route.\n\nCalling `this.transitionTo` from inside of the `redirect` hook will\nabort the current transition (into the route that has implemented `redirect`).\n\n`redirect` and `afterModel` behave very similarly and are\ncalled almost at the same time, but they have an important\ndistinction when calling `this.transitionTo` to a child route\nof the current route. From `afterModel`, this new transition\ninvalidates the current transition, causing `beforeModel`,\n`model`, and `afterModel` hooks to be called again. But the\nsame transition started from `redirect` does _not_ invalidate\nthe current transition. In other words, by the time the `redirect`\nhook has been called, both the resolved model and the attempted\nentry into this route are considered fully validated.",
|
|
10024
9378
|
"itemtype": "method",
|
|
10025
9379
|
"name": "redirect",
|
|
@@ -10043,7 +9397,7 @@
|
|
|
10043
9397
|
},
|
|
10044
9398
|
{
|
|
10045
9399
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10046
|
-
"line":
|
|
9400
|
+
"line": 1259,
|
|
10047
9401
|
"description": "Called when the context is changed by router.js.",
|
|
10048
9402
|
"access": "private",
|
|
10049
9403
|
"tagname": "",
|
|
@@ -10054,7 +9408,7 @@
|
|
|
10054
9408
|
},
|
|
10055
9409
|
{
|
|
10056
9410
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10057
|
-
"line":
|
|
9411
|
+
"line": 1269,
|
|
10058
9412
|
"description": "A hook you can implement to convert the URL into the model for\nthis route.\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('post', { path: '/posts/:post_id' });\n});\n\nexport default Router;\n```\n\nThe model for the `post` route is `store.findRecord('post', params.post_id)`.\n\nBy default, if your route has a dynamic segment ending in `_id`:\n\n* The model class is determined from the segment (`post_id`'s\n class is `App.Post`)\n* The find method is called on the model class with the value of\n the dynamic segment.\n\nNote that for routes with dynamic segments, this hook is not always\nexecuted. If the route is entered through a transition (e.g. when\nusing the `link-to` Handlebars helper or the `transitionTo` method\nof routes), and a model context is already provided this hook\nis not called.\n\nA model context does not include a primitive string or number,\nwhich does cause the model hook to be called.\n\nRoutes without dynamic segments will always execute the model hook.\n\n```javascript\n// no dynamic segment, model hook always called\nthis.transitionTo('posts');\n\n// model passed in, so model hook not called\nthePost = store.findRecord('post', 1);\nthis.transitionTo('post', thePost);\n\n// integer passed in, model hook is called\nthis.transitionTo('post', 1);\n\n// model id passed in, model hook is called\n// useful for forcing the hook to execute\nthePost = store.findRecord('post', 1);\nthis.transitionTo('post', thePost.id);\n```\n\nThis hook follows the asynchronous/promise semantics\ndescribed in the documentation for `beforeModel`. In particular,\nif a promise returned from `model` fails, the error will be\nhandled by the `error` hook on `Route`.\n\nExample\n\n```app/routes/post.js\nimport Route from '@ember/routing/route';\n\nexport default class PostRoute extends Route {\n model(params) {\n return this.store.findRecord('post', params.post_id);\n }\n}\n```",
|
|
10059
9413
|
"itemtype": "method",
|
|
10060
9414
|
"name": "model",
|
|
@@ -10082,7 +9436,7 @@
|
|
|
10082
9436
|
},
|
|
10083
9437
|
{
|
|
10084
9438
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10085
|
-
"line":
|
|
9439
|
+
"line": 1378,
|
|
10086
9440
|
"access": "private",
|
|
10087
9441
|
"tagname": "",
|
|
10088
9442
|
"itemtype": "method",
|
|
@@ -10108,7 +9462,7 @@
|
|
|
10108
9462
|
},
|
|
10109
9463
|
{
|
|
10110
9464
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10111
|
-
"line":
|
|
9465
|
+
"line": 1391,
|
|
10112
9466
|
"itemtype": "method",
|
|
10113
9467
|
"name": "findModel",
|
|
10114
9468
|
"params": [
|
|
@@ -10130,7 +9484,7 @@
|
|
|
10130
9484
|
},
|
|
10131
9485
|
{
|
|
10132
9486
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10133
|
-
"line":
|
|
9487
|
+
"line": 1402,
|
|
10134
9488
|
"description": "A hook you can use to setup the controller for the current route.\n\nThis method is called with the controller for the current route and the\nmodel supplied by the `model` hook.\n\nBy default, the `setupController` hook sets the `model` property of\nthe controller to the specified `model` when it is not `undefined`.\n\nIf you implement the `setupController` hook in your Route, it will\nprevent this default behavior. If you want to preserve that behavior\nwhen implementing your `setupController` function, make sure to call\n`super`:\n\n```app/routes/photos.js\nimport Route from '@ember/routing/route';\n\nexport default class PhotosRoute extends Route {\n model() {\n return this.store.findAll('photo');\n }\n\n setupController(controller, model) {\n super.setupController(controller, model);\n\n this.controllerFor('application').set('showingPhotos', true);\n }\n}\n```\n\nThe provided controller will be one resolved based on the name\nof this route.\n\nIf no explicit controller is defined, Ember will automatically create one.\n\nAs an example, consider the router:\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('post', { path: '/posts/:post_id' });\n});\n\nexport default Router;\n```\n\nIf you have defined a file for the post controller,\nthe framework will use it.\nIf it is not defined, a basic `Controller` instance would be used.",
|
|
10135
9489
|
"example": [
|
|
10136
9490
|
" Behavior of a basic Controller\n\n```app/routes/post.js\nimport Route from '@ember/routing/route';\n\nexport default class PostRoute extends Route {\n setupController(controller, model) {\n controller.set('model', model);\n }\n});\n```"
|
|
@@ -10163,7 +9517,7 @@
|
|
|
10163
9517
|
},
|
|
10164
9518
|
{
|
|
10165
9519
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10166
|
-
"line":
|
|
9520
|
+
"line": 1479,
|
|
10167
9521
|
"description": "Returns the controller of the current route, or a parent (or any ancestor)\nroute in a route hierarchy.\n\nThe controller instance must already have been created, either through entering the\nassociated route or using `generateController`.\n\n```app/routes/post.js\nimport Route from '@ember/routing/route';\n\nexport default class PostRoute extends Route {\n setupController(controller, post) {\n super.setupController(controller, post);\n\n this.controllerFor('posts').set('currentPost', post);\n }\n}\n```",
|
|
10168
9522
|
"itemtype": "method",
|
|
10169
9523
|
"name": "controllerFor",
|
|
@@ -10186,7 +9540,7 @@
|
|
|
10186
9540
|
},
|
|
10187
9541
|
{
|
|
10188
9542
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10189
|
-
"line":
|
|
9543
|
+
"line": 1525,
|
|
10190
9544
|
"description": "Generates a controller for a route.\n\nExample\n\n```app/routes/post.js\nimport Route from '@ember/routing/route';\n\nexport default class Post extends Route {\n setupController(controller, post) {\n super.setupController(controller, post);\n\n this.generateController('posts');\n }\n}\n```",
|
|
10191
9545
|
"itemtype": "method",
|
|
10192
9546
|
"name": "generateController",
|
|
@@ -10204,7 +9558,7 @@
|
|
|
10204
9558
|
},
|
|
10205
9559
|
{
|
|
10206
9560
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10207
|
-
"line":
|
|
9561
|
+
"line": 1552,
|
|
10208
9562
|
"description": "Returns the resolved model of a parent (or any ancestor) route\nin a route hierarchy. During a transition, all routes\nmust resolve a model object, and if a route\nneeds access to a parent route's model in order to\nresolve a model (or just reuse the model from a parent),\nit can call `this.modelFor(theNameOfParentRoute)` to\nretrieve it. If the ancestor route's model was a promise,\nits resolved result is returned.\n\nExample\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('post', { path: '/posts/:post_id' }, function() {\n this.route('comments');\n });\n});\n\nexport default Router;\n```\n\n```app/routes/post/comments.js\nimport Route from '@ember/routing/route';\n\nexport default class PostCommentsRoute extends Route {\n model() {\n let post = this.modelFor('post');\n\n return post.comments;\n }\n}\n```",
|
|
10209
9563
|
"itemtype": "method",
|
|
10210
9564
|
"name": "modelFor",
|
|
@@ -10227,7 +9581,7 @@
|
|
|
10227
9581
|
},
|
|
10228
9582
|
{
|
|
10229
9583
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10230
|
-
"line":
|
|
9584
|
+
"line": 1623,
|
|
10231
9585
|
"description": "`this[RENDER]` is used to render a template into a region of another template\n(indicated by an `{{outlet}}`).",
|
|
10232
9586
|
"itemtype": "method",
|
|
10233
9587
|
"name": "this[RENDER]",
|
|
@@ -10277,7 +9631,7 @@
|
|
|
10277
9631
|
},
|
|
10278
9632
|
{
|
|
10279
9633
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10280
|
-
"line":
|
|
9634
|
+
"line": 1650,
|
|
10281
9635
|
"access": "private",
|
|
10282
9636
|
"tagname": "",
|
|
10283
9637
|
"itemtype": "method",
|
|
@@ -10287,7 +9641,7 @@
|
|
|
10287
9641
|
},
|
|
10288
9642
|
{
|
|
10289
9643
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10290
|
-
"line":
|
|
9644
|
+
"line": 1663,
|
|
10291
9645
|
"description": "Allows you to produce custom metadata for the route.\nThe return value of this method will be attached to\nits corresponding RouteInfoWithAttributes object.\n\nExample\n\n```app/routes/posts/index.js\nimport Route from '@ember/routing/route';\n\nexport default class PostsIndexRoute extends Route {\n buildRouteInfoMetadata() {\n return { title: 'Posts Page' }\n }\n}\n```\n\n```app/routes/application.js\nimport Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class ApplicationRoute extends Route {\n @service router\n\n constructor() {\n super(...arguments);\n\n this.router.on('routeDidChange', transition => {\n document.title = transition.to.metadata.title;\n // would update document's title to \"Posts Page\"\n });\n }\n}\n```",
|
|
10292
9646
|
"itemtype": "method",
|
|
10293
9647
|
"name": "buildRouteInfoMetadata",
|
|
@@ -10302,7 +9656,7 @@
|
|
|
10302
9656
|
},
|
|
10303
9657
|
{
|
|
10304
9658
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10305
|
-
"line":
|
|
9659
|
+
"line": 1713,
|
|
10306
9660
|
"description": "Store property provides a hook for data persistence libraries to inject themselves.\n\nBy default, this store property provides the exact same functionality previously\nin the model hook.\n\nCurrently, the required interface is:\n\n`store.find(modelName, findArguments)`",
|
|
10307
9661
|
"itemtype": "property",
|
|
10308
9662
|
"name": "store",
|
|
@@ -10314,7 +9668,7 @@
|
|
|
10314
9668
|
},
|
|
10315
9669
|
{
|
|
10316
9670
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10317
|
-
"line":
|
|
9671
|
+
"line": 1761,
|
|
10318
9672
|
"access": "private",
|
|
10319
9673
|
"tagname": "",
|
|
10320
9674
|
"itemtype": "property",
|
|
@@ -10324,7 +9678,7 @@
|
|
|
10324
9678
|
},
|
|
10325
9679
|
{
|
|
10326
9680
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10327
|
-
"line":
|
|
9681
|
+
"line": 1891,
|
|
10328
9682
|
"description": "Sends an action to the router, which will delegate it to the currently\nactive route hierarchy per the bubbling rules explained under `actions`.\n\nExample\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('index');\n});\n\nexport default Router;\n```\n\n```app/routes/application.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class ApplicationRoute extends Route {\n @action\n track(arg) {\n console.log(arg, 'was clicked');\n }\n}\n```\n\n```app/routes/index.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class IndexRoute extends Route {\n @action\n trackIfDebug(arg) {\n if (debug) {\n this.send('track', arg);\n }\n }\n}\n```",
|
|
10329
9683
|
"itemtype": "method",
|
|
10330
9684
|
"name": "send",
|
|
@@ -10348,7 +9702,7 @@
|
|
|
10348
9702
|
},
|
|
10349
9703
|
{
|
|
10350
9704
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10351
|
-
"line":
|
|
9705
|
+
"line": 2218,
|
|
10352
9706
|
"description": "A hook you can implement to convert the route's model into parameters\nfor the URL.\n\n```app/router.js\n// ...\n\nRouter.map(function() {\n this.route('post', { path: '/posts/:post_id' });\n});\n\n```\n\n```app/routes/post.js\nimport Route from '@ember/routing/route';\n\nexport default class PostRoute extends Route {\n model({ post_id }) {\n // the server returns `{ id: 12 }`\n return fetch(`/posts/${post_id}`;\n }\n\n serialize(model) {\n // this will make the URL `/posts/12`\n return { post_id: model.id };\n }\n}\n```\n\nThe default `serialize` method will insert the model's `id` into the\nroute's dynamic segment (in this case, `:post_id`) if the segment contains '_id'.\nIf the route has multiple dynamic segments or does not contain '_id', `serialize`\nwill return `getProperties(model, params)`\n\nThis method is called when `transitionTo` is called with a context\nin order to populate the URL.",
|
|
10353
9707
|
"itemtype": "method",
|
|
10354
9708
|
"name": "serialize",
|
|
@@ -10376,7 +9730,7 @@
|
|
|
10376
9730
|
},
|
|
10377
9731
|
{
|
|
10378
9732
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10379
|
-
"line":
|
|
9733
|
+
"line": 2288,
|
|
10380
9734
|
"description": "The controller associated with this route.\n\nExample\n\n```app/routes/form.js\nimport Route from '@ember/routing/route';\nimport { action } from '@ember/object';\n\nexport default class FormRoute extends Route {\n @action\n willTransition(transition) {\n if (this.controller.get('userHasEnteredData') &&\n !confirm('Are you sure you want to abandon progress?')) {\n transition.abort();\n } else {\n // Bubble the `willTransition` action so that\n // parent routes can decide whether or not to abort.\n return true;\n }\n }\n}\n```",
|
|
10381
9735
|
"itemtype": "property",
|
|
10382
9736
|
"name": "controller",
|
|
@@ -10389,7 +9743,7 @@
|
|
|
10389
9743
|
},
|
|
10390
9744
|
{
|
|
10391
9745
|
"file": "packages/@ember/-internals/routing/lib/system/route.ts",
|
|
10392
|
-
"line":
|
|
9746
|
+
"line": 2319,
|
|
10393
9747
|
"description": "This action is called when one or more query params have changed. Bubbles.",
|
|
10394
9748
|
"itemtype": "method",
|
|
10395
9749
|
"name": "queryParamsDidChange",
|
|
@@ -10421,7 +9775,7 @@
|
|
|
10421
9775
|
},
|
|
10422
9776
|
{
|
|
10423
9777
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10424
|
-
"line":
|
|
9778
|
+
"line": 136,
|
|
10425
9779
|
"description": "Represents the URL of the root of the application, often '/'. This prefix is\n assumed on all routes defined on this router.",
|
|
10426
9780
|
"itemtype": "property",
|
|
10427
9781
|
"name": "rootURL",
|
|
@@ -10433,7 +9787,7 @@
|
|
|
10433
9787
|
},
|
|
10434
9788
|
{
|
|
10435
9789
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10436
|
-
"line":
|
|
9790
|
+
"line": 147,
|
|
10437
9791
|
"description": "The `location` property determines the type of URL's that your\n application will use.\n\n The following location types are currently available:\n\n * `history` - use the browser's history API to make the URLs look just like any standard URL\n * `hash` - use `#` to separate the server part of the URL from the Ember part: `/blog/#/posts/new`\n * `none` - do not store the Ember URL in the actual browser URL (mainly used for testing)\n * `auto` - use the best option based on browser capabilities: `history` if possible, then `hash` if possible, otherwise `none`\n\n This value is defaulted to `auto` by the `locationType` setting of `/config/environment.js`",
|
|
10438
9792
|
"itemtype": "property",
|
|
10439
9793
|
"name": "location",
|
|
@@ -10448,7 +9802,7 @@
|
|
|
10448
9802
|
},
|
|
10449
9803
|
{
|
|
10450
9804
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10451
|
-
"line":
|
|
9805
|
+
"line": 203,
|
|
10452
9806
|
"description": "The `Router.map` function allows you to define mappings from URLs to routes\nin your application. These mappings are defined within the\nsupplied callback function using `this.route`.\n\nThe first parameter is the name of the route which is used by default as the\npath name as well.\n\nThe second parameter is the optional options hash. Available options are:\n\n * `path`: allows you to provide your own path as well as mark dynamic\n segments.\n * `resetNamespace`: false by default; when nesting routes, ember will\n combine the route names to form the fully-qualified route name, which is\n used with `{{link-to}}` or manually transitioning to routes. Setting\n `resetNamespace: true` will cause the route not to inherit from its\n parent route's names. This is handy for preventing extremely long route names.\n Keep in mind that the actual URL path behavior is still retained.\n\nThe third parameter is a function, which can be used to nest routes.\nNested routes, by default, will have the parent route tree's route name and\npath prepended to it's own.\n\n```app/router.js\nRouter.map(function(){\n this.route('post', { path: '/post/:post_id' }, function() {\n this.route('edit');\n this.route('comments', { resetNamespace: true }, function() {\n this.route('new');\n });\n });\n});\n```",
|
|
10453
9807
|
"itemtype": "method",
|
|
10454
9808
|
"name": "map",
|
|
@@ -10465,7 +9819,7 @@
|
|
|
10465
9819
|
},
|
|
10466
9820
|
{
|
|
10467
9821
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10468
|
-
"line":
|
|
9822
|
+
"line": 525,
|
|
10469
9823
|
"description": "Initializes the current router instance and sets up the change handling\nevent listeners used by the instances `location` implementation.\n\nA property named `initialURL` will be used to determine the initial URL.\nIf no value is found `/` will be used.",
|
|
10470
9824
|
"itemtype": "method",
|
|
10471
9825
|
"name": "startRouting",
|
|
@@ -10476,7 +9830,7 @@
|
|
|
10476
9830
|
},
|
|
10477
9831
|
{
|
|
10478
9832
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10479
|
-
"line":
|
|
9833
|
+
"line": 647,
|
|
10480
9834
|
"description": "Transition the application into another route. The route may\nbe either a single route or route path:\n\nSee [transitionTo](/ember/release/classes/Route/methods/transitionTo?anchor=transitionTo) for more info.",
|
|
10481
9835
|
"itemtype": "method",
|
|
10482
9836
|
"name": "transitionTo",
|
|
@@ -10509,7 +9863,7 @@
|
|
|
10509
9863
|
},
|
|
10510
9864
|
{
|
|
10511
9865
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10512
|
-
"line":
|
|
9866
|
+
"line": 704,
|
|
10513
9867
|
"description": "Determines if the supplied route is currently active.",
|
|
10514
9868
|
"itemtype": "method",
|
|
10515
9869
|
"name": "isActive",
|
|
@@ -10530,7 +9884,7 @@
|
|
|
10530
9884
|
},
|
|
10531
9885
|
{
|
|
10532
9886
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10533
|
-
"line":
|
|
9887
|
+
"line": 716,
|
|
10534
9888
|
"description": "An alternative form of `isActive` that doesn't require\nmanual concatenation of the arguments into a single\narray.",
|
|
10535
9889
|
"itemtype": "method",
|
|
10536
9890
|
"name": "isActiveIntent",
|
|
@@ -10560,7 +9914,7 @@
|
|
|
10560
9914
|
},
|
|
10561
9915
|
{
|
|
10562
9916
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10563
|
-
"line":
|
|
9917
|
+
"line": 738,
|
|
10564
9918
|
"description": "Does this router instance have the given route.",
|
|
10565
9919
|
"itemtype": "method",
|
|
10566
9920
|
"name": "hasRoute",
|
|
@@ -10575,7 +9929,7 @@
|
|
|
10575
9929
|
},
|
|
10576
9930
|
{
|
|
10577
9931
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10578
|
-
"line":
|
|
9932
|
+
"line": 749,
|
|
10579
9933
|
"description": "Resets the state of the router by clearing the current route\nhandlers and deactivating them.",
|
|
10580
9934
|
"access": "private",
|
|
10581
9935
|
"tagname": "",
|
|
@@ -10586,7 +9940,7 @@
|
|
|
10586
9940
|
},
|
|
10587
9941
|
{
|
|
10588
9942
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10589
|
-
"line":
|
|
9943
|
+
"line": 857,
|
|
10590
9944
|
"description": "Serializes the given query params according to their QP meta information.",
|
|
10591
9945
|
"access": "private",
|
|
10592
9946
|
"tagname": "",
|
|
@@ -10613,7 +9967,7 @@
|
|
|
10613
9967
|
},
|
|
10614
9968
|
{
|
|
10615
9969
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10616
|
-
"line":
|
|
9970
|
+
"line": 884,
|
|
10617
9971
|
"description": "Serializes the value of a query parameter based on a type",
|
|
10618
9972
|
"access": "private",
|
|
10619
9973
|
"tagname": "",
|
|
@@ -10636,7 +9990,7 @@
|
|
|
10636
9990
|
},
|
|
10637
9991
|
{
|
|
10638
9992
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10639
|
-
"line":
|
|
9993
|
+
"line": 902,
|
|
10640
9994
|
"description": "Deserializes the given query params according to their QP meta information.",
|
|
10641
9995
|
"access": "private",
|
|
10642
9996
|
"tagname": "",
|
|
@@ -10663,7 +10017,7 @@
|
|
|
10663
10017
|
},
|
|
10664
10018
|
{
|
|
10665
10019
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10666
|
-
"line":
|
|
10020
|
+
"line": 927,
|
|
10667
10021
|
"description": "Deserializes the value of a query parameter based on a default type",
|
|
10668
10022
|
"access": "private",
|
|
10669
10023
|
"tagname": "",
|
|
@@ -10686,7 +10040,7 @@
|
|
|
10686
10040
|
},
|
|
10687
10041
|
{
|
|
10688
10042
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10689
|
-
"line":
|
|
10043
|
+
"line": 948,
|
|
10690
10044
|
"description": "Removes (prunes) any query params with default values from the given QP\nobject. Default values are determined from the QP meta information per key.",
|
|
10691
10045
|
"access": "private",
|
|
10692
10046
|
"tagname": "",
|
|
@@ -10713,7 +10067,7 @@
|
|
|
10713
10067
|
},
|
|
10714
10068
|
{
|
|
10715
10069
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10716
|
-
"line":
|
|
10070
|
+
"line": 1030,
|
|
10717
10071
|
"description": "Prepares the query params for a URL or Transition. Restores any undefined QP\nkeys/values, serializes all values, and then prunes any default values.",
|
|
10718
10072
|
"access": "private",
|
|
10719
10073
|
"tagname": "",
|
|
@@ -10750,7 +10104,7 @@
|
|
|
10750
10104
|
},
|
|
10751
10105
|
{
|
|
10752
10106
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10753
|
-
"line":
|
|
10107
|
+
"line": 1057,
|
|
10754
10108
|
"description": "Returns the meta information for the query params of a given route. This\nwill be overridden to allow support for lazy routes.",
|
|
10755
10109
|
"access": "private",
|
|
10756
10110
|
"tagname": "",
|
|
@@ -10772,7 +10126,7 @@
|
|
|
10772
10126
|
},
|
|
10773
10127
|
{
|
|
10774
10128
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10775
|
-
"line":
|
|
10129
|
+
"line": 1071,
|
|
10776
10130
|
"description": "Returns a merged query params meta object for a given set of routeInfos.\nUseful for knowing what query params are available for a given route hierarchy.",
|
|
10777
10131
|
"access": "private",
|
|
10778
10132
|
"tagname": "",
|
|
@@ -10794,7 +10148,7 @@
|
|
|
10794
10148
|
},
|
|
10795
10149
|
{
|
|
10796
10150
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10797
|
-
"line":
|
|
10151
|
+
"line": 1136,
|
|
10798
10152
|
"description": "Maps all query param keys to their fully scoped property name of the form\n`controllerName:propName`.",
|
|
10799
10153
|
"access": "private",
|
|
10800
10154
|
"tagname": "",
|
|
@@ -10826,7 +10180,7 @@
|
|
|
10826
10180
|
},
|
|
10827
10181
|
{
|
|
10828
10182
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10829
|
-
"line":
|
|
10183
|
+
"line": 1178,
|
|
10830
10184
|
"description": "Hydrates (adds/restores) any query params that have pre-existing values into\nthe given queryParams hash. This is what allows query params to be \"sticky\"\nand restore their last known values for their scope.",
|
|
10831
10185
|
"access": "private",
|
|
10832
10186
|
"tagname": "",
|
|
@@ -10853,11 +10207,11 @@
|
|
|
10853
10207
|
},
|
|
10854
10208
|
{
|
|
10855
10209
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10856
|
-
"line":
|
|
10210
|
+
"line": 1341,
|
|
10857
10211
|
"description": "Handles updating the paths and notifying any listeners of the URL\nchange.\n\nTriggers the router level `didTransition` hook.\n\nFor example, to notify google analytics when the route changes,\nyou could use this hook. (Note: requires also including GA scripts, etc.)\n\n```javascript\nimport config from './config/environment';\nimport EmberRouter from '@ember/routing/router';\nimport { inject as service } from '@ember/service';\n\nlet Router = EmberRouter.extend({\n location: config.locationType,\n\n router: service(),\n\n didTransition: function() {\n this._super(...arguments);\n\n ga('send', 'pageview', {\n page: this.router.currentURL,\n title: this.router.currentRouteName,\n });\n }\n});\n```",
|
|
10858
10212
|
"itemtype": "method",
|
|
10859
10213
|
"name": "didTransition",
|
|
10860
|
-
"access": "
|
|
10214
|
+
"access": "private",
|
|
10861
10215
|
"tagname": "",
|
|
10862
10216
|
"since": "1.2.0",
|
|
10863
10217
|
"class": "EmberRouter",
|
|
@@ -10865,11 +10219,11 @@
|
|
|
10865
10219
|
},
|
|
10866
10220
|
{
|
|
10867
10221
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10868
|
-
"line":
|
|
10222
|
+
"line": 1378,
|
|
10869
10223
|
"description": "Handles notifying any listeners of an impending URL\nchange.\n\nTriggers the router level `willTransition` hook.",
|
|
10870
10224
|
"itemtype": "method",
|
|
10871
10225
|
"name": "willTransition",
|
|
10872
|
-
"access": "
|
|
10226
|
+
"access": "private",
|
|
10873
10227
|
"tagname": "",
|
|
10874
10228
|
"since": "1.11.0",
|
|
10875
10229
|
"class": "EmberRouter",
|
|
@@ -10877,7 +10231,7 @@
|
|
|
10877
10231
|
},
|
|
10878
10232
|
{
|
|
10879
10233
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10880
|
-
"line":
|
|
10234
|
+
"line": 1391,
|
|
10881
10235
|
"description": "Represents the current URL.",
|
|
10882
10236
|
"itemtype": "property",
|
|
10883
10237
|
"name": "url",
|
|
@@ -10889,7 +10243,7 @@
|
|
|
10889
10243
|
},
|
|
10890
10244
|
{
|
|
10891
10245
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10892
|
-
"line":
|
|
10246
|
+
"line": 1547,
|
|
10893
10247
|
"description": "Finds the name of the substate route if it exists for the given route. A\nsubstate route is of the form `route_state`, such as `foo_loading`.",
|
|
10894
10248
|
"access": "private",
|
|
10895
10249
|
"tagname": "",
|
|
@@ -10914,7 +10268,7 @@
|
|
|
10914
10268
|
},
|
|
10915
10269
|
{
|
|
10916
10270
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10917
|
-
"line":
|
|
10271
|
+
"line": 1566,
|
|
10918
10272
|
"description": "Finds the name of the state route if it exists for the given route. A state\nroute is of the form `route.state`, such as `foo.loading`. Properly Handles\n`application` named routes.",
|
|
10919
10273
|
"access": "private",
|
|
10920
10274
|
"tagname": "",
|
|
@@ -10939,7 +10293,7 @@
|
|
|
10939
10293
|
},
|
|
10940
10294
|
{
|
|
10941
10295
|
"file": "packages/@ember/-internals/routing/lib/system/router.ts",
|
|
10942
|
-
"line":
|
|
10296
|
+
"line": 1586,
|
|
10943
10297
|
"description": "Determines whether or not a route has been defined by checking that the route\nis in the Router's map and the owner has a registration for that route.",
|
|
10944
10298
|
"access": "private",
|
|
10945
10299
|
"tagname": "",
|
|
@@ -11286,7 +10640,7 @@
|
|
|
11286
10640
|
},
|
|
11287
10641
|
{
|
|
11288
10642
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11289
|
-
"line":
|
|
10643
|
+
"line": 105,
|
|
11290
10644
|
"description": "Returns true if the passed object is an array or Array-like.\n\nObjects are considered Array-like if any of the following are true:\n\n - the object is a native Array\n - the object has an objectAt property\n - the object is an Object, and has a length property\n\nUnlike `typeOf` this method returns true even if the passed object is\nnot formally an array but appears to be array-like (i.e. implements `Array`)\n\n```javascript\nimport { isArray } from '@ember/array';\nimport ArrayProxy from '@ember/array/proxy';\n\nisArray(); // false\nisArray([]); // true\nisArray(ArrayProxy.create({ content: [] })); // true\n```",
|
|
11291
10645
|
"itemtype": "method",
|
|
11292
10646
|
"name": "isArray",
|
|
@@ -11309,7 +10663,7 @@
|
|
|
11309
10663
|
},
|
|
11310
10664
|
{
|
|
11311
10665
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11312
|
-
"line":
|
|
10666
|
+
"line": 218,
|
|
11313
10667
|
"description": "__Required.__ You must implement this method to apply this mixin.\n\nYour array must support the `length` property. Your replace methods should\nset this property whenever it changes.",
|
|
11314
10668
|
"itemtype": "property",
|
|
11315
10669
|
"name": "length",
|
|
@@ -11321,7 +10675,7 @@
|
|
|
11321
10675
|
},
|
|
11322
10676
|
{
|
|
11323
10677
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11324
|
-
"line":
|
|
10678
|
+
"line": 228,
|
|
11325
10679
|
"description": "Returns the object at the given `index`. If the given `index` is negative\nor is greater or equal than the array length, returns `undefined`.\n\nThis is one of the primitives you must implement to support `EmberArray`.\nIf your object supports retrieving the value of an array item using `get()`\n(i.e. `myArray.get(0)`), then you do not need to implement this method\nyourself.\n\n```javascript\nlet arr = ['a', 'b', 'c', 'd'];\n\narr.objectAt(0); // 'a'\narr.objectAt(3); // 'd'\narr.objectAt(-1); // undefined\narr.objectAt(4); // undefined\narr.objectAt(5); // undefined\n```",
|
|
11326
10680
|
"itemtype": "method",
|
|
11327
10681
|
"name": "objectAt",
|
|
@@ -11343,7 +10697,7 @@
|
|
|
11343
10697
|
},
|
|
11344
10698
|
{
|
|
11345
10699
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11346
|
-
"line":
|
|
10700
|
+
"line": 253,
|
|
11347
10701
|
"description": "This returns the objects at the specified indexes, using `objectAt`.\n\n```javascript\nlet arr = ['a', 'b', 'c', 'd'];\n\narr.objectsAt([0, 1, 2]); // ['a', 'b', 'c']\narr.objectsAt([2, 3, 4]); // ['c', 'd', undefined]\n```",
|
|
11348
10702
|
"itemtype": "method",
|
|
11349
10703
|
"name": "objectsAt",
|
|
@@ -11365,7 +10719,7 @@
|
|
|
11365
10719
|
},
|
|
11366
10720
|
{
|
|
11367
10721
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11368
|
-
"line":
|
|
10722
|
+
"line": 272,
|
|
11369
10723
|
"description": "This is the handler for the special array content property. If you get\nthis property, it will return this. If you set this property to a new\narray, it will replace the current content.\n\n```javascript\nlet peopleToMoon = ['Armstrong', 'Aldrin'];\n\npeopleToMoon.get('[]'); // ['Armstrong', 'Aldrin']\n\npeopleToMoon.set('[]', ['Collins']); // ['Collins']\npeopleToMoon.get('[]'); // ['Collins']\n```",
|
|
11370
10724
|
"itemtype": "property",
|
|
11371
10725
|
"name": "[]",
|
|
@@ -11378,110 +10732,14 @@
|
|
|
11378
10732
|
"module": "@ember/array"
|
|
11379
10733
|
},
|
|
11380
10734
|
{
|
|
11381
|
-
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11382
|
-
"line":
|
|
11383
|
-
"description": "The first object in the array, or `undefined` if the array is empty.\n\n```javascript\nlet vowels = ['a', 'e', 'i', 'o', 'u'];\nvowels.firstObject; // 'a'\n\nvowels.shiftObject();\nvowels.firstObject; // 'e'\n\nvowels.reverseObjects();\nvowels.firstObject; // 'u'\n\nvowels.clear();\nvowels.firstObject; // undefined\n```",
|
|
11384
|
-
"itemtype": "property",
|
|
11385
|
-
"name": "firstObject",
|
|
11386
|
-
"return": {
|
|
11387
|
-
"description": "The first object in the array",
|
|
11388
|
-
"type": "Object | undefined"
|
|
11389
|
-
},
|
|
11390
|
-
"access": "public",
|
|
11391
|
-
"tagname": "",
|
|
11392
|
-
"class": "EmberArray",
|
|
11393
|
-
"module": "@ember/array"
|
|
11394
|
-
},
|
|
11395
|
-
{
|
|
11396
|
-
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11397
|
-
"line": 331,
|
|
11398
|
-
"description": "The last object in the array, or `undefined` if the array is empty.",
|
|
11399
|
-
"itemtype": "property",
|
|
11400
|
-
"name": "lastObject",
|
|
11401
|
-
"return": {
|
|
11402
|
-
"description": "The last object in the array",
|
|
11403
|
-
"type": "Object | undefined"
|
|
11404
|
-
},
|
|
11405
|
-
"access": "public",
|
|
11406
|
-
"tagname": "",
|
|
11407
|
-
"class": "EmberArray",
|
|
11408
|
-
"module": "@ember/array"
|
|
11409
|
-
},
|
|
11410
|
-
{
|
|
11411
|
-
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11412
|
-
"line": 343,
|
|
11413
|
-
"description": "Returns a new array that is a slice of the receiver. This implementation\nuses the observable array methods to retrieve the objects for the new\nslice.\n\n```javascript\nlet arr = ['red', 'green', 'blue'];\n\narr.slice(0); // ['red', 'green', 'blue']\narr.slice(0, 2); // ['red', 'green']\narr.slice(1, 100); // ['green', 'blue']\n```",
|
|
11414
|
-
"itemtype": "method",
|
|
11415
|
-
"name": "slice",
|
|
11416
|
-
"params": [
|
|
11417
|
-
{
|
|
11418
|
-
"name": "beginIndex",
|
|
11419
|
-
"description": "(Optional) index to begin slicing from.",
|
|
11420
|
-
"type": "Number"
|
|
11421
|
-
},
|
|
11422
|
-
{
|
|
11423
|
-
"name": "endIndex",
|
|
11424
|
-
"description": "(Optional) index to end the slice at (but not included).",
|
|
11425
|
-
"type": "Number"
|
|
11426
|
-
}
|
|
11427
|
-
],
|
|
11428
|
-
"return": {
|
|
11429
|
-
"description": "New array with specified slice",
|
|
11430
|
-
"type": "Array"
|
|
11431
|
-
},
|
|
11432
|
-
"access": "public",
|
|
11433
|
-
"tagname": "",
|
|
11434
|
-
"class": "EmberArray",
|
|
11435
|
-
"module": "@ember/array"
|
|
11436
|
-
},
|
|
11437
|
-
{
|
|
11438
|
-
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11439
|
-
"line": 383,
|
|
11440
|
-
"description": "Used to determine the passed object's first occurrence in the array.\nReturns the index if found, -1 if no match is found.\n\nThe optional `startAt` argument can be used to pass a starting\nindex to search from, effectively slicing the searchable portion\nof the array. If it's negative it will add the array length to\nthe startAt value passed in as the index to search from. If less\nthan or equal to `-1 * array.length` the entire array is searched.\n\n```javascript\nlet arr = ['a', 'b', 'c', 'd', 'a'];\n\narr.indexOf('a'); // 0\narr.indexOf('z'); // -1\narr.indexOf('a', 2); // 4\narr.indexOf('a', -1); // 4, equivalent to indexOf('a', 4)\narr.indexOf('a', -100); // 0, searches entire array\narr.indexOf('b', 3); // -1\narr.indexOf('a', 100); // -1\n\nlet people = [{ name: 'Zoey' }, { name: 'Bob' }]\nlet newPerson = { name: 'Tom' };\npeople = [newPerson, ...people, newPerson];\n\npeople.indexOf(newPerson); // 0\npeople.indexOf(newPerson, 1); // 3\npeople.indexOf(newPerson, -4); // 0\npeople.indexOf(newPerson, 10); // -1\n```",
|
|
11441
|
-
"itemtype": "method",
|
|
11442
|
-
"name": "indexOf",
|
|
11443
|
-
"params": [
|
|
11444
|
-
{
|
|
11445
|
-
"name": "object",
|
|
11446
|
-
"description": "the item to search for",
|
|
11447
|
-
"type": "Object"
|
|
11448
|
-
},
|
|
11449
|
-
{
|
|
11450
|
-
"name": "startAt",
|
|
11451
|
-
"description": "optional starting location to search, default 0",
|
|
11452
|
-
"type": "Number"
|
|
11453
|
-
}
|
|
11454
|
-
],
|
|
11455
|
-
"return": {
|
|
11456
|
-
"description": "index or -1 if not found",
|
|
11457
|
-
"type": "Number"
|
|
11458
|
-
},
|
|
11459
|
-
"access": "public",
|
|
11460
|
-
"tagname": "",
|
|
11461
|
-
"class": "EmberArray",
|
|
11462
|
-
"module": "@ember/array"
|
|
11463
|
-
},
|
|
11464
|
-
{
|
|
11465
|
-
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11466
|
-
"line": 425,
|
|
11467
|
-
"description": "Returns the index of the given `object`'s last occurrence.\n\n- If no `startAt` argument is given, the search starts from\nthe last position.\n- If it's greater than or equal to the length of the array,\nthe search starts from the last position.\n- If it's negative, it is taken as the offset from the end\nof the array i.e. `startAt + array.length`.\n- If it's any other positive number, will search backwards\nfrom that index of the array.\n\nReturns -1 if no match is found.\n\n```javascript\nlet arr = ['a', 'b', 'c', 'd', 'a'];\n\narr.lastIndexOf('a'); // 4\narr.lastIndexOf('z'); // -1\narr.lastIndexOf('a', 2); // 0\narr.lastIndexOf('a', -1); // 4\narr.lastIndexOf('a', -3); // 0\narr.lastIndexOf('b', 3); // 1\narr.lastIndexOf('a', 100); // 4\n```",
|
|
11468
|
-
"itemtype": "method",
|
|
11469
|
-
"name": "lastIndexOf",
|
|
11470
|
-
"params": [
|
|
11471
|
-
{
|
|
11472
|
-
"name": "object",
|
|
11473
|
-
"description": "the item to search for",
|
|
11474
|
-
"type": "Object"
|
|
11475
|
-
},
|
|
11476
|
-
{
|
|
11477
|
-
"name": "startAt",
|
|
11478
|
-
"description": "optional starting location to search from\nbackwards, defaults to `(array.length - 1)`",
|
|
11479
|
-
"type": "Number"
|
|
11480
|
-
}
|
|
11481
|
-
],
|
|
10735
|
+
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
10736
|
+
"line": 300,
|
|
10737
|
+
"description": "The first object in the array, or `undefined` if the array is empty.\n\n```javascript\nlet vowels = ['a', 'e', 'i', 'o', 'u'];\nvowels.firstObject; // 'a'\n\nvowels.shiftObject();\nvowels.firstObject; // 'e'\n\nvowels.reverseObjects();\nvowels.firstObject; // 'u'\n\nvowels.clear();\nvowels.firstObject; // undefined\n```",
|
|
10738
|
+
"itemtype": "property",
|
|
10739
|
+
"name": "firstObject",
|
|
11482
10740
|
"return": {
|
|
11483
|
-
"description": "The
|
|
11484
|
-
"type": "
|
|
10741
|
+
"description": "The first object in the array",
|
|
10742
|
+
"type": "Object | undefined"
|
|
11485
10743
|
},
|
|
11486
10744
|
"access": "public",
|
|
11487
10745
|
"tagname": "",
|
|
@@ -11490,55 +10748,40 @@
|
|
|
11490
10748
|
},
|
|
11491
10749
|
{
|
|
11492
10750
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11493
|
-
"line":
|
|
11494
|
-
"description": "
|
|
11495
|
-
"itemtype": "
|
|
11496
|
-
"name": "
|
|
11497
|
-
"params": [
|
|
11498
|
-
{
|
|
11499
|
-
"name": "target",
|
|
11500
|
-
"description": "The observer object.",
|
|
11501
|
-
"type": "Object"
|
|
11502
|
-
},
|
|
11503
|
-
{
|
|
11504
|
-
"name": "opts",
|
|
11505
|
-
"description": "Optional hash of configuration options including\n `willChange` and `didChange` option.",
|
|
11506
|
-
"type": "Object"
|
|
11507
|
-
}
|
|
11508
|
-
],
|
|
10751
|
+
"line": 325,
|
|
10752
|
+
"description": "The last object in the array, or `undefined` if the array is empty.",
|
|
10753
|
+
"itemtype": "property",
|
|
10754
|
+
"name": "lastObject",
|
|
11509
10755
|
"return": {
|
|
11510
|
-
"description": "
|
|
11511
|
-
"type": "
|
|
10756
|
+
"description": "The last object in the array",
|
|
10757
|
+
"type": "Object | undefined"
|
|
11512
10758
|
},
|
|
11513
10759
|
"access": "public",
|
|
11514
10760
|
"tagname": "",
|
|
11515
|
-
"example": [
|
|
11516
|
-
"\n import Service from '@ember/service';\n\n export default Service.extend({\n data: Ember.A(),\n\n init() {\n this._super(...arguments);\n\n this.data.addArrayObserver(this, {\n willChange: 'dataWillChange',\n didChange: 'dataDidChange'\n });\n },\n\n dataWillChange(array, start, removeCount, addCount) {\n console.log('array will change', array, start, removeCount, addCount);\n },\n\n dataDidChange(array, start, removeCount, addCount) {\n console.log('array did change', array, start, removeCount, addCount);\n }\n });"
|
|
11517
|
-
],
|
|
11518
10761
|
"class": "EmberArray",
|
|
11519
10762
|
"module": "@ember/array"
|
|
11520
10763
|
},
|
|
11521
10764
|
{
|
|
11522
10765
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11523
|
-
"line":
|
|
11524
|
-
"description": "
|
|
10766
|
+
"line": 337,
|
|
10767
|
+
"description": "Returns a new array that is a slice of the receiver. This implementation\nuses the observable array methods to retrieve the objects for the new\nslice.\n\n```javascript\nlet arr = ['red', 'green', 'blue'];\n\narr.slice(0); // ['red', 'green', 'blue']\narr.slice(0, 2); // ['red', 'green']\narr.slice(1, 100); // ['green', 'blue']\n```",
|
|
11525
10768
|
"itemtype": "method",
|
|
11526
|
-
"name": "
|
|
10769
|
+
"name": "slice",
|
|
11527
10770
|
"params": [
|
|
11528
10771
|
{
|
|
11529
|
-
"name": "
|
|
11530
|
-
"description": "
|
|
11531
|
-
"type": "
|
|
10772
|
+
"name": "beginIndex",
|
|
10773
|
+
"description": "(Optional) index to begin slicing from.",
|
|
10774
|
+
"type": "Number"
|
|
11532
10775
|
},
|
|
11533
10776
|
{
|
|
11534
|
-
"name": "
|
|
11535
|
-
"description": "Optional
|
|
11536
|
-
"type": "
|
|
10777
|
+
"name": "endIndex",
|
|
10778
|
+
"description": "(Optional) index to end the slice at (but not included).",
|
|
10779
|
+
"type": "Number"
|
|
11537
10780
|
}
|
|
11538
10781
|
],
|
|
11539
10782
|
"return": {
|
|
11540
|
-
"description": "
|
|
11541
|
-
"type": "
|
|
10783
|
+
"description": "New array with specified slice",
|
|
10784
|
+
"type": "Array"
|
|
11542
10785
|
},
|
|
11543
10786
|
"access": "public",
|
|
11544
10787
|
"tagname": "",
|
|
@@ -11547,42 +10790,25 @@
|
|
|
11547
10790
|
},
|
|
11548
10791
|
{
|
|
11549
10792
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11550
|
-
"line":
|
|
11551
|
-
"description": "
|
|
11552
|
-
"itemtype": "property",
|
|
11553
|
-
"name": "hasArrayObservers",
|
|
11554
|
-
"type": "Boolean",
|
|
11555
|
-
"access": "public",
|
|
11556
|
-
"tagname": "",
|
|
11557
|
-
"class": "EmberArray",
|
|
11558
|
-
"module": "@ember/array"
|
|
11559
|
-
},
|
|
11560
|
-
{
|
|
11561
|
-
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11562
|
-
"line": 579,
|
|
11563
|
-
"description": "If you are implementing an object that supports `EmberArray`, call this\nmethod just before the array content changes to notify any observers and\ninvalidate any related properties. Pass the starting index of the change\nas well as a delta of the amounts to change.\n\n```app/components/show-post.js\nimport Component from '@ember/component';\nimport EmberObject from '@ember/object';\n\nconst Post = EmberObject.extend({\n body: '',\n save() {}\n})\n\nexport default Component.extend({\n attemptsToModify: 0,\n successfulModifications: 0,\n posts: null,\n\n init() {\n this._super(...arguments);\n\n this.posts = [1, 2, 3].map(i => Post.create({ body: i }));\n this.posts.addArrayObserver(this, {\n willChange() {\n this.incrementProperty('attemptsToModify');\n },\n didChange() {\n this.incrementProperty('successfulModifications');\n }\n });\n },\n\n actions: {\n editPost(post, newContent) {\n let oldContent = post.body,\n postIndex = this.posts.indexOf(post);\n\n this.posts.arrayContentWillChange(postIndex, 0, 0); // attemptsToModify = 1\n post.set('body', newContent);\n\n post.save()\n .then(response => {\n this.posts.arrayContentDidChange(postIndex, 0, 0); // successfulModifications = 1\n })\n .catch(error => {\n post.set('body', oldContent);\n })\n }\n }\n});\n```",
|
|
10793
|
+
"line": 377,
|
|
10794
|
+
"description": "Used to determine the passed object's first occurrence in the array.\nReturns the index if found, -1 if no match is found.\n\nThe optional `startAt` argument can be used to pass a starting\nindex to search from, effectively slicing the searchable portion\nof the array. If it's negative it will add the array length to\nthe startAt value passed in as the index to search from. If less\nthan or equal to `-1 * array.length` the entire array is searched.\n\n```javascript\nlet arr = ['a', 'b', 'c', 'd', 'a'];\n\narr.indexOf('a'); // 0\narr.indexOf('z'); // -1\narr.indexOf('a', 2); // 4\narr.indexOf('a', -1); // 4, equivalent to indexOf('a', 4)\narr.indexOf('a', -100); // 0, searches entire array\narr.indexOf('b', 3); // -1\narr.indexOf('a', 100); // -1\n\nlet people = [{ name: 'Zoey' }, { name: 'Bob' }]\nlet newPerson = { name: 'Tom' };\npeople = [newPerson, ...people, newPerson];\n\npeople.indexOf(newPerson); // 0\npeople.indexOf(newPerson, 1); // 3\npeople.indexOf(newPerson, -4); // 0\npeople.indexOf(newPerson, 10); // -1\n```",
|
|
11564
10795
|
"itemtype": "method",
|
|
11565
|
-
"name": "
|
|
10796
|
+
"name": "indexOf",
|
|
11566
10797
|
"params": [
|
|
11567
10798
|
{
|
|
11568
|
-
"name": "
|
|
11569
|
-
"description": "
|
|
11570
|
-
"type": "
|
|
11571
|
-
},
|
|
11572
|
-
{
|
|
11573
|
-
"name": "removeAmt",
|
|
11574
|
-
"description": "The number of items that will be removed. If you\n pass `null` assumes 0",
|
|
11575
|
-
"type": "Number"
|
|
10799
|
+
"name": "object",
|
|
10800
|
+
"description": "the item to search for",
|
|
10801
|
+
"type": "Object"
|
|
11576
10802
|
},
|
|
11577
10803
|
{
|
|
11578
|
-
"name": "
|
|
11579
|
-
"description": "
|
|
10804
|
+
"name": "startAt",
|
|
10805
|
+
"description": "optional starting location to search, default 0",
|
|
11580
10806
|
"type": "Number"
|
|
11581
10807
|
}
|
|
11582
10808
|
],
|
|
11583
10809
|
"return": {
|
|
11584
|
-
"description": "
|
|
11585
|
-
"type": "
|
|
10810
|
+
"description": "index or -1 if not found",
|
|
10811
|
+
"type": "Number"
|
|
11586
10812
|
},
|
|
11587
10813
|
"access": "public",
|
|
11588
10814
|
"tagname": "",
|
|
@@ -11591,30 +10817,25 @@
|
|
|
11591
10817
|
},
|
|
11592
10818
|
{
|
|
11593
10819
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11594
|
-
"line":
|
|
11595
|
-
"description": "
|
|
10820
|
+
"line": 419,
|
|
10821
|
+
"description": "Returns the index of the given `object`'s last occurrence.\n\n- If no `startAt` argument is given, the search starts from\nthe last position.\n- If it's greater than or equal to the length of the array,\nthe search starts from the last position.\n- If it's negative, it is taken as the offset from the end\nof the array i.e. `startAt + array.length`.\n- If it's any other positive number, will search backwards\nfrom that index of the array.\n\nReturns -1 if no match is found.\n\n```javascript\nlet arr = ['a', 'b', 'c', 'd', 'a'];\n\narr.lastIndexOf('a'); // 4\narr.lastIndexOf('z'); // -1\narr.lastIndexOf('a', 2); // 0\narr.lastIndexOf('a', -1); // 4\narr.lastIndexOf('a', -3); // 0\narr.lastIndexOf('b', 3); // 1\narr.lastIndexOf('a', 100); // 4\n```",
|
|
11596
10822
|
"itemtype": "method",
|
|
11597
|
-
"name": "
|
|
10823
|
+
"name": "lastIndexOf",
|
|
11598
10824
|
"params": [
|
|
11599
10825
|
{
|
|
11600
|
-
"name": "
|
|
11601
|
-
"description": "
|
|
11602
|
-
"type": "
|
|
11603
|
-
},
|
|
11604
|
-
{
|
|
11605
|
-
"name": "removeAmt",
|
|
11606
|
-
"description": "The number of items that were removed. If you\n pass `null` assumes 0",
|
|
11607
|
-
"type": "Number"
|
|
10826
|
+
"name": "object",
|
|
10827
|
+
"description": "the item to search for",
|
|
10828
|
+
"type": "Object"
|
|
11608
10829
|
},
|
|
11609
10830
|
{
|
|
11610
|
-
"name": "
|
|
11611
|
-
"description": "
|
|
10831
|
+
"name": "startAt",
|
|
10832
|
+
"description": "optional starting location to search from\nbackwards, defaults to `(array.length - 1)`",
|
|
11612
10833
|
"type": "Number"
|
|
11613
10834
|
}
|
|
11614
10835
|
],
|
|
11615
10836
|
"return": {
|
|
11616
|
-
"description": "
|
|
11617
|
-
"type": "
|
|
10837
|
+
"description": "The last index of the `object` in the array or -1\nif not found",
|
|
10838
|
+
"type": "Number"
|
|
11618
10839
|
},
|
|
11619
10840
|
"access": "public",
|
|
11620
10841
|
"tagname": "",
|
|
@@ -11623,7 +10844,7 @@
|
|
|
11623
10844
|
},
|
|
11624
10845
|
{
|
|
11625
10846
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11626
|
-
"line":
|
|
10847
|
+
"line": 473,
|
|
11627
10848
|
"description": "Iterates through the array, calling the passed function on each\nitem. This method corresponds to the `forEach()` method defined in\nJavaScript 1.6.\n\nThe callback method you provide should have the following signature (all\nparameters are optional):\n\n```javascript\nfunction(item, index, array);\n```\n\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array itself.\n\nNote that in addition to a callback, you can also pass an optional target\nobject that will be set as `this` on the context. This is a good way\nto give your iterator function access to the current object.\n\nExample Usage:\n\n```javascript\nlet foods = [\n { name: 'apple', eaten: false },\n { name: 'banana', eaten: false },\n { name: 'carrot', eaten: false }\n];\n\nfoods.forEach((food) => food.eaten = true);\n\nlet output = '';\nfoods.forEach((item, index, array) =>\n output += `${index + 1}/${array.length} ${item.name}\\n`;\n);\nconsole.log(output);\n// 1/3 apple\n// 2/3 banana\n// 3/3 carrot\n```",
|
|
11628
10849
|
"itemtype": "method",
|
|
11629
10850
|
"name": "forEach",
|
|
@@ -11651,7 +10872,7 @@
|
|
|
11651
10872
|
},
|
|
11652
10873
|
{
|
|
11653
10874
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11654
|
-
"line":
|
|
10875
|
+
"line": 533,
|
|
11655
10876
|
"description": "Alias for `mapBy`.\n\nReturns the value of the named\nproperty on all items in the enumeration.\n\n```javascript\nlet people = [{name: 'Joe'}, {name: 'Matt'}];\n\npeople.getEach('name');\n// ['Joe', 'Matt'];\n\npeople.getEach('nonexistentProperty');\n// [undefined, undefined];\n```",
|
|
11656
10877
|
"itemtype": "method",
|
|
11657
10878
|
"name": "getEach",
|
|
@@ -11673,7 +10894,7 @@
|
|
|
11673
10894
|
},
|
|
11674
10895
|
{
|
|
11675
10896
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11676
|
-
"line":
|
|
10897
|
+
"line": 556,
|
|
11677
10898
|
"description": "Sets the value on the named property for each member. This is more\nergonomic than using other methods defined on this helper. If the object\nimplements Observable, the value will be changed to `set(),` otherwise\nit will be set directly. `null` objects are skipped.\n\n```javascript\nlet people = [{name: 'Joe'}, {name: 'Matt'}];\n\npeople.setEach('zipCode', '10011');\n// [{name: 'Joe', zipCode: '10011'}, {name: 'Matt', zipCode: '10011'}];\n```",
|
|
11678
10899
|
"itemtype": "method",
|
|
11679
10900
|
"name": "setEach",
|
|
@@ -11700,7 +10921,7 @@
|
|
|
11700
10921
|
},
|
|
11701
10922
|
{
|
|
11702
10923
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11703
|
-
"line":
|
|
10924
|
+
"line": 579,
|
|
11704
10925
|
"description": "Maps all of the items in the enumeration to another value, returning\na new array. This method corresponds to `map()` defined in JavaScript 1.6.\n\nThe callback method you provide should have the following signature (all\nparameters are optional):\n\n```javascript\nfunction(item, index, array);\nlet arr = [1, 2, 3, 4, 5, 6];\n\narr.map(element => element * element);\n// [1, 4, 9, 16, 25, 36];\n\narr.map((element, index) => element + index);\n// [1, 3, 5, 7, 9, 11];\n```\n\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array itself.\n\nIt should return the mapped value.\n\nNote that in addition to a callback, you can also pass an optional target\nobject that will be set as `this` on the context. This is a good way\nto give your iterator function access to the current object.",
|
|
11705
10926
|
"itemtype": "method",
|
|
11706
10927
|
"name": "map",
|
|
@@ -11728,7 +10949,7 @@
|
|
|
11728
10949
|
},
|
|
11729
10950
|
{
|
|
11730
10951
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11731
|
-
"line":
|
|
10952
|
+
"line": 623,
|
|
11732
10953
|
"description": "Similar to map, this specialized function returns the value of the named\nproperty on all items in the enumeration.\n\n```javascript\nlet people = [{name: 'Joe'}, {name: 'Matt'}];\n\npeople.mapBy('name');\n// ['Joe', 'Matt'];\n\npeople.mapBy('unknownProperty');\n// [undefined, undefined];\n```",
|
|
11733
10954
|
"itemtype": "method",
|
|
11734
10955
|
"name": "mapBy",
|
|
@@ -11750,7 +10971,7 @@
|
|
|
11750
10971
|
},
|
|
11751
10972
|
{
|
|
11752
10973
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11753
|
-
"line":
|
|
10974
|
+
"line": 644,
|
|
11754
10975
|
"description": "Returns a new array with all of the items in the enumeration that the provided\ncallback function returns true for. This method corresponds to [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter).\n\nThe callback method should have the following signature:\n\n```javascript\nfunction(item, index, array);\n```\n\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array itself.\n\nAll parameters are optional. The function should return `true` to include the item\nin the results, and `false` otherwise.\n\nExample:\n\n```javascript\nfunction isAdult(person) {\n return person.age > 18;\n};\n\nlet people = Ember.A([{ name: 'John', age: 14 }, { name: 'Joan', age: 45 }]);\n\npeople.filter(isAdult); // returns [{ name: 'Joan', age: 45 }];\n```\n\nNote that in addition to a callback, you can pass an optional target object\nthat will be set as `this` on the context. This is a good way to give your\niterator function access to the current object. For example:\n\n```javascript\nfunction isAdultAndEngineer(person) {\n return person.age > 18 && this.engineering;\n}\n\nclass AdultsCollection {\n engineering = false;\n\n constructor(opts = {}) {\n super(...arguments);\n\n this.engineering = opts.engineering;\n this.people = Ember.A([{ name: 'John', age: 14 }, { name: 'Joan', age: 45 }]);\n }\n}\n\nlet collection = new AdultsCollection({ engineering: true });\ncollection.people.filter(isAdultAndEngineer, { target: collection });\n```",
|
|
11755
10976
|
"itemtype": "method",
|
|
11756
10977
|
"name": "filter",
|
|
@@ -11778,7 +10999,7 @@
|
|
|
11778
10999
|
},
|
|
11779
11000
|
{
|
|
11780
11001
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11781
|
-
"line":
|
|
11002
|
+
"line": 717,
|
|
11782
11003
|
"description": "Returns an array with all of the items in the enumeration where the passed\nfunction returns false. This method is the inverse of filter().\n\nThe callback method you provide should have the following signature (all\nparameters are optional):\n\n```javascript\nfunction(item, index, array);\n```\n\n- *item* is the current item in the iteration.\n- *index* is the current index in the iteration\n- *array* is the array itself.\n\nIt should return a falsey value to include the item in the results.\n\nNote that in addition to a callback, you can also pass an optional target\nobject that will be set as \"this\" on the context. This is a good way\nto give your iterator function access to the current object.\n\nExample Usage:\n\n```javascript\nconst food = [\n { food: 'apple', isFruit: true },\n { food: 'bread', isFruit: false },\n { food: 'banana', isFruit: true }\n];\nconst nonFruits = food.reject(function(thing) {\n return thing.isFruit;\n}); // [{food: 'bread', isFruit: false}]\n```",
|
|
11783
11004
|
"itemtype": "method",
|
|
11784
11005
|
"name": "reject",
|
|
@@ -11806,7 +11027,7 @@
|
|
|
11806
11027
|
},
|
|
11807
11028
|
{
|
|
11808
11029
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11809
|
-
"line":
|
|
11030
|
+
"line": 764,
|
|
11810
11031
|
"description": "Filters the array by the property and an optional value. If a value is given, it returns\nthe items that have said value for the property. If not, it returns all the items that\nhave a truthy value for the property.\n\nExample Usage:\n\n```javascript\nlet things = Ember.A([{ food: 'apple', isFruit: true }, { food: 'beans', isFruit: false }]);\n\nthings.filterBy('food', 'beans'); // [{ food: 'beans', isFruit: false }]\nthings.filterBy('isFruit'); // [{ food: 'apple', isFruit: true }]\n```",
|
|
11811
11032
|
"itemtype": "method",
|
|
11812
11033
|
"name": "filterBy",
|
|
@@ -11834,7 +11055,7 @@
|
|
|
11834
11055
|
},
|
|
11835
11056
|
{
|
|
11836
11057
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11837
|
-
"line":
|
|
11058
|
+
"line": 788,
|
|
11838
11059
|
"description": "Returns an array with the items that do not have truthy values for the provided key.\nYou can pass an optional second argument with a target value to reject for the key.\nOtherwise this will reject objects where the provided property evaluates to false.\n\nExample Usage:\n\n```javascript\n let food = [\n { name: \"apple\", isFruit: true },\n { name: \"carrot\", isFruit: false },\n { name: \"bread\", isFruit: false },\n ];\n food.rejectBy('isFruit'); // [{ name: \"carrot\", isFruit: false }, { name: \"bread\", isFruit: false }]\n food.rejectBy('name', 'carrot'); // [{ name: \"apple\", isFruit: true }}, { name: \"bread\", isFruit: false }]\n```",
|
|
11839
11060
|
"itemtype": "method",
|
|
11840
11061
|
"name": "rejectBy",
|
|
@@ -11862,7 +11083,7 @@
|
|
|
11862
11083
|
},
|
|
11863
11084
|
{
|
|
11864
11085
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11865
|
-
"line":
|
|
11086
|
+
"line": 815,
|
|
11866
11087
|
"description": "Returns the first item in the array for which the callback returns true.\nThis method is similar to the `find()` method defined in ECMAScript 2015.\n\nThe callback method you provide should have the following signature (all\nparameters are optional):\n\n```javascript\nfunction(item, index, array);\n```\n\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array itself.\n\nIt should return the `true` to include the item in the results, `false`\notherwise.\n\nNote that in addition to a callback, you can also pass an optional target\nobject that will be set as `this` on the context. This is a good way\nto give your iterator function access to the current object.\n\nExample Usage:\n\n```javascript\nlet users = [\n { id: 1, name: 'Yehuda' },\n { id: 2, name: 'Tom' },\n { id: 3, name: 'Melanie' },\n { id: 4, name: 'Leah' }\n];\n\nusers.find((user) => user.name == 'Tom'); // [{ id: 2, name: 'Tom' }]\nusers.find(({ id }) => id == 3); // [{ id: 3, name: 'Melanie' }]\n```",
|
|
11867
11088
|
"itemtype": "method",
|
|
11868
11089
|
"name": "find",
|
|
@@ -11890,7 +11111,7 @@
|
|
|
11890
11111
|
},
|
|
11891
11112
|
{
|
|
11892
11113
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11893
|
-
"line":
|
|
11114
|
+
"line": 862,
|
|
11894
11115
|
"description": "Returns the first item with a property matching the passed value. You\ncan pass an optional second argument with the target value. Otherwise\nthis will match any property that evaluates to `true`.\n\nThis method works much like the more generic `find()` method.\n\nUsage Example:\n\n```javascript\nlet users = [\n { id: 1, name: 'Yehuda', isTom: false },\n { id: 2, name: 'Tom', isTom: true },\n { id: 3, name: 'Melanie', isTom: false },\n { id: 4, name: 'Leah', isTom: false }\n];\n\nusers.findBy('id', 4); // { id: 4, name: 'Leah', isTom: false }\nusers.findBy('name', 'Melanie'); // { id: 3, name: 'Melanie', isTom: false }\nusers.findBy('isTom'); // { id: 2, name: 'Tom', isTom: true }\n```",
|
|
11895
11116
|
"itemtype": "method",
|
|
11896
11117
|
"name": "findBy",
|
|
@@ -11918,7 +11139,7 @@
|
|
|
11918
11139
|
},
|
|
11919
11140
|
{
|
|
11920
11141
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11921
|
-
"line":
|
|
11142
|
+
"line": 894,
|
|
11922
11143
|
"description": "Returns `true` if the passed function returns true for every item in the\nenumeration. This corresponds with the `Array.prototype.every()` method defined in ES5.\n\nThe callback method should have the following signature:\n\n```javascript\nfunction(item, index, array);\n```\n\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array itself.\n\nAll params are optional. The method should return `true` or `false`.\n\nNote that in addition to a callback, you can also pass an optional target\nobject that will be set as `this` on the context. This is a good way\nto give your iterator function access to the current object.\n\nUsage example:\n\n```javascript\nfunction isAdult(person) {\n return person.age > 18;\n};\n\nconst people = Ember.A([{ name: 'John', age: 24 }, { name: 'Joan', age: 45 }]);\nconst areAllAdults = people.every(isAdult);\n```",
|
|
11923
11144
|
"itemtype": "method",
|
|
11924
11145
|
"name": "every",
|
|
@@ -11946,7 +11167,7 @@
|
|
|
11946
11167
|
},
|
|
11947
11168
|
{
|
|
11948
11169
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11949
|
-
"line":
|
|
11170
|
+
"line": 936,
|
|
11950
11171
|
"description": "Returns `true` if the passed property resolves to the value of the second\nargument for all items in the array. This method is often simpler/faster\nthan using a callback.\n\nNote that like the native `Array.every`, `isEvery` will return true when called\non any empty array.\n```javascript\nclass Language {\n constructor(name, isProgrammingLanguage) {\n this.name = name;\n this.programmingLanguage = isProgrammingLanguage;\n }\n}\n\nconst compiledLanguages = [\n new Language('Java', true),\n new Language('Go', true),\n new Language('Rust', true)\n]\n\nconst languagesKnownByMe = [\n new Language('Javascript', true),\n new Language('English', false),\n new Language('Ruby', true)\n]\n\ncompiledLanguages.isEvery('programmingLanguage'); // true\nlanguagesKnownByMe.isEvery('programmingLanguage'); // false\n```",
|
|
11951
11172
|
"itemtype": "method",
|
|
11952
11173
|
"name": "isEvery",
|
|
@@ -11975,7 +11196,7 @@
|
|
|
11975
11196
|
},
|
|
11976
11197
|
{
|
|
11977
11198
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
11978
|
-
"line":
|
|
11199
|
+
"line": 978,
|
|
11979
11200
|
"description": "The any() method executes the callback function once for each element\npresent in the array until it finds the one where callback returns a truthy\nvalue (i.e. `true`). If such an element is found, any() immediately returns\ntrue. Otherwise, any() returns false.\n\n```javascript\nfunction(item, index, array);\n```\n\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array object itself.\n\nNote that in addition to a callback, you can also pass an optional target\nobject that will be set as `this` on the context. It can be a good way\nto give your iterator function access to an object in cases where an ES6\narrow function would not be appropriate.\n\nUsage Example:\n\n```javascript\nlet includesManager = people.any(this.findPersonInManagersList, this);\n\nlet includesStockHolder = people.any(person => {\n return this.findPersonInStockHoldersList(person)\n});\n\nif (includesManager || includesStockHolder) {\n Paychecks.addBiggerBonus();\n}\n```",
|
|
11980
11201
|
"itemtype": "method",
|
|
11981
11202
|
"name": "any",
|
|
@@ -12003,7 +11224,7 @@
|
|
|
12003
11224
|
},
|
|
12004
11225
|
{
|
|
12005
11226
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12006
|
-
"line":
|
|
11227
|
+
"line": 1022,
|
|
12007
11228
|
"description": "Returns `true` if the passed property resolves to the value of the second\nargument for any item in the array. This method is often simpler/faster\nthan using a callback.\n\nExample usage:\n\n```javascript\nconst food = [\n { food: 'apple', isFruit: true },\n { food: 'bread', isFruit: false },\n { food: 'banana', isFruit: true }\n];\n\nfood.isAny('isFruit'); // true\n```",
|
|
12008
11229
|
"itemtype": "method",
|
|
12009
11230
|
"name": "isAny",
|
|
@@ -12032,7 +11253,7 @@
|
|
|
12032
11253
|
},
|
|
12033
11254
|
{
|
|
12034
11255
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12035
|
-
"line":
|
|
11256
|
+
"line": 1050,
|
|
12036
11257
|
"description": "This will combine the values of the array into a single value. It\nis a useful way to collect a summary value from an array. This\ncorresponds to the `reduce()` method defined in JavaScript 1.8.\n\nThe callback method you provide should have the following signature (all\nparameters are optional):\n\n```javascript\nfunction(previousValue, item, index, array);\n```\n\n- `previousValue` is the value returned by the last call to the iterator.\n- `item` is the current item in the iteration.\n- `index` is the current index in the iteration.\n- `array` is the array itself.\n\nReturn the new cumulative value.\n\nIn addition to the callback you can also pass an `initialValue`. An error\nwill be raised if you do not pass an initial value and the enumerator is\nempty.\n\nNote that unlike the other methods, this method does not allow you to\npass a target object to set as this for the callback. It's part of the\nspec. Sorry.\n\nExample Usage:\n\n```javascript\n let numbers = [1, 2, 3, 4, 5];\n\n numbers.reduce(function(summation, current) {\n return summation + current;\n }); // 15 (1 + 2 + 3 + 4 + 5)\n\n numbers.reduce(function(summation, current) {\n return summation + current;\n }, -15); // 0 (-15 + 1 + 2 + 3 + 4 + 5)\n\n\n let binaryValues = [true, false, false];\n\n binaryValues.reduce(function(truthValue, current) {\n return truthValue && current;\n }); // false (true && false && false)\n```",
|
|
12037
11258
|
"itemtype": "method",
|
|
12038
11259
|
"name": "reduce",
|
|
@@ -12059,7 +11280,7 @@
|
|
|
12059
11280
|
},
|
|
12060
11281
|
{
|
|
12061
11282
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12062
|
-
"line":
|
|
11283
|
+
"line": 1116,
|
|
12063
11284
|
"description": "Invokes the named method on every object in the receiver that\nimplements it. This method corresponds to the implementation in\nPrototype 1.6.\n\n```javascript\nclass Person {\n name = null;\n\n constructor(name) {\n this.name = name;\n }\n\n greet(prefix='Hello') {\n return `${prefix} ${this.name}`;\n }\n}\n\nlet people = [new Person('Joe'), new Person('Matt')];\n\npeople.invoke('greet'); // ['Hello Joe', 'Hello Matt']\npeople.invoke('greet', 'Bonjour'); // ['Bonjour Joe', 'Bonjour Matt']\n```",
|
|
12064
11285
|
"itemtype": "method",
|
|
12065
11286
|
"name": "invoke",
|
|
@@ -12086,7 +11307,7 @@
|
|
|
12086
11307
|
},
|
|
12087
11308
|
{
|
|
12088
11309
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12089
|
-
"line":
|
|
11310
|
+
"line": 1154,
|
|
12090
11311
|
"description": "Simply converts the object into a genuine array. The order is not\nguaranteed. Corresponds to the method implemented by Prototype.",
|
|
12091
11312
|
"itemtype": "method",
|
|
12092
11313
|
"name": "toArray",
|
|
@@ -12101,7 +11322,7 @@
|
|
|
12101
11322
|
},
|
|
12102
11323
|
{
|
|
12103
11324
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12104
|
-
"line":
|
|
11325
|
+
"line": 1166,
|
|
12105
11326
|
"description": "Returns a copy of the array with all `null` and `undefined` elements removed.\n\n```javascript\nlet arr = ['a', null, 'c', undefined];\narr.compact(); // ['a', 'c']\n```",
|
|
12106
11327
|
"itemtype": "method",
|
|
12107
11328
|
"name": "compact",
|
|
@@ -12116,7 +11337,7 @@
|
|
|
12116
11337
|
},
|
|
12117
11338
|
{
|
|
12118
11339
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12119
|
-
"line":
|
|
11340
|
+
"line": 1182,
|
|
12120
11341
|
"description": "Used to determine if the array contains the passed object.\nReturns `true` if found, `false` otherwise.\n\nThe optional `startAt` argument can be used to pass a starting\nindex to search from, effectively slicing the searchable portion\nof the array. If it's negative it will add the array length to\nthe startAt value passed in as the index to search from. If less\nthan or equal to `-1 * array.length` the entire array is searched.\n\nThis method has the same behavior of JavaScript's [Array.includes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes).\n\n```javascript\n[1, 2, 3].includes(2); // true\n[1, 2, 3].includes(4); // false\n[1, 2, 3].includes(3, 2); // true\n[1, 2, 3].includes(3, 3); // false\n[1, 2, 3].includes(3, -1); // true\n[1, 2, 3].includes(1, -1); // false\n[1, 2, 3].includes(1, -4); // true\n[1, 2, NaN].includes(NaN); // true\n```",
|
|
12121
11342
|
"itemtype": "method",
|
|
12122
11343
|
"name": "includes",
|
|
@@ -12143,7 +11364,7 @@
|
|
|
12143
11364
|
},
|
|
12144
11365
|
{
|
|
12145
11366
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12146
|
-
"line":
|
|
11367
|
+
"line": 1215,
|
|
12147
11368
|
"description": "Sorts the array by the keys specified in the argument.\n\nYou may provide multiple arguments to sort by multiple properties.\n\n```javascript\n let colors = [\n { name: 'red', weight: 500 },\n { name: 'green', weight: 600 },\n { name: 'blue', weight: 500 }\n];\n\n colors.sortBy('name');\n // [{name: 'blue', weight: 500}, {name: 'green', weight: 600}, {name: 'red', weight: 500}]\n\n colors.sortBy('weight', 'name');\n // [{name: 'blue', weight: 500}, {name: 'red', weight: 500}, {name: 'green', weight: 600}]\n ```",
|
|
12148
11369
|
"itemtype": "method",
|
|
12149
11370
|
"name": "sortBy",
|
|
@@ -12166,7 +11387,7 @@
|
|
|
12166
11387
|
},
|
|
12167
11388
|
{
|
|
12168
11389
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12169
|
-
"line":
|
|
11390
|
+
"line": 1259,
|
|
12170
11391
|
"description": "Returns a new array that contains only unique values. The default\nimplementation returns an array regardless of the receiver type.\n\n```javascript\nlet arr = ['a', 'a', 'b', 'b'];\narr.uniq(); // ['a', 'b']\n```\n\nThis only works on primitive data types, e.g. Strings, Numbers, etc.",
|
|
12171
11392
|
"itemtype": "method",
|
|
12172
11393
|
"name": "uniq",
|
|
@@ -12181,7 +11402,7 @@
|
|
|
12181
11402
|
},
|
|
12182
11403
|
{
|
|
12183
11404
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12184
|
-
"line":
|
|
11405
|
+
"line": 1278,
|
|
12185
11406
|
"description": "Returns a new array that contains only items containing a unique property value.\nThe default implementation returns an array regardless of the receiver type.\n\n```javascript\nlet arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];\narr.uniqBy('value'); // [{ value: 'a' }, { value: 'b' }]\n\nlet arr = [2.2, 2.1, 3.2, 3.3];\narr.uniqBy(Math.floor); // [2.2, 3.2];\n```",
|
|
12186
11407
|
"itemtype": "method",
|
|
12187
11408
|
"name": "uniqBy",
|
|
@@ -12203,7 +11424,7 @@
|
|
|
12203
11424
|
},
|
|
12204
11425
|
{
|
|
12205
11426
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12206
|
-
"line":
|
|
11427
|
+
"line": 1300,
|
|
12207
11428
|
"description": "Returns a new array that excludes the passed value. The default\nimplementation returns an array regardless of the receiver type.\nIf the receiver does not contain the value it returns the original array.\n\n```javascript\nlet arr = ['a', 'b', 'a', 'c'];\narr.without('a'); // ['b', 'c']\n```",
|
|
12208
11429
|
"itemtype": "method",
|
|
12209
11430
|
"name": "without",
|
|
@@ -12225,8 +11446,8 @@
|
|
|
12225
11446
|
},
|
|
12226
11447
|
{
|
|
12227
11448
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12228
|
-
"line":
|
|
12229
|
-
"description": "__Required.__ You must implement this method to apply this mixin.\n\nThis is one of the primitives you must implement to support `Array`.\nYou should replace amt objects started at idx with the objects in the\npassed array
|
|
11449
|
+
"line": 1348,
|
|
11450
|
+
"description": "__Required.__ You must implement this method to apply this mixin.\n\nThis is one of the primitives you must implement to support `Array`.\nYou should replace amt objects started at idx with the objects in the\npassed array.\n\nNote that this method is expected to validate the type(s) of objects that it expects.",
|
|
12230
11451
|
"itemtype": "method",
|
|
12231
11452
|
"name": "replace",
|
|
12232
11453
|
"params": [
|
|
@@ -12253,7 +11474,7 @@
|
|
|
12253
11474
|
},
|
|
12254
11475
|
{
|
|
12255
11476
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12256
|
-
"line":
|
|
11477
|
+
"line": 1367,
|
|
12257
11478
|
"description": "Remove all elements from the array. This is useful if you\nwant to reuse an existing array without having to recreate it.\n\n```javascript\nlet colors = ['red', 'green', 'blue'];\n\ncolors.length; // 3\ncolors.clear(); // []\ncolors.length; // 0\n```",
|
|
12258
11479
|
"itemtype": "method",
|
|
12259
11480
|
"name": "clear",
|
|
@@ -12268,7 +11489,7 @@
|
|
|
12268
11489
|
},
|
|
12269
11490
|
{
|
|
12270
11491
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12271
|
-
"line":
|
|
11492
|
+
"line": 1393,
|
|
12272
11493
|
"description": "This will use the primitive `replace()` method to insert an object at the\nspecified index.\n\n```javascript\nlet colors = ['red', 'green', 'blue'];\n\ncolors.insertAt(2, 'yellow'); // ['red', 'green', 'yellow', 'blue']\ncolors.insertAt(5, 'orange'); // Error: Index out of range\n```",
|
|
12273
11494
|
"itemtype": "method",
|
|
12274
11495
|
"name": "insertAt",
|
|
@@ -12295,7 +11516,7 @@
|
|
|
12295
11516
|
},
|
|
12296
11517
|
{
|
|
12297
11518
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12298
|
-
"line":
|
|
11519
|
+
"line": 1415,
|
|
12299
11520
|
"description": "Remove an object at the specified index using the `replace()` primitive\nmethod. You can pass either a single index, or a start and a length.\n\nIf you pass a start and length that is beyond the\nlength this method will throw an assertion.\n\n```javascript\nlet colors = ['red', 'green', 'blue', 'yellow', 'orange'];\n\ncolors.removeAt(0); // ['green', 'blue', 'yellow', 'orange']\ncolors.removeAt(2, 2); // ['green', 'blue']\ncolors.removeAt(4, 2); // Error: Index out of range\n```",
|
|
12300
11521
|
"itemtype": "method",
|
|
12301
11522
|
"name": "removeAt",
|
|
@@ -12322,7 +11543,7 @@
|
|
|
12322
11543
|
},
|
|
12323
11544
|
{
|
|
12324
11545
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12325
|
-
"line":
|
|
11546
|
+
"line": 1440,
|
|
12326
11547
|
"description": "Push the object onto the end of the array. Works just like `push()` but it\nis KVO-compliant.\n\n```javascript\nlet colors = ['red', 'green'];\n\ncolors.pushObject('black'); // ['red', 'green', 'black']\ncolors.pushObject(['yellow']); // ['red', 'green', ['yellow']]\n```",
|
|
12327
11548
|
"itemtype": "method",
|
|
12328
11549
|
"name": "pushObject",
|
|
@@ -12343,7 +11564,7 @@
|
|
|
12343
11564
|
},
|
|
12344
11565
|
{
|
|
12345
11566
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12346
|
-
"line":
|
|
11567
|
+
"line": 1460,
|
|
12347
11568
|
"description": "Add the objects in the passed array to the end of the array. Defers\nnotifying observers of the change until all objects are added.\n\n```javascript\nlet colors = ['red'];\n\ncolors.pushObjects(['yellow', 'orange']); // ['red', 'yellow', 'orange']\n```",
|
|
12348
11569
|
"itemtype": "method",
|
|
12349
11570
|
"name": "pushObjects",
|
|
@@ -12365,7 +11586,7 @@
|
|
|
12365
11586
|
},
|
|
12366
11587
|
{
|
|
12367
11588
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12368
|
-
"line":
|
|
11589
|
+
"line": 1480,
|
|
12369
11590
|
"description": "Pop object from array or nil if none are left. Works just like `pop()` but\nit is KVO-compliant.\n\n```javascript\nlet colors = ['red', 'green', 'blue'];\n\ncolors.popObject(); // 'blue'\nconsole.log(colors); // ['red', 'green']\n```",
|
|
12370
11591
|
"itemtype": "method",
|
|
12371
11592
|
"name": "popObject",
|
|
@@ -12379,7 +11600,7 @@
|
|
|
12379
11600
|
},
|
|
12380
11601
|
{
|
|
12381
11602
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12382
|
-
"line":
|
|
11603
|
+
"line": 1506,
|
|
12383
11604
|
"description": "Shift an object from start of array or nil if none are left. Works just\nlike `shift()` but it is KVO-compliant.\n\n```javascript\nlet colors = ['red', 'green', 'blue'];\n\ncolors.shiftObject(); // 'red'\nconsole.log(colors); // ['green', 'blue']\n```",
|
|
12384
11605
|
"itemtype": "method",
|
|
12385
11606
|
"name": "shiftObject",
|
|
@@ -12393,7 +11614,7 @@
|
|
|
12393
11614
|
},
|
|
12394
11615
|
{
|
|
12395
11616
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12396
|
-
"line":
|
|
11617
|
+
"line": 1531,
|
|
12397
11618
|
"description": "Unshift an object to start of array. Works just like `unshift()` but it is\nKVO-compliant.\n\n```javascript\nlet colors = ['red'];\n\ncolors.unshiftObject('yellow'); // ['yellow', 'red']\ncolors.unshiftObject(['black']); // [['black'], 'yellow', 'red']\n```",
|
|
12398
11619
|
"itemtype": "method",
|
|
12399
11620
|
"name": "unshiftObject",
|
|
@@ -12414,7 +11635,7 @@
|
|
|
12414
11635
|
},
|
|
12415
11636
|
{
|
|
12416
11637
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12417
|
-
"line":
|
|
11638
|
+
"line": 1551,
|
|
12418
11639
|
"description": "Adds the named objects to the beginning of the array. Defers notifying\nobservers until all objects have been added.\n\n```javascript\nlet colors = ['red'];\n\ncolors.unshiftObjects(['black', 'white']); // ['black', 'white', 'red']\ncolors.unshiftObjects('yellow'); // Type Error: 'undefined' is not a function\n```",
|
|
12419
11640
|
"itemtype": "method",
|
|
12420
11641
|
"name": "unshiftObjects",
|
|
@@ -12436,7 +11657,7 @@
|
|
|
12436
11657
|
},
|
|
12437
11658
|
{
|
|
12438
11659
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12439
|
-
"line":
|
|
11660
|
+
"line": 1572,
|
|
12440
11661
|
"description": "Reverse objects in the array. Works just like `reverse()` but it is\nKVO-compliant.",
|
|
12441
11662
|
"itemtype": "method",
|
|
12442
11663
|
"name": "reverseObjects",
|
|
@@ -12451,7 +11672,7 @@
|
|
|
12451
11672
|
},
|
|
12452
11673
|
{
|
|
12453
11674
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12454
|
-
"line":
|
|
11675
|
+
"line": 1591,
|
|
12455
11676
|
"description": "Replace all the receiver's content with content of the argument.\nIf argument is an empty array receiver will be cleared.\n\n```javascript\nlet colors = ['red', 'green', 'blue'];\n\ncolors.setObjects(['black', 'white']); // ['black', 'white']\ncolors.setObjects([]); // []\n```",
|
|
12456
11677
|
"itemtype": "method",
|
|
12457
11678
|
"name": "setObjects",
|
|
@@ -12473,7 +11694,7 @@
|
|
|
12473
11694
|
},
|
|
12474
11695
|
{
|
|
12475
11696
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12476
|
-
"line":
|
|
11697
|
+
"line": 1618,
|
|
12477
11698
|
"description": "Remove all occurrences of an object in the array.\n\n```javascript\nlet cities = ['Chicago', 'Berlin', 'Lima', 'Chicago'];\n\ncities.removeObject('Chicago'); // ['Berlin', 'Lima']\ncities.removeObject('Lima'); // ['Berlin']\ncities.removeObject('Tokyo') // ['Berlin']\n```",
|
|
12478
11699
|
"itemtype": "method",
|
|
12479
11700
|
"name": "removeObject",
|
|
@@ -12495,7 +11716,7 @@
|
|
|
12495
11716
|
},
|
|
12496
11717
|
{
|
|
12497
11718
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12498
|
-
"line":
|
|
11719
|
+
"line": 1646,
|
|
12499
11720
|
"description": "Removes each object in the passed array from the receiver.",
|
|
12500
11721
|
"itemtype": "method",
|
|
12501
11722
|
"name": "removeObjects",
|
|
@@ -12517,7 +11738,7 @@
|
|
|
12517
11738
|
},
|
|
12518
11739
|
{
|
|
12519
11740
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12520
|
-
"line":
|
|
11741
|
+
"line": 1663,
|
|
12521
11742
|
"description": "Push the object onto the end of the array if it is not already\npresent in the array.\n\n```javascript\nlet cities = ['Chicago', 'Berlin'];\n\ncities.addObject('Lima'); // ['Chicago', 'Berlin', 'Lima']\ncities.addObject('Berlin'); // ['Chicago', 'Berlin', 'Lima']\n```",
|
|
12522
11743
|
"itemtype": "method",
|
|
12523
11744
|
"name": "addObject",
|
|
@@ -12539,7 +11760,7 @@
|
|
|
12539
11760
|
},
|
|
12540
11761
|
{
|
|
12541
11762
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12542
|
-
"line":
|
|
11763
|
+
"line": 1689,
|
|
12543
11764
|
"description": "Adds each object in the passed array to the receiver.",
|
|
12544
11765
|
"itemtype": "method",
|
|
12545
11766
|
"name": "addObjects",
|
|
@@ -12561,7 +11782,7 @@
|
|
|
12561
11782
|
},
|
|
12562
11783
|
{
|
|
12563
11784
|
"file": "packages/@ember/-internals/runtime/lib/mixins/array.js",
|
|
12564
|
-
"line":
|
|
11785
|
+
"line": 1705,
|
|
12565
11786
|
"description": "Creates an `Ember.NativeArray` from an Array-like object.\nDoes not modify the original object's contents. `A()` is not needed if\n`EmberENV.EXTEND_PROTOTYPES` is `true` (the default value). However,\nit is recommended that you use `A()` when creating addons for\nember or when you can not guarantee that `EmberENV.EXTEND_PROTOTYPES`\nwill be `true`.\n\nExample\n\n```app/components/my-component.js\nimport Component from '@ember/component';\nimport { A } from '@ember/array';\n\nexport default Component.extend({\n tagName: 'ul',\n classNames: ['pagination'],\n\n init() {\n this._super(...arguments);\n\n if (!this.get('content')) {\n this.set('content', A());\n this.set('otherContent', A([1,2,3]));\n }\n }\n});\n```",
|
|
12566
11787
|
"itemtype": "method",
|
|
12567
11788
|
"name": "A",
|
|
@@ -13540,7 +12761,7 @@
|
|
|
13540
12761
|
},
|
|
13541
12762
|
{
|
|
13542
12763
|
"file": "packages/@ember/-internals/runtime/lib/mixins/target_action_support.js",
|
|
13543
|
-
"line":
|
|
12764
|
+
"line": 41,
|
|
13544
12765
|
"description": "Send an `action` with an `actionContext` to a `target`. The action, actionContext\nand target will be retrieved from properties of the object. For example:\n\n```javascript\nimport { alias } from '@ember/object/computed';\n\nApp.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {\n target: alias('controller'),\n action: 'save',\n actionContext: alias('context'),\n click() {\n this.triggerAction(); // Sends the `save` action, along with the current context\n // to the current controller\n }\n});\n```\n\nThe `target`, `action`, and `actionContext` can be provided as properties of\nan optional object argument to `triggerAction` as well.\n\n```javascript\nApp.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {\n click() {\n this.triggerAction({\n action: 'save',\n target: this.get('controller'),\n actionContext: this.get('context')\n }); // Sends the `save` action, along with the current context\n // to the current controller\n }\n});\n```\n\nThe `actionContext` defaults to the object you are mixing `TargetActionSupport` into.\nBut `target` and `action` must be specified either as properties or with the argument\nto `triggerAction`, or a combination:\n\n```javascript\nimport { alias } from '@ember/object/computed';\n\nApp.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {\n target: alias('controller'),\n click() {\n this.triggerAction({\n action: 'save'\n }); // Sends the `save` action, along with a reference to `this`,\n // to the current controller\n }\n});\n```",
|
|
13545
12766
|
"itemtype": "method",
|
|
13546
12767
|
"name": "triggerAction",
|
|
@@ -13563,7 +12784,7 @@
|
|
|
13563
12784
|
},
|
|
13564
12785
|
{
|
|
13565
12786
|
"file": "packages/@ember/-internals/runtime/lib/system/array_proxy.js",
|
|
13566
|
-
"line":
|
|
12787
|
+
"line": 141,
|
|
13567
12788
|
"description": "The content array. Must be an object that implements `Array` and/or\n`MutableArray.`",
|
|
13568
12789
|
"itemtype": "property",
|
|
13569
12790
|
"name": "content",
|
|
@@ -13575,7 +12796,7 @@
|
|
|
13575
12796
|
},
|
|
13576
12797
|
{
|
|
13577
12798
|
"file": "packages/@ember/-internals/runtime/lib/system/array_proxy.js",
|
|
13578
|
-
"line":
|
|
12799
|
+
"line": 150,
|
|
13579
12800
|
"description": "Should actually retrieve the object at the specified index from the\ncontent. You can override this method in subclasses to transform the\ncontent item to something new.\n\nThis method will only be called if content is non-`null`.",
|
|
13580
12801
|
"itemtype": "method",
|
|
13581
12802
|
"name": "objectAtContent",
|
|
@@ -13597,7 +12818,7 @@
|
|
|
13597
12818
|
},
|
|
13598
12819
|
{
|
|
13599
12820
|
"file": "packages/@ember/-internals/runtime/lib/system/array_proxy.js",
|
|
13600
|
-
"line":
|
|
12821
|
+
"line": 176,
|
|
13601
12822
|
"description": "Should actually replace the specified objects on the content array.\nYou can override this method in subclasses to transform the content item\ninto something new.\n\nThis method will only be called if content is non-`null`.",
|
|
13602
12823
|
"itemtype": "method",
|
|
13603
12824
|
"name": "replaceContent",
|
|
@@ -13629,7 +12850,7 @@
|
|
|
13629
12850
|
},
|
|
13630
12851
|
{
|
|
13631
12852
|
"file": "packages/@ember/-internals/runtime/lib/system/array_proxy.js",
|
|
13632
|
-
"line":
|
|
12853
|
+
"line": 346,
|
|
13633
12854
|
"description": "The array that the proxy pretends to be. In the default `ArrayProxy`\nimplementation, this and `content` are the same. Subclasses of `ArrayProxy`\ncan override this property to provide things like sorting and filtering.",
|
|
13634
12855
|
"itemtype": "property",
|
|
13635
12856
|
"name": "arrangedContent",
|
|
@@ -14213,7 +13434,6 @@
|
|
|
14213
13434
|
{
|
|
14214
13435
|
"file": "packages/@ember/-internals/utils/lib/guid.ts",
|
|
14215
13436
|
"line": 8,
|
|
14216
|
-
"description": "Previously we used `Ember.$.uuid`, however `$.uuid` has been removed from\njQuery master. We'll just bootstrap our own uuid now.",
|
|
14217
13437
|
"access": "private",
|
|
14218
13438
|
"tagname": "",
|
|
14219
13439
|
"return": {
|
|
@@ -14225,7 +13445,7 @@
|
|
|
14225
13445
|
},
|
|
14226
13446
|
{
|
|
14227
13447
|
"file": "packages/@ember/-internals/utils/lib/guid.ts",
|
|
14228
|
-
"line":
|
|
13448
|
+
"line": 14,
|
|
14229
13449
|
"description": "Generates a universally unique identifier. This method\nis used internally by Ember for assisting with\nthe generation of GUID's and other unique identifiers.",
|
|
14230
13450
|
"access": "public",
|
|
14231
13451
|
"tagname": "",
|
|
@@ -14238,7 +13458,7 @@
|
|
|
14238
13458
|
},
|
|
14239
13459
|
{
|
|
14240
13460
|
"file": "packages/@ember/-internals/utils/lib/guid.ts",
|
|
14241
|
-
"line":
|
|
13461
|
+
"line": 26,
|
|
14242
13462
|
"description": "Prefix used for guids through out Ember.",
|
|
14243
13463
|
"access": "private",
|
|
14244
13464
|
"tagname": "",
|
|
@@ -14251,7 +13471,7 @@
|
|
|
14251
13471
|
},
|
|
14252
13472
|
{
|
|
14253
13473
|
"file": "packages/@ember/-internals/utils/lib/guid.ts",
|
|
14254
|
-
"line":
|
|
13474
|
+
"line": 39,
|
|
14255
13475
|
"description": "A unique key used to assign guids and other private metadata to objects.\nIf you inspect an object in your browser debugger you will often see these.\nThey can be safely ignored.\n\nOn browsers that support it, these properties are added with enumeration\ndisabled so they won't show up when you iterate over your properties.",
|
|
14256
13476
|
"access": "private",
|
|
14257
13477
|
"tagname": "",
|
|
@@ -14264,7 +13484,7 @@
|
|
|
14264
13484
|
},
|
|
14265
13485
|
{
|
|
14266
13486
|
"file": "packages/@ember/-internals/utils/lib/guid.ts",
|
|
14267
|
-
"line":
|
|
13487
|
+
"line": 55,
|
|
14268
13488
|
"description": "Generates a new guid, optionally saving the guid to the object that you\npass in. You will rarely need to use this method. Instead you should\ncall `guidFor(obj)`, which return an existing guid if available.",
|
|
14269
13489
|
"access": "private",
|
|
14270
13490
|
"tagname": "",
|
|
@@ -14294,7 +13514,7 @@
|
|
|
14294
13514
|
},
|
|
14295
13515
|
{
|
|
14296
13516
|
"file": "packages/@ember/-internals/utils/lib/guid.ts",
|
|
14297
|
-
"line":
|
|
13517
|
+
"line": 83,
|
|
14298
13518
|
"description": "Returns a unique id for the object. If the object does not yet have a guid,\none will be assigned to it. You can call this on any object,\n`EmberObject`-based or not.\n\nYou can also use this method on DOM Element objects.",
|
|
14299
13519
|
"access": "public",
|
|
14300
13520
|
"tagname": "",
|
|
@@ -14481,153 +13701,6 @@
|
|
|
14481
13701
|
"module": "ember",
|
|
14482
13702
|
"namespace": "Ember"
|
|
14483
13703
|
},
|
|
14484
|
-
{
|
|
14485
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14486
|
-
"line": 143,
|
|
14487
|
-
"description": "Whether the `keyUp` event that triggers an `action` to be sent continues\npropagating to other views.\n\nBy default, when the user presses the return key on their keyboard and\nthe text field has an `action` set, the action will be sent to the view's\ncontroller and the key event will stop propagating.\n\nIf you would like parent views to receive the `keyUp` event even after an\naction has been dispatched, set `bubbles` to true.",
|
|
14488
|
-
"itemtype": "property",
|
|
14489
|
-
"name": "bubbles",
|
|
14490
|
-
"type": "Boolean",
|
|
14491
|
-
"default": "false",
|
|
14492
|
-
"access": "private",
|
|
14493
|
-
"tagname": "",
|
|
14494
|
-
"class": "Ember.TextSupport",
|
|
14495
|
-
"module": "ember",
|
|
14496
|
-
"namespace": "Ember"
|
|
14497
|
-
},
|
|
14498
|
-
{
|
|
14499
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14500
|
-
"line": 190,
|
|
14501
|
-
"description": "Allows you to specify a controller action to invoke when either the `enter`\nkey is pressed or, in the case of the field being a textarea, when a newline\nis inserted. To use this method, give your field an `insert-newline`\nattribute. The value of that attribute should be the name of the action\nin your controller that you wish to invoke.\n\nFor an example on how to use the `insert-newline` attribute, please\nreference the example near the top of this file.",
|
|
14502
|
-
"itemtype": "method",
|
|
14503
|
-
"name": "insertNewline",
|
|
14504
|
-
"params": [
|
|
14505
|
-
{
|
|
14506
|
-
"name": "event",
|
|
14507
|
-
"description": "",
|
|
14508
|
-
"type": "Event"
|
|
14509
|
-
}
|
|
14510
|
-
],
|
|
14511
|
-
"access": "private",
|
|
14512
|
-
"tagname": "",
|
|
14513
|
-
"class": "Ember.TextSupport",
|
|
14514
|
-
"module": "ember",
|
|
14515
|
-
"namespace": "Ember"
|
|
14516
|
-
},
|
|
14517
|
-
{
|
|
14518
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14519
|
-
"line": 209,
|
|
14520
|
-
"description": "Allows you to specify a controller action to invoke when the escape button\nis pressed. To use this method, give your field an `escape-press`\nattribute. The value of that attribute should be the name of the action\nin your controller that you wish to invoke.\n\nFor an example on how to use the `escape-press` attribute, please reference\nthe example near the top of this file.",
|
|
14521
|
-
"itemtype": "method",
|
|
14522
|
-
"name": "cancel",
|
|
14523
|
-
"params": [
|
|
14524
|
-
{
|
|
14525
|
-
"name": "event",
|
|
14526
|
-
"description": "",
|
|
14527
|
-
"type": "Event"
|
|
14528
|
-
}
|
|
14529
|
-
],
|
|
14530
|
-
"access": "private",
|
|
14531
|
-
"tagname": "",
|
|
14532
|
-
"class": "Ember.TextSupport",
|
|
14533
|
-
"module": "ember",
|
|
14534
|
-
"namespace": "Ember"
|
|
14535
|
-
},
|
|
14536
|
-
{
|
|
14537
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14538
|
-
"line": 226,
|
|
14539
|
-
"description": "Allows you to specify a controller action to invoke when a field receives\nfocus. To use this method, give your field a `focus-in` attribute. The value\nof that attribute should be the name of the action in your controller\nthat you wish to invoke.\n\nFor an example on how to use the `focus-in` attribute, please reference the\nexample near the top of this file.",
|
|
14540
|
-
"itemtype": "method",
|
|
14541
|
-
"name": "focusIn",
|
|
14542
|
-
"params": [
|
|
14543
|
-
{
|
|
14544
|
-
"name": "event",
|
|
14545
|
-
"description": "",
|
|
14546
|
-
"type": "Event"
|
|
14547
|
-
}
|
|
14548
|
-
],
|
|
14549
|
-
"access": "private",
|
|
14550
|
-
"tagname": "",
|
|
14551
|
-
"class": "Ember.TextSupport",
|
|
14552
|
-
"module": "ember",
|
|
14553
|
-
"namespace": "Ember"
|
|
14554
|
-
},
|
|
14555
|
-
{
|
|
14556
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14557
|
-
"line": 243,
|
|
14558
|
-
"description": "Allows you to specify a controller action to invoke when a field loses\nfocus. To use this method, give your field a `focus-out` attribute. The value\nof that attribute should be the name of the action in your controller\nthat you wish to invoke.\n\nFor an example on how to use the `focus-out` attribute, please reference the\nexample near the top of this file.",
|
|
14559
|
-
"itemtype": "method",
|
|
14560
|
-
"name": "focusOut",
|
|
14561
|
-
"params": [
|
|
14562
|
-
{
|
|
14563
|
-
"name": "event",
|
|
14564
|
-
"description": "",
|
|
14565
|
-
"type": "Event"
|
|
14566
|
-
}
|
|
14567
|
-
],
|
|
14568
|
-
"access": "private",
|
|
14569
|
-
"tagname": "",
|
|
14570
|
-
"class": "Ember.TextSupport",
|
|
14571
|
-
"module": "ember",
|
|
14572
|
-
"namespace": "Ember"
|
|
14573
|
-
},
|
|
14574
|
-
{
|
|
14575
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14576
|
-
"line": 261,
|
|
14577
|
-
"description": "Allows you to specify a controller action to invoke when a key is pressed.\nTo use this method, give your field a `key-press` attribute. The value of\nthat attribute should be the name of the action in your controller you\nthat wish to invoke.\n\nFor an example on how to use the `key-press` attribute, please reference the\nexample near the top of this file.",
|
|
14578
|
-
"itemtype": "method",
|
|
14579
|
-
"name": "keyPress",
|
|
14580
|
-
"params": [
|
|
14581
|
-
{
|
|
14582
|
-
"name": "event",
|
|
14583
|
-
"description": "",
|
|
14584
|
-
"type": "Event"
|
|
14585
|
-
}
|
|
14586
|
-
],
|
|
14587
|
-
"access": "private",
|
|
14588
|
-
"tagname": "",
|
|
14589
|
-
"class": "Ember.TextSupport",
|
|
14590
|
-
"module": "ember",
|
|
14591
|
-
"namespace": "Ember"
|
|
14592
|
-
},
|
|
14593
|
-
{
|
|
14594
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14595
|
-
"line": 278,
|
|
14596
|
-
"description": "Allows you to specify a controller action to invoke when a key-up event is\nfired. To use this method, give your field a `key-up` attribute. The value\nof that attribute should be the name of the action in your controller\nthat you wish to invoke.\n\nFor an example on how to use the `key-up` attribute, please reference the\nexample near the top of this file.",
|
|
14597
|
-
"itemtype": "method",
|
|
14598
|
-
"name": "keyUp",
|
|
14599
|
-
"params": [
|
|
14600
|
-
{
|
|
14601
|
-
"name": "event",
|
|
14602
|
-
"description": "",
|
|
14603
|
-
"type": "Event"
|
|
14604
|
-
}
|
|
14605
|
-
],
|
|
14606
|
-
"access": "private",
|
|
14607
|
-
"tagname": "",
|
|
14608
|
-
"class": "Ember.TextSupport",
|
|
14609
|
-
"module": "ember",
|
|
14610
|
-
"namespace": "Ember"
|
|
14611
|
-
},
|
|
14612
|
-
{
|
|
14613
|
-
"file": "packages/@ember/-internals/views/lib/mixins/text_support.js",
|
|
14614
|
-
"line": 296,
|
|
14615
|
-
"description": "Allows you to specify a controller action to invoke when a key-down event is\nfired. To use this method, give your field a `key-down` attribute. The value\nof that attribute should be the name of the action in your controller that\nyou wish to invoke.\n\nFor an example on how to use the `key-down` attribute, please reference the\nexample near the top of this file.",
|
|
14616
|
-
"itemtype": "method",
|
|
14617
|
-
"name": "keyDown",
|
|
14618
|
-
"params": [
|
|
14619
|
-
{
|
|
14620
|
-
"name": "event",
|
|
14621
|
-
"description": "",
|
|
14622
|
-
"type": "Event"
|
|
14623
|
-
}
|
|
14624
|
-
],
|
|
14625
|
-
"access": "private",
|
|
14626
|
-
"tagname": "",
|
|
14627
|
-
"class": "Ember.TextSupport",
|
|
14628
|
-
"module": "ember",
|
|
14629
|
-
"namespace": "Ember"
|
|
14630
|
-
},
|
|
14631
13704
|
{
|
|
14632
13705
|
"file": "packages/@ember/-internals/views/lib/mixins/view_support.js",
|
|
14633
13706
|
"line": 12,
|
|
@@ -14719,8 +13792,8 @@
|
|
|
14719
13792
|
"params": [
|
|
14720
13793
|
{
|
|
14721
13794
|
"name": "A",
|
|
14722
|
-
"description": "selector, element, HTML string
|
|
14723
|
-
"type": "String|DOMElement
|
|
13795
|
+
"description": "selector, element, HTML string",
|
|
13796
|
+
"type": "String|DOMElement"
|
|
14724
13797
|
}
|
|
14725
13798
|
],
|
|
14726
13799
|
"return": {
|
|
@@ -14839,7 +13912,7 @@
|
|
|
14839
13912
|
{
|
|
14840
13913
|
"file": "packages/@ember/-internals/views/lib/mixins/view_support.js",
|
|
14841
13914
|
"line": 346,
|
|
14842
|
-
"description": "Tag name for the view's outer element. The tag name is only used when an\nelement is first created. If you change the `tagName` for an element, you\nmust destroy and recreate the view element.\n\nBy default, the render buffer will use a `<div>` tag for views.\n\nIf the tagName is `''`, the view will be tagless, with no outer element.\nComponent properties that depend on the presence of an outer element, such\nas `classNameBindings` and `attributeBindings`, do not work with tagless\ncomponents. Tagless components cannot implement methods to handle events,\nand
|
|
13915
|
+
"description": "Tag name for the view's outer element. The tag name is only used when an\nelement is first created. If you change the `tagName` for an element, you\nmust destroy and recreate the view element.\n\nBy default, the render buffer will use a `<div>` tag for views.\n\nIf the tagName is `''`, the view will be tagless, with no outer element.\nComponent properties that depend on the presence of an outer element, such\nas `classNameBindings` and `attributeBindings`, do not work with tagless\ncomponents. Tagless components cannot implement methods to handle events,\nand their `element` property has a `null` value.",
|
|
14843
13916
|
"itemtype": "property",
|
|
14844
13917
|
"name": "tagName",
|
|
14845
13918
|
"type": "String",
|
|
@@ -15203,7 +14276,7 @@
|
|
|
15203
14276
|
{
|
|
15204
14277
|
"file": "packages/@ember/application/lib/application.js",
|
|
15205
14278
|
"line": 185,
|
|
15206
|
-
"description": "The root DOM element of the Application. This can be specified as an\nelement or a
|
|
14279
|
+
"description": "The root DOM element of the Application. This can be specified as an\nelement or a [selector string](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors#reference_table_of_selectors).\n\nThis is the element that will be passed to the Application's,\n`eventDispatcher`, which sets up the listeners for event delegation. Every\nview in your application should be a child of the element you specify here.",
|
|
15207
14280
|
"itemtype": "property",
|
|
15208
14281
|
"name": "rootElement",
|
|
15209
14282
|
"type": "DOMElement",
|
|
@@ -15215,7 +14288,7 @@
|
|
|
15215
14288
|
},
|
|
15216
14289
|
{
|
|
15217
14290
|
"file": "packages/@ember/application/lib/application.js",
|
|
15218
|
-
"line":
|
|
14291
|
+
"line": 200,
|
|
15219
14292
|
"itemtype": "property",
|
|
15220
14293
|
"name": "_document",
|
|
15221
14294
|
"type": "Document | null",
|
|
@@ -15227,7 +14300,7 @@
|
|
|
15227
14300
|
},
|
|
15228
14301
|
{
|
|
15229
14302
|
"file": "packages/@ember/application/lib/application.js",
|
|
15230
|
-
"line":
|
|
14303
|
+
"line": 209,
|
|
15231
14304
|
"description": "The `Ember.EventDispatcher` responsible for delegating events to this\napplication's views.\n\nThe event dispatcher is created by the application at initialization time\nand sets up event listeners on the DOM element described by the\napplication's `rootElement` property.\n\nSee the documentation for `Ember.EventDispatcher` for more information.",
|
|
15232
14305
|
"itemtype": "property",
|
|
15233
14306
|
"name": "eventDispatcher",
|
|
@@ -15240,7 +14313,7 @@
|
|
|
15240
14313
|
},
|
|
15241
14314
|
{
|
|
15242
14315
|
"file": "packages/@ember/application/lib/application.js",
|
|
15243
|
-
"line":
|
|
14316
|
+
"line": 226,
|
|
15244
14317
|
"description": "The DOM events for which the event dispatcher should listen.\n\nBy default, the application's `Ember.EventDispatcher` listens\nfor a set of standard DOM events, such as `mousedown` and\n`keyup`, and delegates them to your application's `Ember.View`\ninstances.\n\nIf you would like additional bubbling events to be delegated to your\nviews, set your `Application`'s `customEvents` property\nto a hash containing the DOM event name as the key and the\ncorresponding view method name as the value. Setting an event to\na value of `null` will prevent a default event listener from being\nadded for that event.\n\nTo add new events to be listened to:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n customEvents: {\n // add support for the paste event\n paste: 'paste'\n }\n});\n```\n\nTo prevent default events from being listened to:\n\n```app/app.js\nimport Application from '@ember/application';\n\nlet App = Application.extend({\n customEvents: {\n // remove support for mouseenter / mouseleave events\n mouseenter: null,\n mouseleave: null\n }\n});\n```",
|
|
15245
14318
|
"itemtype": "property",
|
|
15246
14319
|
"name": "customEvents",
|
|
@@ -15253,7 +14326,7 @@
|
|
|
15253
14326
|
},
|
|
15254
14327
|
{
|
|
15255
14328
|
"file": "packages/@ember/application/lib/application.js",
|
|
15256
|
-
"line":
|
|
14329
|
+
"line": 274,
|
|
15257
14330
|
"description": "Whether the application should automatically start routing and render\ntemplates to the `rootElement` on DOM ready. While default by true,\nother environments such as FastBoot or a testing harness can set this\nproperty to `false` and control the precise timing and behavior of the boot\nprocess.",
|
|
15258
14331
|
"itemtype": "property",
|
|
15259
14332
|
"name": "autoboot",
|
|
@@ -15266,7 +14339,7 @@
|
|
|
15266
14339
|
},
|
|
15267
14340
|
{
|
|
15268
14341
|
"file": "packages/@ember/application/lib/application.js",
|
|
15269
|
-
"line":
|
|
14342
|
+
"line": 288,
|
|
15270
14343
|
"description": "Whether the application should be configured for the legacy \"globals mode\".\nUnder this mode, the Application object serves as a global namespace for all\nclasses.\n\n```javascript\nimport Application from '@ember/application';\nimport Component from '@ember/component';\n\nlet App = Application.create({\n ...\n});\n\nApp.Router.reopen({\n location: 'none'\n});\n\nApp.Router.map({\n ...\n});\n\nApp.MyComponent = Component.extend({\n ...\n});\n```\n\nThis flag also exposes other internal APIs that assumes the existence of\na special \"default instance\", like `App.__container__.lookup(...)`.\n\nThis option is currently not configurable, its value is derived from\nthe `autoboot` flag – disabling `autoboot` also implies opting-out of\nglobals mode support, although they are ultimately orthogonal concerns.\n\nSome of the global modes features are already deprecated in 1.x. The\nexistence of this flag is to untangle the globals mode code paths from\nthe autoboot code paths, so that these legacy features can be reviewed\nfor deprecation/removal separately.\n\nForcing the (autoboot=true, _globalsMode=false) here and running the tests\nwould reveal all the places where we are still relying on these legacy\nbehavior internally (mostly just tests).",
|
|
15271
14344
|
"itemtype": "property",
|
|
15272
14345
|
"name": "_globalsMode",
|
|
@@ -15279,7 +14352,7 @@
|
|
|
15279
14352
|
},
|
|
15280
14353
|
{
|
|
15281
14354
|
"file": "packages/@ember/application/lib/application.js",
|
|
15282
|
-
"line":
|
|
14355
|
+
"line": 337,
|
|
15283
14356
|
"description": "An array of application instances created by `buildInstance()`. Used\ninternally to ensure that all instances get destroyed.",
|
|
15284
14357
|
"itemtype": "property",
|
|
15285
14358
|
"name": "_applicationInstances",
|
|
@@ -15292,7 +14365,7 @@
|
|
|
15292
14365
|
},
|
|
15293
14366
|
{
|
|
15294
14367
|
"file": "packages/@ember/application/lib/application.js",
|
|
15295
|
-
"line":
|
|
14368
|
+
"line": 377,
|
|
15296
14369
|
"description": "Create an ApplicationInstance for this application.",
|
|
15297
14370
|
"access": "public",
|
|
15298
14371
|
"tagname": "",
|
|
@@ -15307,7 +14380,7 @@
|
|
|
15307
14380
|
},
|
|
15308
14381
|
{
|
|
15309
14382
|
"file": "packages/@ember/application/lib/application.js",
|
|
15310
|
-
"line":
|
|
14383
|
+
"line": 400,
|
|
15311
14384
|
"description": "Start tracking an ApplicationInstance for this application.\nUsed when the ApplicationInstance is created.",
|
|
15312
14385
|
"access": "private",
|
|
15313
14386
|
"tagname": "",
|
|
@@ -15318,7 +14391,7 @@
|
|
|
15318
14391
|
},
|
|
15319
14392
|
{
|
|
15320
14393
|
"file": "packages/@ember/application/lib/application.js",
|
|
15321
|
-
"line":
|
|
14394
|
+
"line": 411,
|
|
15322
14395
|
"description": "Stop tracking an ApplicationInstance for this application.\nUsed when the ApplicationInstance is about to be destroyed.",
|
|
15323
14396
|
"access": "private",
|
|
15324
14397
|
"tagname": "",
|
|
@@ -15329,7 +14402,7 @@
|
|
|
15329
14402
|
},
|
|
15330
14403
|
{
|
|
15331
14404
|
"file": "packages/@ember/application/lib/application.js",
|
|
15332
|
-
"line":
|
|
14405
|
+
"line": 422,
|
|
15333
14406
|
"description": "Enable the legacy globals mode by allowing this application to act\nas a global namespace. See the docs on the `_globalsMode` property\nfor details.\n\nMost of these features are already deprecated in 1.x, so we can\nstop using them internally and try to remove them.",
|
|
15334
14407
|
"access": "private",
|
|
15335
14408
|
"tagname": "",
|
|
@@ -15340,7 +14413,7 @@
|
|
|
15340
14413
|
},
|
|
15341
14414
|
{
|
|
15342
14415
|
"file": "packages/@ember/application/lib/application.js",
|
|
15343
|
-
"line":
|
|
14416
|
+
"line": 466,
|
|
15344
14417
|
"description": "Automatically kick-off the boot process for the application once the\nDOM has become ready.\n\nThe initialization itself is scheduled on the actions queue which\nensures that code-loading finishes before booting.\n\nIf you are asynchronously loading code, you should call `deferReadiness()`\nto defer booting, and then call `advanceReadiness()` once all of your code\nhas finished loading.",
|
|
15345
14418
|
"access": "private",
|
|
15346
14419
|
"tagname": "",
|
|
@@ -15351,7 +14424,7 @@
|
|
|
15351
14424
|
},
|
|
15352
14425
|
{
|
|
15353
14426
|
"file": "packages/@ember/application/lib/application.js",
|
|
15354
|
-
"line":
|
|
14427
|
+
"line": 493,
|
|
15355
14428
|
"description": "This is the autoboot flow:\n\n1. Boot the app by calling `this.boot()`\n2. Create an instance (or use the `__deprecatedInstance__` in globals mode)\n3. Boot the instance by calling `instance.boot()`\n4. Invoke the `App.ready()` callback\n5. Kick-off routing on the instance\n\nIdeally, this is all we would need to do:\n\n```javascript\n_autoBoot() {\n this.boot().then(() => {\n let instance = (this._globalsMode) ? this.__deprecatedInstance__ : this.buildInstance();\n return instance.boot();\n }).then((instance) => {\n App.ready();\n instance.startRouting();\n });\n}\n```\n\nUnfortunately, we cannot actually write this because we need to participate\nin the \"synchronous\" boot process. While the code above would work fine on\nthe initial boot (i.e. DOM ready), when `App.reset()` is called, we need to\nboot a new instance synchronously (see the documentation on `_bootSync()`\nfor details).\n\nBecause of this restriction, the actual logic of this method is located\ninside `didBecomeReady()`.",
|
|
15356
14429
|
"access": "private",
|
|
15357
14430
|
"tagname": "",
|
|
@@ -15362,8 +14435,8 @@
|
|
|
15362
14435
|
},
|
|
15363
14436
|
{
|
|
15364
14437
|
"file": "packages/@ember/application/lib/application.js",
|
|
15365
|
-
"line":
|
|
15366
|
-
"description": "Use this to defer readiness until some condition is true.\n\nExample:\n\n```javascript\nimport Application from '@ember/application';\n\nlet App = Application.create();\n\nApp.deferReadiness();\n\
|
|
14438
|
+
"line": 538,
|
|
14439
|
+
"description": "Use this to defer readiness until some condition is true.\n\nExample:\n\n```javascript\nimport Application from '@ember/application';\n\nlet App = Application.create();\n\nApp.deferReadiness();\n\nfetch('/auth-token')\n.then(response => response.json())\n.then(data => {\n App.token = data.token;\n App.advanceReadiness();\n});\n```\n\nThis allows you to perform asynchronous setup logic and defer\nbooting your application until the setup has finished.\n\nHowever, if the setup requires a loading UI, it might be better\nto use the router for this purpose.",
|
|
15367
14440
|
"itemtype": "method",
|
|
15368
14441
|
"name": "deferReadiness",
|
|
15369
14442
|
"access": "public",
|
|
@@ -15373,7 +14446,7 @@
|
|
|
15373
14446
|
},
|
|
15374
14447
|
{
|
|
15375
14448
|
"file": "packages/@ember/application/lib/application.js",
|
|
15376
|
-
"line":
|
|
14449
|
+
"line": 588,
|
|
15377
14450
|
"description": "Call `advanceReadiness` after any asynchronous setup logic has completed.\nEach call to `deferReadiness` must be matched by a call to `advanceReadiness`\nor the application will never become ready and routing will not begin.",
|
|
15378
14451
|
"itemtype": "method",
|
|
15379
14452
|
"name": "advanceReadiness",
|
|
@@ -15387,7 +14460,7 @@
|
|
|
15387
14460
|
},
|
|
15388
14461
|
{
|
|
15389
14462
|
"file": "packages/@ember/application/lib/application.js",
|
|
15390
|
-
"line":
|
|
14463
|
+
"line": 625,
|
|
15391
14464
|
"description": "Initialize the application and return a promise that resolves with the `Application`\nobject when the boot process is complete.\n\nRun any application initializers and run the application load hook. These hooks may\nchoose to defer readiness. For example, an authentication hook might want to defer\nreadiness until the auth token has been retrieved.\n\nBy default, this method is called automatically on \"DOM ready\"; however, if autoboot\nis disabled, this is automatically called when the first application instance is\ncreated via `visit`.",
|
|
15392
14465
|
"access": "public",
|
|
15393
14466
|
"tagname": "",
|
|
@@ -15402,7 +14475,7 @@
|
|
|
15402
14475
|
},
|
|
15403
14476
|
{
|
|
15404
14477
|
"file": "packages/@ember/application/lib/application.js",
|
|
15405
|
-
"line":
|
|
14478
|
+
"line": 663,
|
|
15406
14479
|
"description": "Unfortunately, a lot of existing code assumes the booting process is\n\"synchronous\". Specifically, a lot of tests assumes the last call to\n`app.advanceReadiness()` or `app.reset()` will result in the app being\nfully-booted when the current runloop completes.\n\nWe would like new code (like the `visit` API) to stop making this assumption,\nso we created the asynchronous version above that returns a promise. But until\nwe have migrated all the code, we would have to expose this method for use\n*internally* in places where we need to boot an app \"synchronously\".",
|
|
15407
14480
|
"access": "private",
|
|
15408
14481
|
"tagname": "",
|
|
@@ -15411,7 +14484,7 @@
|
|
|
15411
14484
|
},
|
|
15412
14485
|
{
|
|
15413
14486
|
"file": "packages/@ember/application/lib/application.js",
|
|
15414
|
-
"line":
|
|
14487
|
+
"line": 702,
|
|
15415
14488
|
"description": "Reset the application. This is typically used only in tests. It cleans up\nthe application in the following order:\n\n1. Deactivate existing routes\n2. Destroy all objects in the container\n3. Create a new application container\n4. Re-route to the existing url\n\nTypical Example:\n\n```javascript\nimport Application from '@ember/application';\nlet App;\n\nrun(function() {\n App = Application.create();\n});\n\nmodule('acceptance test', {\n setup: function() {\n App.reset();\n }\n});\n\ntest('first test', function() {\n // App is freshly reset\n});\n\ntest('second test', function() {\n // App is again freshly reset\n});\n```\n\nAdvanced Example:\n\nOccasionally you may want to prevent the app from initializing during\nsetup. This could enable extra configuration, or enable asserting prior\nto the app becoming ready.\n\n```javascript\nimport Application from '@ember/application';\nlet App;\n\nrun(function() {\n App = Application.create();\n});\n\nmodule('acceptance test', {\n setup: function() {\n run(function() {\n App.reset();\n App.deferReadiness();\n });\n }\n});\n\ntest('first test', function() {\n ok(true, 'something before app is initialized');\n\n run(function() {\n App.advanceReadiness();\n });\n\n ok(true, 'something after app is initialized');\n});\n```",
|
|
15416
14489
|
"itemtype": "method",
|
|
15417
14490
|
"name": "reset",
|
|
@@ -15422,7 +14495,7 @@
|
|
|
15422
14495
|
},
|
|
15423
14496
|
{
|
|
15424
14497
|
"file": "packages/@ember/application/lib/application.js",
|
|
15425
|
-
"line":
|
|
14498
|
+
"line": 805,
|
|
15426
14499
|
"access": "private",
|
|
15427
14500
|
"tagname": "",
|
|
15428
14501
|
"itemtype": "method",
|
|
@@ -15432,7 +14505,7 @@
|
|
|
15432
14505
|
},
|
|
15433
14506
|
{
|
|
15434
14507
|
"file": "packages/@ember/application/lib/application.js",
|
|
15435
|
-
"line":
|
|
14508
|
+
"line": 855,
|
|
15436
14509
|
"description": "Called when the Application has become ready, immediately before routing\nbegins. The call will be delayed until the DOM has become ready.",
|
|
15437
14510
|
"itemtype": "event",
|
|
15438
14511
|
"name": "ready",
|
|
@@ -15443,8 +14516,8 @@
|
|
|
15443
14516
|
},
|
|
15444
14517
|
{
|
|
15445
14518
|
"file": "packages/@ember/application/lib/application.js",
|
|
15446
|
-
"line":
|
|
15447
|
-
"description": "Boot a new instance of `ApplicationInstance` for the current\napplication and navigate it to the given `url`. Returns a `Promise` that\nresolves with the instance when the initial routing and rendering is\ncomplete, or rejects with any error that occurred during the boot process.\n\nWhen `autoboot` is disabled, calling `visit` would first cause the\napplication to boot, which runs the application initializers.\n\nThis method also takes a hash of boot-time configuration options for\ncustomizing the instance's behavior. See the documentation on\n`ApplicationInstance.BootOptions` for details.\n\n`ApplicationInstance.BootOptions` is an interface class that exists\npurely to document the available options; you do not need to construct it\nmanually. Simply pass a regular JavaScript object containing of the\ndesired options:\n\n```javascript\nMyApp.visit(\"/\", { location: \"none\", rootElement: \"#container\" });\n```\n\n### Supported Scenarios\n\nWhile the `BootOptions` class exposes a large number of knobs, not all\ncombinations of them are valid; certain incompatible combinations might\nresult in unexpected behavior.\n\nFor example, booting the instance in the full browser environment\nwhile specifying a foreign `document` object (e.g. `{ isBrowser: true,\ndocument: iframe.contentDocument }`) does not work correctly today,\nlargely due to Ember's jQuery dependency.\n\nCurrently, there are three officially supported scenarios/configurations.\nUsages outside of these scenarios are not guaranteed to work, but please\nfeel free to file bug reports documenting your experience and any issues\nyou encountered to help expand support.\n\n#### Browser Applications (Manual Boot)\n\nThe setup is largely similar to how Ember works out-of-the-box. Normally,\nEmber will boot a default instance for your Application on \"DOM ready\".\nHowever, you can customize this behavior by disabling `autoboot`.\n\nFor example, this allows you to render a miniture demo of your application\ninto a specific area on your marketing website:\n\n```javascript\nimport MyApp from 'my-app';\n\n$(function() {\n let App = MyApp.create({ autoboot: false });\n\n let options = {\n // Override the router's location adapter to prevent it from updating\n // the URL in the address bar\n location: 'none',\n\n // Override the default `rootElement` on the app to render into a\n // specific `div` on the page\n rootElement: '#demo'\n };\n\n // Start the app at the special demo URL\n App.visit('/demo', options);\n});\n```\n\nOr perhaps you might want to boot two instances of your app on the same\npage for a split-screen multiplayer experience:\n\n```javascript\nimport MyApp from 'my-app';\n\n$(function() {\n let App = MyApp.create({ autoboot: false });\n\n let sessionId = MyApp.generateSessionID();\n\n let player1 = App.visit(`/matches/join?name=Player+1&session=${sessionId}`, { rootElement: '#left', location: 'none' });\n let player2 = App.visit(`/matches/join?name=Player+2&session=${sessionId}`, { rootElement: '#right', location: 'none' });\n\n Promise.all([player1, player2]).then(() => {\n // Both apps have completed the initial render\n $('#loading').fadeOut();\n });\n});\n```\n\nDo note that each app instance maintains their own registry/container, so\nthey will run in complete isolation by default.\n\n#### Server-Side Rendering (also known as FastBoot)\n\nThis setup allows you to run your Ember app in a server environment using\nNode.js and render its content into static HTML for SEO purposes.\n\n```javascript\nconst HTMLSerializer = new SimpleDOM.HTMLSerializer(SimpleDOM.voidMap);\n\nfunction renderURL(url) {\n let dom = new SimpleDOM.Document();\n let rootElement = dom.body;\n let options = { isBrowser: false, document: dom, rootElement: rootElement };\n\n return MyApp.visit(options).then(instance => {\n try {\n return HTMLSerializer.serialize(rootElement.firstChild);\n } finally {\n instance.destroy();\n }\n });\n}\n```\n\nIn this scenario, because Ember does not have access to a global `document`\nobject in the Node.js environment, you must provide one explicitly. In practice,\nin the non-browser environment, the stand-in `document` object only needs to\nimplement a limited subset of the full DOM API. The `SimpleDOM` library is known\nto work.\n\nSince there is no access
|
|
14519
|
+
"line": 880,
|
|
14520
|
+
"description": "Boot a new instance of `ApplicationInstance` for the current\napplication and navigate it to the given `url`. Returns a `Promise` that\nresolves with the instance when the initial routing and rendering is\ncomplete, or rejects with any error that occurred during the boot process.\n\nWhen `autoboot` is disabled, calling `visit` would first cause the\napplication to boot, which runs the application initializers.\n\nThis method also takes a hash of boot-time configuration options for\ncustomizing the instance's behavior. See the documentation on\n`ApplicationInstance.BootOptions` for details.\n\n`ApplicationInstance.BootOptions` is an interface class that exists\npurely to document the available options; you do not need to construct it\nmanually. Simply pass a regular JavaScript object containing of the\ndesired options:\n\n```javascript\nMyApp.visit(\"/\", { location: \"none\", rootElement: \"#container\" });\n```\n\n### Supported Scenarios\n\nWhile the `BootOptions` class exposes a large number of knobs, not all\ncombinations of them are valid; certain incompatible combinations might\nresult in unexpected behavior.\n\nFor example, booting the instance in the full browser environment\nwhile specifying a foreign `document` object (e.g. `{ isBrowser: true,\ndocument: iframe.contentDocument }`) does not work correctly today,\nlargely due to Ember's jQuery dependency.\n\nCurrently, there are three officially supported scenarios/configurations.\nUsages outside of these scenarios are not guaranteed to work, but please\nfeel free to file bug reports documenting your experience and any issues\nyou encountered to help expand support.\n\n#### Browser Applications (Manual Boot)\n\nThe setup is largely similar to how Ember works out-of-the-box. Normally,\nEmber will boot a default instance for your Application on \"DOM ready\".\nHowever, you can customize this behavior by disabling `autoboot`.\n\nFor example, this allows you to render a miniture demo of your application\ninto a specific area on your marketing website:\n\n```javascript\nimport MyApp from 'my-app';\n\n$(function() {\n let App = MyApp.create({ autoboot: false });\n\n let options = {\n // Override the router's location adapter to prevent it from updating\n // the URL in the address bar\n location: 'none',\n\n // Override the default `rootElement` on the app to render into a\n // specific `div` on the page\n rootElement: '#demo'\n };\n\n // Start the app at the special demo URL\n App.visit('/demo', options);\n});\n```\n\nOr perhaps you might want to boot two instances of your app on the same\npage for a split-screen multiplayer experience:\n\n```javascript\nimport MyApp from 'my-app';\n\n$(function() {\n let App = MyApp.create({ autoboot: false });\n\n let sessionId = MyApp.generateSessionID();\n\n let player1 = App.visit(`/matches/join?name=Player+1&session=${sessionId}`, { rootElement: '#left', location: 'none' });\n let player2 = App.visit(`/matches/join?name=Player+2&session=${sessionId}`, { rootElement: '#right', location: 'none' });\n\n Promise.all([player1, player2]).then(() => {\n // Both apps have completed the initial render\n $('#loading').fadeOut();\n });\n});\n```\n\nDo note that each app instance maintains their own registry/container, so\nthey will run in complete isolation by default.\n\n#### Server-Side Rendering (also known as FastBoot)\n\nThis setup allows you to run your Ember app in a server environment using\nNode.js and render its content into static HTML for SEO purposes.\n\n```javascript\nconst HTMLSerializer = new SimpleDOM.HTMLSerializer(SimpleDOM.voidMap);\n\nfunction renderURL(url) {\n let dom = new SimpleDOM.Document();\n let rootElement = dom.body;\n let options = { isBrowser: false, document: dom, rootElement: rootElement };\n\n return MyApp.visit(options).then(instance => {\n try {\n return HTMLSerializer.serialize(rootElement.firstChild);\n } finally {\n instance.destroy();\n }\n });\n}\n```\n\nIn this scenario, because Ember does not have access to a global `document`\nobject in the Node.js environment, you must provide one explicitly. In practice,\nin the non-browser environment, the stand-in `document` object only needs to\nimplement a limited subset of the full DOM API. The `SimpleDOM` library is known\nto work.\n\nSince there is no DOM access in the non-browser environment, you must also\nspecify a DOM `Element` object in the same `document` for the `rootElement` option\n(as opposed to a selector string like `\"body\"`).\n\nSee the documentation on the `isBrowser`, `document` and `rootElement` properties\non `ApplicationInstance.BootOptions` for details.\n\n#### Server-Side Resource Discovery\n\nThis setup allows you to run the routing layer of your Ember app in a server\nenvironment using Node.js and completely disable rendering. This allows you\nto simulate and discover the resources (i.e. AJAX requests) needed to fulfill\na given request and eagerly \"push\" these resources to the client.\n\n```app/initializers/network-service.js\nimport BrowserNetworkService from 'app/services/network/browser';\nimport NodeNetworkService from 'app/services/network/node';\n\n// Inject a (hypothetical) service for abstracting all AJAX calls and use\n// the appropriate implementation on the client/server. This also allows the\n// server to log all the AJAX calls made during a particular request and use\n// that for resource-discovery purpose.\n\nexport function initialize(application) {\n if (window) { // browser\n application.register('service:network', BrowserNetworkService);\n } else { // node\n application.register('service:network', NodeNetworkService);\n }\n};\n\nexport default {\n name: 'network-service',\n initialize: initialize\n};\n```\n\n```app/routes/post.js\nimport Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\n// An example of how the (hypothetical) service is used in routes.\n\nexport default class IndexRoute extends Route {\n @service network;\n\n model(params) {\n return this.network.fetch(`/api/posts/${params.post_id}.json`);\n }\n\n afterModel(post) {\n if (post.isExternalContent) {\n return this.network.fetch(`/api/external/?url=${post.externalURL}`);\n } else {\n return post;\n }\n }\n}\n```\n\n```javascript\n// Finally, put all the pieces together\n\nfunction discoverResourcesFor(url) {\n return MyApp.visit(url, { isBrowser: false, shouldRender: false }).then(instance => {\n let networkService = instance.lookup('service:network');\n return networkService.requests; // => { \"/api/posts/123.json\": \"...\" }\n });\n}\n```",
|
|
15448
14521
|
"access": "public",
|
|
15449
14522
|
"tagname": "",
|
|
15450
14523
|
"itemtype": "method",
|
|
@@ -15470,7 +14543,7 @@
|
|
|
15470
14543
|
},
|
|
15471
14544
|
{
|
|
15472
14545
|
"file": "packages/@ember/application/lib/application.js",
|
|
15473
|
-
"line":
|
|
14546
|
+
"line": 1101,
|
|
15474
14547
|
"description": "This creates a registry with the default Ember naming conventions.\n\nIt also configures the registry:\n\n* registered views are created every time they are looked up (they are\n not singletons)\n* registered templates are not factories; the registered value is\n returned directly.\n* the router receives the application as its `namespace` property\n* all controllers receive the router as their `target` and `controllers`\n properties\n* all controllers receive the application as their `namespace` property\n* the application view receives the application controller as its\n `controller` property\n* the application view receives the application template as its\n `defaultTemplate` property",
|
|
15475
14548
|
"itemtype": "method",
|
|
15476
14549
|
"name": "buildRegistry",
|
|
@@ -15797,7 +14870,7 @@
|
|
|
15797
14870
|
},
|
|
15798
14871
|
{
|
|
15799
14872
|
"file": "packages/@ember/canary-features/index.ts",
|
|
15800
|
-
"line":
|
|
14873
|
+
"line": 36,
|
|
15801
14874
|
"description": "Determine whether the specified `feature` is enabled. Used by Ember's\nbuild tools to exclude experimental features from beta/stable builds.\n\nYou can define the following configuration options:\n\n* `EmberENV.ENABLE_OPTIONAL_FEATURES` - enable any features that have not been explicitly\n enabled/disabled.",
|
|
15802
14875
|
"itemtype": "method",
|
|
15803
14876
|
"name": "isEnabled",
|
|
@@ -16474,7 +15547,7 @@
|
|
|
16474
15547
|
{
|
|
16475
15548
|
"file": "packages/@ember/engine/index.js",
|
|
16476
15549
|
"line": 305,
|
|
16477
|
-
"description": "Instance initializers run after all initializers have run. Because\ninstance initializers run after the app is fully set up. We have access\nto the store, container, and other items. However, these initializers run\nafter code has loaded and are not allowed to defer readiness.\n\nInstance initializer receives an object which has the following attributes:\n`name`, `before`, `after`, `initialize`. The only required attribute is\n`initialize`, all others are optional.\n\n* `name` allows you to specify under which name the instanceInitializer is\nregistered. This must be a unique name, as trying to register two\ninstanceInitializer with the same name will result in an error.\n\n```app/initializer/named-instance-initializer.js\nimport { debug } from '@ember/debug';\n\nexport function initialize() {\n debug('Running named-instance-initializer!');\n}\n\nexport default {\n name: 'named-instance-initializer',\n initialize\n};\n```\n\n* `before` and `after` are used to ensure that this initializer is ran prior\nor after the one identified by the value. This value can be a single string\nor an array of strings, referencing the `name` of other initializers.\n\n* See Application.initializer for discussion on the usage of before\nand after.\n\nExample instanceInitializer to preload data into the store.\n\n```app/initializer/preload-data.js\
|
|
15550
|
+
"description": "Instance initializers run after all initializers have run. Because\ninstance initializers run after the app is fully set up. We have access\nto the store, container, and other items. However, these initializers run\nafter code has loaded and are not allowed to defer readiness.\n\nInstance initializer receives an object which has the following attributes:\n`name`, `before`, `after`, `initialize`. The only required attribute is\n`initialize`, all others are optional.\n\n* `name` allows you to specify under which name the instanceInitializer is\nregistered. This must be a unique name, as trying to register two\ninstanceInitializer with the same name will result in an error.\n\n```app/initializer/named-instance-initializer.js\nimport { debug } from '@ember/debug';\n\nexport function initialize() {\n debug('Running named-instance-initializer!');\n}\n\nexport default {\n name: 'named-instance-initializer',\n initialize\n};\n```\n\n* `before` and `after` are used to ensure that this initializer is ran prior\nor after the one identified by the value. This value can be a single string\nor an array of strings, referencing the `name` of other initializers.\n\n* See Application.initializer for discussion on the usage of before\nand after.\n\nExample instanceInitializer to preload data into the store.\n\n```app/initializer/preload-data.js\n\nexport function initialize(application) {\n var userConfig, userConfigEncoded, store;\n // We have a HTML escaped JSON representation of the user's basic\n // configuration generated server side and stored in the DOM of the main\n // index.html file. This allows the app to have access to a set of data\n // without making any additional remote calls. Good for basic data that is\n // needed for immediate rendering of the page. Keep in mind, this data,\n // like all local models and data can be manipulated by the user, so it\n // should not be relied upon for security or authorization.\n\n // Grab the encoded data from the meta tag\n userConfigEncoded = document.querySelector('head meta[name=app-user-config]').attr('content');\n\n // Unescape the text, then parse the resulting JSON into a real object\n userConfig = JSON.parse(unescape(userConfigEncoded));\n\n // Lookup the store\n store = application.lookup('service:store');\n\n // Push the encoded JSON into the store\n store.pushPayload(userConfig);\n}\n\nexport default {\n name: 'named-instance-initializer',\n initialize\n};\n```",
|
|
16478
15551
|
"itemtype": "method",
|
|
16479
15552
|
"name": "instanceInitializer",
|
|
16480
15553
|
"params": [
|
|
@@ -16490,7 +15563,7 @@
|
|
|
16490
15563
|
},
|
|
16491
15564
|
{
|
|
16492
15565
|
"file": "packages/@ember/engine/index.js",
|
|
16493
|
-
"line":
|
|
15566
|
+
"line": 378,
|
|
16494
15567
|
"description": "This creates a registry with the default Ember naming conventions.\n\nIt also configures the registry:\n\n* registered views are created every time they are looked up (they are\n not singletons)\n* registered templates are not factories; the registered value is\n returned directly.\n* the router receives the application as its `namespace` property\n* all controllers receive the router as their `target` and `controllers`\n properties\n* all controllers receive the application as their `namespace` property\n* the application view receives the application controller as its\n `controller` property\n* the application view receives the application template as its\n `defaultTemplate` property",
|
|
16495
15568
|
"itemtype": "method",
|
|
16496
15569
|
"name": "buildRegistry",
|
|
@@ -16513,7 +15586,7 @@
|
|
|
16513
15586
|
},
|
|
16514
15587
|
{
|
|
16515
15588
|
"file": "packages/@ember/engine/index.js",
|
|
16516
|
-
"line":
|
|
15589
|
+
"line": 418,
|
|
16517
15590
|
"description": "Set this to provide an alternate class to `DefaultResolver`",
|
|
16518
15591
|
"itemtype": "property",
|
|
16519
15592
|
"name": "resolver",
|
|
@@ -16524,7 +15597,7 @@
|
|
|
16524
15597
|
},
|
|
16525
15598
|
{
|
|
16526
15599
|
"file": "packages/@ember/engine/index.js",
|
|
16527
|
-
"line":
|
|
15600
|
+
"line": 427,
|
|
16528
15601
|
"description": "This function defines the default lookup rules for container lookups:\n\n* templates are looked up on `Ember.TEMPLATES`\n* other names are looked up on the application after classifying the name.\n For example, `controller:post` looks up `App.PostController` by default.\n* if the default lookup fails, look for registered classes on the container\n\nThis allows the application to register default injections in the container\nthat could be overridden by the normal naming convention.",
|
|
16529
15602
|
"access": "private",
|
|
16530
15603
|
"tagname": "",
|
|
@@ -18908,7 +17981,7 @@
|
|
|
18908
17981
|
},
|
|
18909
17982
|
{
|
|
18910
17983
|
"message": "replacing incorrect tag: returns with return",
|
|
18911
|
-
"line": " packages/@ember/-internals/routing/lib/system/route.ts:
|
|
17984
|
+
"line": " packages/@ember/-internals/routing/lib/system/route.ts:2319"
|
|
18912
17985
|
},
|
|
18913
17986
|
{
|
|
18914
17987
|
"message": "replacing incorrect tag: function with method",
|
|
@@ -18936,23 +18009,23 @@
|
|
|
18936
18009
|
},
|
|
18937
18010
|
{
|
|
18938
18011
|
"message": "Missing item type\nThe `change` and `input` actions need to be overridden in the `Input`\nsubclass. Unfortunately, some ember-source builds currently uses babel\nloose mode to transpile its classes. Having the `@action` decorator on the\nsuper class creates a getter on the prototype, and when the subclass\noverrides the method, the loose mode transpilation would emit something\nlike `Subclass.prototype['change'] = function change() { ... }`, which\nfails because `prototype['change']` is getter-only/readonly. The correct\nsolution is to use `Object.defineProperty(prototype, 'change', ...)` but\nthat requires disabling loose mode. For now, the workaround is to add the\ndecorator only on the subclass. This is more of a configuration issue on\nour own builds and doesn't really affect apps.",
|
|
18939
|
-
"line": " packages/@ember/-internals/glimmer/lib/components/abstract-input.ts:
|
|
18012
|
+
"line": " packages/@ember/-internals/glimmer/lib/components/abstract-input.ts:125"
|
|
18940
18013
|
},
|
|
18941
18014
|
{
|
|
18942
18015
|
"message": "Missing item type\nThe HTML class attribute.",
|
|
18943
|
-
"line": " packages/@ember/-internals/glimmer/lib/components/input.ts:
|
|
18016
|
+
"line": " packages/@ember/-internals/glimmer/lib/components/input.ts:183"
|
|
18944
18017
|
},
|
|
18945
18018
|
{
|
|
18946
18019
|
"message": "Missing item type\nThe HTML type attribute.",
|
|
18947
|
-
"line": " packages/@ember/-internals/glimmer/lib/components/input.ts:
|
|
18020
|
+
"line": " packages/@ember/-internals/glimmer/lib/components/input.ts:194"
|
|
18948
18021
|
},
|
|
18949
18022
|
{
|
|
18950
18023
|
"message": "Missing item type\nThe default HTML id attribute. We don't really _need_ one, this is just\nadded for compatibility as it's hard to tell if people rely on it being\npresent, and it doens't really hurt.\n\nHowever, don't rely on this internally, like passing it to `getElementId`.\nThis can be (and often is) overriden by passing an `id` attribute on the\ninvocation, which shadows this default id via `...attributes`.",
|
|
18951
|
-
"line": " packages/@ember/-internals/glimmer/lib/components/internal.ts:
|
|
18024
|
+
"line": " packages/@ember/-internals/glimmer/lib/components/internal.ts:37"
|
|
18952
18025
|
},
|
|
18953
18026
|
{
|
|
18954
18027
|
"message": "Missing item type\nThe default HTML class attribute. Similar to the above, we don't _need_\nthem, they are just added for compatibility as it's similarly hard to tell\nif people rely on it in their CSS etc, and it doens't really hurt.",
|
|
18955
|
-
"line": " packages/@ember/-internals/glimmer/lib/components/internal.ts:
|
|
18028
|
+
"line": " packages/@ember/-internals/glimmer/lib/components/internal.ts:50"
|
|
18956
18029
|
},
|
|
18957
18030
|
{
|
|
18958
18031
|
"message": "Missing item type\nThis reference is used to get the `[]` tag of iterables, so we can trigger\nupdates to `{{each}}` when it changes. It is put into place by a template\ntransform at build time, similar to the (-each-in) helper",
|
|
@@ -19044,15 +18117,15 @@
|
|
|
19044
18117
|
},
|
|
19045
18118
|
{
|
|
19046
18119
|
"message": "Missing item type\nFinds the name of the substate route if it exists for the given route. A\nsubstate route is of the form `route_state`, such as `foo_loading`.",
|
|
19047
|
-
"line": " packages/@ember/-internals/routing/lib/system/router.ts:
|
|
18120
|
+
"line": " packages/@ember/-internals/routing/lib/system/router.ts:1547"
|
|
19048
18121
|
},
|
|
19049
18122
|
{
|
|
19050
18123
|
"message": "Missing item type\nFinds the name of the state route if it exists for the given route. A state\nroute is of the form `route.state`, such as `foo.loading`. Properly Handles\n`application` named routes.",
|
|
19051
|
-
"line": " packages/@ember/-internals/routing/lib/system/router.ts:
|
|
18124
|
+
"line": " packages/@ember/-internals/routing/lib/system/router.ts:1566"
|
|
19052
18125
|
},
|
|
19053
18126
|
{
|
|
19054
18127
|
"message": "Missing item type\nDetermines whether or not a route has been defined by checking that the route\nis in the Router's map and the owner has a registration for that route.",
|
|
19055
|
-
"line": " packages/@ember/-internals/routing/lib/system/router.ts:
|
|
18128
|
+
"line": " packages/@ember/-internals/routing/lib/system/router.ts:1586"
|
|
19056
18129
|
},
|
|
19057
18130
|
{
|
|
19058
18131
|
"message": "Missing item type",
|
|
@@ -19191,12 +18264,12 @@
|
|
|
19191
18264
|
"line": " packages/@ember/-internals/runtime/types/observable.d.ts:67"
|
|
19192
18265
|
},
|
|
19193
18266
|
{
|
|
19194
|
-
"message": "Missing item type
|
|
18267
|
+
"message": "Missing item type",
|
|
19195
18268
|
"line": " packages/@ember/-internals/utils/lib/guid.ts:8"
|
|
19196
18269
|
},
|
|
19197
18270
|
{
|
|
19198
18271
|
"message": "Missing item type\nGenerates a universally unique identifier. This method\nis used internally by Ember for assisting with\nthe generation of GUID's and other unique identifiers.",
|
|
19199
|
-
"line": " packages/@ember/-internals/utils/lib/guid.ts:
|
|
18272
|
+
"line": " packages/@ember/-internals/utils/lib/guid.ts:14"
|
|
19200
18273
|
},
|
|
19201
18274
|
{
|
|
19202
18275
|
"message": "Missing item type\nStrongly hint runtimes to intern the provided string.\n\nWhen do I need to use this function?\n\nFor the most part, never. Pre-mature optimization is bad, and often the\nruntime does exactly what you need it to, and more often the trade-off isn't\nworth it.\n\nWhy?\n\nRuntimes store strings in at least 2 different representations:\nRopes and Symbols (interned strings). The Rope provides a memory efficient\ndata-structure for strings created from concatenation or some other string\nmanipulation like splitting.\n\nUnfortunately checking equality of different ropes can be quite costly as\nruntimes must resort to clever string comparison algorithms. These\nalgorithms typically cost in proportion to the length of the string.\nLuckily, this is where the Symbols (interned strings) shine. As Symbols are\nunique by their string content, equality checks can be done by pointer\ncomparison.\n\nHow do I know if my string is a rope or symbol?\n\nTypically (warning general sweeping statement, but truthy in runtimes at\npresent) static strings created as part of the JS source are interned.\nStrings often used for comparisons can be interned at runtime if some\ncriteria are met. One of these criteria can be the size of the entire rope.\nFor example, in chrome 38 a rope longer then 12 characters will not\nintern, nor will segments of that rope.\n\nSome numbers: http://jsperf.com/eval-vs-keys/8\n\nKnown Trick™",
|
|
@@ -19204,7 +18277,7 @@
|
|
|
19204
18277
|
},
|
|
19205
18278
|
{
|
|
19206
18279
|
"message": "Missing item type\nUnfortunately, a lot of existing code assumes the booting process is\n\"synchronous\". Specifically, a lot of tests assumes the last call to\n`app.advanceReadiness()` or `app.reset()` will result in the app being\nfully-booted when the current runloop completes.\n\nWe would like new code (like the `visit` API) to stop making this assumption,\nso we created the asynchronous version above that returns a promise. But until\nwe have migrated all the code, we would have to expose this method for use\n*internally* in places where we need to boot an app \"synchronously\".",
|
|
19207
|
-
"line": " packages/@ember/application/lib/application.js:
|
|
18280
|
+
"line": " packages/@ember/application/lib/application.js:663"
|
|
19208
18281
|
},
|
|
19209
18282
|
{
|
|
19210
18283
|
"message": "Missing item type\nOverrides the base `EngineInstance._bootSync` method with concerns relevant\nto booting application (instead of engine) instances.\n\nThis method should only contain synchronous boot concerns. Asynchronous\nboot concerns should eventually be moved to the `boot` method, which\nreturns a promise.\n\nUntil all boot code has been made asynchronous, we need to continue to\nexpose this method for use *internally* in places where we need to boot an\ninstance synchronously.",
|