ember-source 4.8.0-alpha.5 → 4.8.0-beta.2
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 +11 -2
- package/blueprints/helper/files/__root__/{__collection__ → helpers}/__name__.ts +0 -0
- package/blueprints/helper/index.js +0 -15
- package/blueprints/helper-test/index.js +0 -3
- package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints/helper-test/mocha-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.ts +0 -0
- package/blueprints/helper-test/qunit-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.ts +0 -0
- package/blueprints-js/helper/files/__root__/{__collection__ → helpers}/__name__.js +0 -0
- package/blueprints-js/helper-test/mocha-0.12-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/mocha-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/mocha-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/qunit-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/qunit-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/build-metadata.json +3 -3
- package/dist/dependencies/router_js.js +1 -1
- package/dist/ember-template-compiler.js +675 -18
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +11 -11
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +19576 -20510
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/glimmer/index.js +4 -2
- package/dist/packages/@ember/-internals/metal/index.js +214 -1094
- package/dist/packages/@ember/-internals/routing/index.js +1 -17
- package/dist/packages/@ember/-internals/runtime/index.js +3 -16
- package/dist/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +2 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -3
- package/dist/packages/@ember/-internals/runtime/lib/mixins/comparable.js +1 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +1 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +1 -8
- package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +2 -1
- package/dist/packages/@ember/-internals/utils/index.js +3 -3
- package/dist/packages/@ember/-internals/views/lib/component_lookup.js +1 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/child_views_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/class_names_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/view_state_support.js +1 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +1 -1
- package/dist/packages/@ember/-internals/views/lib/views/core_view.js +3 -1
- package/dist/packages/@ember/application/index.js +876 -2
- package/dist/packages/@ember/application/instance.js +2 -2
- package/dist/packages/@ember/application/namespace.js +70 -1
- package/dist/packages/@ember/array/index.js +1503 -2
- package/dist/packages/@ember/array/mutable.js +1 -1
- package/dist/packages/@ember/array/proxy.js +307 -1
- package/dist/packages/@ember/canary-features/index.js +2 -2
- package/dist/packages/@ember/controller/index.js +260 -3
- package/dist/packages/@ember/debug/container-debug-adapter.js +99 -1
- package/dist/packages/@ember/debug/data-adapter.js +574 -1
- package/dist/packages/@ember/engine/index.js +5 -5
- package/dist/packages/@ember/engine/instance.js +4 -4
- package/dist/packages/@ember/enumerable/index.js +3 -1
- package/dist/packages/@ember/enumerable/mutable.js +4 -0
- package/dist/packages/@ember/{-internals/runtime/lib/system/object.js → object/-internals.js} +4 -17
- package/dist/packages/@ember/object/core.js +731 -1
- package/dist/packages/@ember/object/evented.js +93 -2
- package/dist/packages/@ember/object/index.js +76 -4
- package/dist/packages/@ember/object/internals.js +3 -2
- package/dist/packages/@ember/object/lib/computed/computed_macros.js +3 -1
- package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +4 -3
- package/dist/packages/@ember/object/mixin.js +659 -1
- package/dist/packages/@ember/object/observable.js +341 -1
- package/dist/packages/@ember/object/promise-proxy-mixin.js +150 -1
- package/dist/packages/@ember/object/proxy.js +10 -1
- package/dist/packages/@ember/routing/-internals.js +7 -0
- package/dist/packages/@ember/routing/auto-location.js +249 -1
- package/dist/packages/@ember/routing/hash-location.js +169 -1
- package/dist/packages/@ember/routing/history-location.js +289 -1
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/cache.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/controller_for.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/dsl.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/engines.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/generate_controller.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/location/util.js → routing/lib/location-utils.js} +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/query_params.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/route-info.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/router_state.js +1 -1
- package/dist/packages/@ember/{-internals/routing/lib/services/routing.js → routing/lib/routing-service.js} +2 -2
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/transition.js +0 -0
- package/dist/packages/@ember/{-internals/routing → routing}/lib/utils.js +0 -0
- package/dist/packages/@ember/routing/location.js +104 -1
- package/dist/packages/@ember/routing/none-location.js +123 -1
- package/dist/packages/@ember/routing/route.js +1700 -1
- package/dist/packages/@ember/routing/router-service.js +510 -1
- package/dist/packages/@ember/routing/router.js +1666 -1
- package/dist/packages/@ember/service/index.js +1 -1
- package/dist/packages/@ember/utils/index.js +7 -2
- package/dist/packages/@ember/{-internals/runtime → utils}/lib/compare.js +2 -2
- package/dist/packages/@ember/{-internals/runtime → utils}/lib/is-equal.js +0 -0
- package/dist/packages/@ember/utils/lib/is_blank.js +35 -0
- package/dist/packages/@ember/utils/lib/is_empty.js +68 -0
- package/dist/packages/@ember/utils/lib/is_none.js +27 -0
- package/dist/packages/@ember/utils/lib/is_present.js +38 -0
- package/dist/packages/@ember/{-internals/runtime → utils}/lib/type-of.js +2 -2
- package/dist/packages/ember/index.js +47 -28
- package/dist/packages/ember/version.js +1 -1
- package/dist/packages/ember-testing/lib/adapters/adapter.js +1 -1
- package/dist/packages/ember-testing/lib/helpers/current_path.js +2 -2
- package/dist/packages/ember-testing/lib/helpers/current_route_name.js +2 -2
- package/dist/packages/ember-testing/lib/helpers/current_url.js +1 -1
- package/docs/data.json +9428 -9189
- package/package.json +23 -8
- package/types/preview/@ember/-internals/resolver.d.ts +35 -0
- package/types/preview/@ember/application/-private/event-dispatcher.d.ts +18 -0
- package/types/preview/@ember/application/-private/registry.d.ts +15 -0
- package/types/preview/@ember/application/deprecations.d.ts +24 -0
- package/types/preview/@ember/application/index.d.ts +153 -0
- package/types/preview/@ember/application/instance.d.ts +9 -0
- package/types/preview/@ember/application/tsconfig.json +3 -0
- package/types/preview/@ember/application/types.d.ts +29 -0
- package/types/preview/@ember/array/-private/enumerable.d.ts +13 -0
- package/types/preview/@ember/array/-private/mutable-enumerable.d.ts +13 -0
- package/types/preview/@ember/array/-private/native-array.d.ts +23 -0
- package/types/preview/@ember/array/index.d.ts +243 -0
- package/types/preview/@ember/array/mutable.d.ts +94 -0
- package/types/preview/@ember/array/proxy.d.ts +29 -0
- package/types/preview/@ember/array/tsconfig.json +3 -0
- package/types/preview/@ember/component/-private/class-names-support.d.ts +27 -0
- package/types/preview/@ember/component/-private/core-view.d.ts +14 -0
- package/types/preview/@ember/component/-private/glimmer-interfaces.d.ts +45 -0
- package/types/preview/@ember/component/-private/signature-utils.d.ts +107 -0
- package/types/preview/@ember/component/-private/view-mixin.d.ts +59 -0
- package/types/preview/@ember/component/helper.d.ts +122 -0
- package/types/preview/@ember/component/index.d.ts +132 -0
- package/types/preview/@ember/component/template-only.d.ts +47 -0
- package/types/preview/@ember/component/tsconfig.json +3 -0
- package/types/preview/@ember/controller/index.d.ts +48 -0
- package/types/preview/@ember/controller/tsconfig.json +3 -0
- package/types/preview/@ember/debug/container-debug-adapter.d.ts +13 -0
- package/types/preview/@ember/debug/data-adapter.d.ts +64 -0
- package/types/preview/@ember/debug/index.d.ts +98 -0
- package/types/preview/@ember/debug/tsconfig.json +3 -0
- package/types/preview/@ember/destroyable/index.d.ts +23 -0
- package/types/preview/@ember/destroyable/tsconfig.json +3 -0
- package/types/preview/@ember/engine/-private/container-proxy-mixin.d.ts +17 -0
- package/types/preview/@ember/engine/-private/registry-proxy-mixin.d.ts +54 -0
- package/types/preview/@ember/engine/-private/types/initializer.d.ts +8 -0
- package/types/preview/@ember/engine/index.d.ts +45 -0
- package/types/preview/@ember/engine/instance.d.ts +24 -0
- package/types/preview/@ember/engine/tsconfig.json +3 -0
- package/types/preview/@ember/error/index.d.ts +6 -0
- package/types/preview/@ember/error/tsconfig.json +3 -0
- package/types/preview/@ember/helper/index.d.ts +49 -0
- package/types/preview/@ember/helper/tsconfig.json +3 -0
- package/types/preview/@ember/modifier/index.d.ts +33 -0
- package/types/preview/@ember/modifier/tsconfig.json +3 -0
- package/types/preview/@ember/object/-private/action-handler.d.ts +31 -0
- package/types/preview/@ember/object/-private/types.d.ts +63 -0
- package/types/preview/@ember/object/compat.d.ts +9 -0
- package/types/preview/@ember/object/computed.d.ts +263 -0
- package/types/preview/@ember/object/core.d.ts +89 -0
- package/types/preview/@ember/object/evented.d.ts +45 -0
- package/types/preview/@ember/object/events.d.ts +47 -0
- package/types/preview/@ember/object/index.d.ts +126 -0
- package/types/preview/@ember/object/internals.d.ts +17 -0
- package/types/preview/@ember/object/mixin.d.ts +19 -0
- package/types/preview/@ember/object/observable.d.ts +89 -0
- package/types/preview/@ember/object/observers.d.ts +34 -0
- package/types/preview/@ember/object/promise-proxy-mixin.d.ts +37 -0
- package/types/preview/@ember/object/proxy.d.ts +27 -0
- package/types/preview/@ember/object/tsconfig.json +3 -0
- package/types/preview/@ember/owner/index.d.ts +102 -0
- package/types/preview/@ember/owner/tsconfig.json +3 -0
- package/types/preview/@ember/polyfills/index.d.ts +23 -0
- package/types/preview/@ember/polyfills/tsconfig.json +3 -0
- package/types/preview/@ember/polyfills/types.d.ts +6 -0
- package/types/preview/@ember/routing/-private/router-dsl.d.ts +20 -0
- package/types/preview/@ember/routing/auto-location.d.ts +8 -0
- package/types/preview/@ember/routing/hash-location.d.ts +10 -0
- package/types/preview/@ember/routing/history-location.d.ts +9 -0
- package/types/preview/@ember/routing/index.d.ts +20 -0
- package/types/preview/@ember/routing/none-location.d.ts +11 -0
- package/types/preview/@ember/routing/route-info.d.ts +74 -0
- package/types/preview/@ember/routing/route.d.ts +533 -0
- package/types/preview/@ember/routing/router-service.d.ts +351 -0
- package/types/preview/@ember/routing/router.d.ts +49 -0
- package/types/preview/@ember/routing/transition.d.ts +126 -0
- package/types/preview/@ember/routing/tsconfig.json +3 -0
- package/types/preview/@ember/routing/types.d.ts +15 -0
- package/types/preview/@ember/runloop/-private/backburner.d.ts +43 -0
- package/types/preview/@ember/runloop/-private/types.d.ts +9 -0
- package/types/preview/@ember/runloop/index.d.ts +175 -0
- package/types/preview/@ember/runloop/tsconfig.json +3 -0
- package/types/preview/@ember/runloop/types.d.ts +5 -0
- package/types/preview/@ember/service/index.d.ts +25 -0
- package/types/preview/@ember/service/tsconfig.json +3 -0
- package/types/preview/@ember/string/index.d.ts +9 -0
- package/types/preview/@ember/string/tsconfig.json +3 -0
- package/types/preview/@ember/template/-private/handlebars.d.ts +7 -0
- package/types/preview/@ember/template/index.d.ts +5 -0
- package/types/preview/@ember/template/tsconfig.json +3 -0
- package/types/preview/@ember/test/adapter.d.ts +22 -0
- package/types/preview/@ember/test/index.d.ts +49 -0
- package/types/preview/@ember/test/tsconfig.json +3 -0
- package/types/preview/@ember/utils/-private/types.d.ts +39 -0
- package/types/preview/@ember/utils/index.d.ts +42 -0
- package/types/preview/@ember/utils/tsconfig.json +3 -0
- package/types/preview/ember/-private/type-utils.d.ts +54 -0
- package/types/preview/ember/index.d.ts +381 -0
- package/types/preview/ember/tsconfig.json +3 -0
- package/types/preview/index.d.ts +120 -0
- package/types/preview/tsconfig.json +6 -0
- package/blueprints/helper/mu-files/__root__/__collection__/__name__.js +0 -7
- package/blueprints-js/helper/mu-files/__root__/__collection__/__name__.js +0 -7
- package/dist/packages/@ember/-internals/extension-support/index.js +0 -2
- package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +0 -96
- package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +0 -576
- package/dist/packages/@ember/-internals/routing/lib/ext/controller.js +0 -224
- package/dist/packages/@ember/-internals/routing/lib/location/api.js +0 -104
- package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +0 -250
- package/dist/packages/@ember/-internals/routing/lib/location/hash_location.js +0 -170
- package/dist/packages/@ember/-internals/routing/lib/location/history_location.js +0 -290
- package/dist/packages/@ember/-internals/routing/lib/location/none_location.js +0 -124
- package/dist/packages/@ember/-internals/routing/lib/services/router.js +0 -506
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +0 -1696
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +0 -1662
- package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +0 -1501
- package/dist/packages/@ember/-internals/runtime/lib/mixins/enumerable.js +0 -3
- package/dist/packages/@ember/-internals/runtime/lib/mixins/evented.js +0 -91
- package/dist/packages/@ember/-internals/runtime/lib/mixins/mutable_enumerable.js +0 -4
- package/dist/packages/@ember/-internals/runtime/lib/mixins/observable.js +0 -339
- package/dist/packages/@ember/-internals/runtime/lib/mixins/promise_proxy.js +0 -149
- package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +0 -305
- package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +0 -730
- package/dist/packages/@ember/-internals/runtime/lib/system/namespace.js +0 -69
- package/dist/packages/@ember/-internals/runtime/lib/system/object_proxy.js +0 -7
- package/dist/packages/@ember/application/lib/application.js +0 -870
- package/dist/packages/@ember/controller/lib/controller_mixin.js +0 -42
- package/dist/packages/@ember/runloop/type-tests.ts/begin-end.test.js +0 -5
- package/dist/packages/@ember/runloop/type-tests.ts/bind.test.js +0 -59
- package/dist/packages/@ember/runloop/type-tests.ts/cancel.test.js +0 -5
- package/dist/packages/@ember/runloop/type-tests.ts/debounce.test.js +0 -77
- package/dist/packages/@ember/runloop/type-tests.ts/join.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/later.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/next.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/once.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/run.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/schedule-once.test.js +0 -39
- package/dist/packages/@ember/runloop/type-tests.ts/schedule.test.js +0 -39
- package/dist/packages/@ember/runloop/type-tests.ts/throttle.test.js +0 -77
package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/generate_controller.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -5,8 +5,8 @@ import { getOwner } from '@ember/-internals/owner';
|
|
|
5
5
|
import { assert } from '@ember/debug';
|
|
6
6
|
import { readOnly } from '@ember/object/computed';
|
|
7
7
|
import Service from '@ember/service';
|
|
8
|
-
import EmberRouter from '
|
|
9
|
-
import { ROUTER } from '
|
|
8
|
+
import EmberRouter from '@ember/routing/router';
|
|
9
|
+
import { ROUTER } from '@ember/routing/router-service';
|
|
10
10
|
/**
|
|
11
11
|
The Routing service is used by LinkTo, and provides facilities for
|
|
12
12
|
the component/view layer to interact with the router.
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1,104 @@
|
|
|
1
|
-
|
|
1
|
+
import { assert, deprecate } from '@ember/debug';
|
|
2
|
+
/**
|
|
3
|
+
@module @ember/routing/location
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
Location returns an instance of the correct implementation of
|
|
8
|
+
the `location` API.
|
|
9
|
+
|
|
10
|
+
## Implementations
|
|
11
|
+
|
|
12
|
+
You can pass an implementation name (`hash`, `history`, `none`, `auto`) to force a
|
|
13
|
+
particular implementation to be used in your application.
|
|
14
|
+
|
|
15
|
+
See [HashLocation](/ember/release/classes/HashLocation).
|
|
16
|
+
See [HistoryLocation](/ember/release/classes/HistoryLocation).
|
|
17
|
+
See [NoneLocation](/ember/release/classes/NoneLocation).
|
|
18
|
+
See [AutoLocation](/ember/release/classes/AutoLocation).
|
|
19
|
+
|
|
20
|
+
## Location API
|
|
21
|
+
|
|
22
|
+
Each location implementation must provide the following methods:
|
|
23
|
+
|
|
24
|
+
* implementation: returns the string name used to reference the implementation.
|
|
25
|
+
* getURL: returns the current URL.
|
|
26
|
+
* setURL(path): sets the current URL.
|
|
27
|
+
* replaceURL(path): replace the current URL (optional).
|
|
28
|
+
* onUpdateURL(callback): triggers the callback when the URL changes.
|
|
29
|
+
* formatURL(url): formats `url` to be placed into `href` attribute.
|
|
30
|
+
* detect() (optional): instructs the location to do any feature detection
|
|
31
|
+
necessary. If the location needs to redirect to a different URL, it
|
|
32
|
+
can cancel routing by setting the `cancelRouterSetup` property on itself
|
|
33
|
+
to `false`.
|
|
34
|
+
|
|
35
|
+
Calling setURL or replaceURL will not trigger onUpdateURL callbacks.
|
|
36
|
+
|
|
37
|
+
## Custom implementation
|
|
38
|
+
|
|
39
|
+
Ember scans `app/locations/*` for extending the Location API.
|
|
40
|
+
|
|
41
|
+
Example:
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
import HistoryLocation from '@ember/routing/history-location';
|
|
45
|
+
|
|
46
|
+
export default class MyHistory {
|
|
47
|
+
implementation = 'my-custom-history';
|
|
48
|
+
|
|
49
|
+
constructor() {
|
|
50
|
+
this._history = HistoryLocation.create(...arguments);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
create() {
|
|
54
|
+
return new this(...arguments);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
pushState(path) {
|
|
58
|
+
this._history.pushState(path);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
@class Location
|
|
64
|
+
@private
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
export default {
|
|
68
|
+
/**
|
|
69
|
+
This is deprecated in favor of using the container to lookup the location
|
|
70
|
+
implementation as desired.
|
|
71
|
+
For example:
|
|
72
|
+
```javascript
|
|
73
|
+
// Given a location registered as follows:
|
|
74
|
+
container.register('location:history-test', HistoryTestLocation);
|
|
75
|
+
// You could create a new instance via:
|
|
76
|
+
container.lookup('location:history-test');
|
|
77
|
+
```
|
|
78
|
+
@method create
|
|
79
|
+
@param {Object} options
|
|
80
|
+
@return {Object} an instance of an implementation of the `location` API
|
|
81
|
+
@deprecated Use the container to lookup the location implementation that you
|
|
82
|
+
need.
|
|
83
|
+
@private
|
|
84
|
+
*/
|
|
85
|
+
create(options) {
|
|
86
|
+
let implementation = options === null || options === void 0 ? void 0 : options.implementation;
|
|
87
|
+
assert("Location.create: you must specify a 'implementation' option", implementation);
|
|
88
|
+
let implementationClass = this.implementations[implementation];
|
|
89
|
+
assert(`Location.create: ${implementation} is not a valid implementation`, implementationClass);
|
|
90
|
+
deprecate("Calling `create` on Location class is deprecated. Instead, use `container.lookup('location:my-location')` to lookup the location you need.", false, {
|
|
91
|
+
id: 'deprecate-auto-location',
|
|
92
|
+
until: '5.0.0',
|
|
93
|
+
url: 'https://emberjs.com/deprecations/v4.x#toc_deprecate-auto-location',
|
|
94
|
+
for: 'ember-source',
|
|
95
|
+
since: {
|
|
96
|
+
available: '4.1.0',
|
|
97
|
+
enabled: '4.1.0'
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return implementationClass.create(...arguments);
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
implementations: {}
|
|
104
|
+
};
|
|
@@ -1 +1,123 @@
|
|
|
1
|
-
|
|
1
|
+
import EmberObject, { set } from '@ember/object';
|
|
2
|
+
import { assert } from '@ember/debug';
|
|
3
|
+
/**
|
|
4
|
+
@module @ember/routing/none-location
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
NoneLocation does not interact with the browser. It is useful for
|
|
9
|
+
testing, or when you need to manage state with your Router, but temporarily
|
|
10
|
+
don't want it to muck with the URL (for example when you embed your
|
|
11
|
+
application in a larger page).
|
|
12
|
+
|
|
13
|
+
Using `NoneLocation` causes Ember to not store the applications URL state
|
|
14
|
+
in the actual URL. This is generally used for testing purposes, and is one
|
|
15
|
+
of the changes made when calling `App.setupForTesting()`.
|
|
16
|
+
|
|
17
|
+
@class NoneLocation
|
|
18
|
+
@extends EmberObject
|
|
19
|
+
@protected
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
export default class NoneLocation extends EmberObject {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
this.implementation = 'none';
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
initState() {
|
|
29
|
+
this._super(...arguments);
|
|
30
|
+
|
|
31
|
+
let {
|
|
32
|
+
rootURL
|
|
33
|
+
} = this; // This assert doesn't have anything to do with state initialization,
|
|
34
|
+
// but we're hijacking this method since it's called after the route has
|
|
35
|
+
// set the rootURL property on its Location instance.
|
|
36
|
+
|
|
37
|
+
assert('rootURL must end with a trailing forward slash e.g. "/app/"', rootURL.charAt(rootURL.length - 1) === '/');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
Returns the current path without `rootURL`.
|
|
41
|
+
@private
|
|
42
|
+
@method getURL
|
|
43
|
+
@return {String} path
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
getURL() {
|
|
48
|
+
let {
|
|
49
|
+
path,
|
|
50
|
+
rootURL
|
|
51
|
+
} = this; // remove trailing slashes if they exists
|
|
52
|
+
|
|
53
|
+
rootURL = rootURL.replace(/\/$/, ''); // remove rootURL from url
|
|
54
|
+
|
|
55
|
+
return path.replace(new RegExp(`^${rootURL}(?=/|$)`), '');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
Set the path and remembers what was set. Using this method
|
|
59
|
+
to change the path will not invoke the `updateURL` callback.
|
|
60
|
+
@private
|
|
61
|
+
@method setURL
|
|
62
|
+
@param path {String}
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
setURL(path) {
|
|
67
|
+
set(this, 'path', path);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
Register a callback to be invoked when the path changes. These
|
|
71
|
+
callbacks will execute when the user presses the back or forward
|
|
72
|
+
button, but not after `setURL` is invoked.
|
|
73
|
+
@private
|
|
74
|
+
@method onUpdateURL
|
|
75
|
+
@param callback {Function}
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
onUpdateURL(callback) {
|
|
80
|
+
this.updateCallback = callback;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
Sets the path and calls the `updateURL` callback.
|
|
84
|
+
@private
|
|
85
|
+
@method handleURL
|
|
86
|
+
@param url {String}
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
handleURL(url) {
|
|
91
|
+
set(this, 'path', url);
|
|
92
|
+
this.updateCallback(url);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
Given a URL, formats it to be placed into the page as part
|
|
96
|
+
of an element's `href` attribute.
|
|
97
|
+
This is used, for example, when using the {{action}} helper
|
|
98
|
+
to generate a URL based on an event.
|
|
99
|
+
@private
|
|
100
|
+
@method formatURL
|
|
101
|
+
@param url {String}
|
|
102
|
+
@return {String} url
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
formatURL(url) {
|
|
107
|
+
let {
|
|
108
|
+
rootURL
|
|
109
|
+
} = this;
|
|
110
|
+
|
|
111
|
+
if (url !== '') {
|
|
112
|
+
// remove trailing slashes if they exists
|
|
113
|
+
rootURL = rootURL.replace(/\/$/, '');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return rootURL + url;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
}
|
|
120
|
+
NoneLocation.reopen({
|
|
121
|
+
path: '',
|
|
122
|
+
rootURL: '/'
|
|
123
|
+
});
|