ember-inspector 4.4.1 → 4.5.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/.eslintignore +1 -0
- package/.eslintrc.js +20 -12
- package/.github/workflows/build.yml +1 -0
- package/.tool-versions +1 -0
- package/CHANGELOG.md +31 -2
- package/app/{templates → components}/component-tree-toolbar.hbs +5 -5
- package/app/{templates → components}/container-type-toolbar.hbs +3 -3
- package/app/{templates/container-types/index-toolbar.hbs → components/container-types-toolbar.hbs} +2 -2
- package/app/components/date-property-field.js +4 -10
- package/app/{templates → components}/deprecations-toolbar.hbs +4 -4
- package/app/{templates → components}/libraries-toolbar.hbs +0 -0
- package/app/{templates → components}/model-types-toolbar.hbs +4 -4
- package/app/{templates → components}/promise-tree-toolbar.hbs +13 -13
- package/app/components/records-toolbar.hbs +26 -0
- package/app/components/render-tree-toolbar.hbs +33 -0
- package/app/components/route-cell-name.js +1 -1
- package/app/{templates → components}/route-tree-toolbar.hbs +3 -3
- package/app/components/scroll-container.js +3 -1
- package/app/computed/debounce.js +1 -3
- package/app/controllers/deprecations.js +1 -0
- package/app/controllers/render-tree.js +19 -4
- package/app/controllers/route-tree.js +51 -44
- package/app/initializers/setup.js +7 -18
- package/app/models/promise.js +3 -4
- package/app/routes/application.js +2 -14
- package/app/routes/component-tree.js +3 -0
- package/app/routes/deprecations.js +4 -0
- package/app/routes/launch.js +1 -0
- package/app/routes/libraries.js +1 -0
- package/app/routes/promise-tree.js +6 -0
- package/app/routes/render-tree.js +27 -10
- package/app/routes/route-tree.js +3 -2
- package/app/routes/tab.js +9 -9
- package/app/routes/whats-new.js +2 -0
- package/app/{adapters → services/adapters}/basic.js +3 -3
- package/app/{adapters → services/adapters}/bookmarklet.js +0 -0
- package/app/{adapters → services/adapters}/chrome.js +0 -0
- package/app/{adapters → services/adapters}/firefox.js +0 -0
- package/app/{adapters → services/adapters}/web-extension.js +0 -0
- package/app/{adapters → services/adapters}/websocket.js +0 -0
- package/app/services/port.js +3 -2
- package/app/templates/application.hbs +1 -1
- package/app/templates/component-tree.hbs +20 -4
- package/app/templates/container-type.hbs +10 -0
- package/app/templates/container-types/index.hbs +10 -0
- package/app/templates/deprecations.hbs +13 -10
- package/app/templates/libraries.hbs +12 -11
- package/app/templates/model-types.hbs +15 -2
- package/app/templates/promise-tree.hbs +22 -7
- package/app/templates/records.hbs +15 -7
- package/app/templates/render-tree.hbs +32 -9
- package/app/templates/route-tree.hbs +23 -14
- package/app/templates/whats-new.hbs +8 -4
- package/config/ember-cli-update.json +1 -1
- package/config/ember-try.js +8 -0
- package/config/targets.js +14 -6
- package/dist/bookmarklet/panes-3-4-0/assets/chunk.143.701794df61367d9c0beb.js +146 -0
- package/dist/bookmarklet/panes-3-4-0/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
- package/dist/bookmarklet/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
- package/dist/bookmarklet/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
- package/dist/bookmarklet/panes-3-4-0/assets/ember-inspector.js +617 -1512
- package/dist/bookmarklet/panes-3-4-0/assets/vendor.css +9 -2
- package/dist/bookmarklet/panes-3-4-0/assets/vendor.js +6132 -7501
- package/dist/bookmarklet/panes-3-4-0/ember_debug.js +731 -416
- package/dist/bookmarklet/panes-3-4-0/index.html +2 -1
- package/dist/chrome/manifest.json +1 -1
- package/dist/chrome/panes-3-4-0/assets/chunk.143.701794df61367d9c0beb.js +146 -0
- package/dist/chrome/panes-3-4-0/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
- package/dist/chrome/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
- package/dist/chrome/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
- package/dist/chrome/panes-3-4-0/assets/ember-inspector.js +617 -1512
- package/dist/chrome/panes-3-4-0/assets/vendor.css +9 -2
- package/dist/chrome/panes-3-4-0/assets/vendor.js +6132 -7501
- package/dist/chrome/panes-3-4-0/ember_debug.js +731 -416
- package/dist/chrome/panes-3-4-0/index.html +2 -1
- package/dist/firefox/manifest.json +1 -1
- package/dist/firefox/panes-3-4-0/assets/chunk.143.701794df61367d9c0beb.js +146 -0
- package/dist/firefox/panes-3-4-0/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
- package/dist/firefox/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
- package/dist/firefox/panes-3-4-0/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
- package/dist/firefox/panes-3-4-0/assets/ember-inspector.js +617 -1512
- package/dist/firefox/panes-3-4-0/assets/vendor.css +9 -2
- package/dist/firefox/panes-3-4-0/assets/vendor.js +6132 -7501
- package/dist/firefox/panes-3-4-0/ember_debug.js +731 -416
- package/dist/firefox/panes-3-4-0/index.html +2 -1
- package/dist/websocket/assets/chunk.143.701794df61367d9c0beb.js +146 -0
- package/dist/websocket/assets/chunk.178.1fa501a69a8888639ff4.js +20 -0
- package/dist/websocket/assets/chunk.916.cfdae71ef87e943d7ad0.js +505 -0
- package/dist/websocket/assets/chunk.916.cfdae71ef87e943d7ad0.js.LICENSE.txt +8 -0
- package/dist/websocket/assets/ember-inspector.js +617 -1512
- package/dist/websocket/assets/vendor.css +9 -2
- package/dist/websocket/assets/vendor.js +6132 -7501
- package/dist/websocket/ember_debug.js +731 -416
- package/dist/websocket/index.html +2 -1
- package/ember_debug/adapters/basic.js +4 -3
- package/ember_debug/adapters/web-extension.js +2 -1
- package/ember_debug/adapters/websocket.js +4 -7
- package/ember_debug/container-debug.js +2 -3
- package/ember_debug/data-debug.js +4 -3
- package/ember_debug/deprecation-debug.js +12 -15
- package/ember_debug/general-debug.js +3 -4
- package/ember_debug/libs/promise-assembler.js +12 -14
- package/ember_debug/libs/source-map.js +3 -8
- package/ember_debug/main.js +11 -11
- package/ember_debug/mixins/port-mixin.js +1 -3
- package/ember_debug/models/profile-manager.js +135 -3
- package/ember_debug/models/profile-node.js +2 -4
- package/ember_debug/models/promise.js +3 -4
- package/ember_debug/object-inspector.js +15 -19
- package/ember_debug/port.js +7 -5
- package/ember_debug/promise-debug.js +16 -17
- package/ember_debug/render-debug.js +11 -4
- package/ember_debug/route-debug.js +5 -10
- package/ember_debug/services/session.js +1 -3
- package/ember_debug/utils/ember/application.js +11 -0
- package/ember_debug/utils/ember/array/index.js +11 -0
- package/ember_debug/utils/ember/array/mutable.js +11 -0
- package/ember_debug/utils/ember/array/proxy.js +11 -0
- package/ember_debug/utils/ember/component.js +11 -0
- package/ember_debug/utils/ember/debug.js +15 -0
- package/ember_debug/utils/{ember.js → ember/index.js} +1 -0
- package/ember_debug/utils/ember/instrumentation.js +11 -0
- package/ember_debug/utils/ember/object/computed.js +11 -0
- package/ember_debug/utils/ember/object/evented.js +11 -0
- package/ember_debug/utils/ember/object/index.js +15 -0
- package/ember_debug/utils/ember/object/internals.js +11 -0
- package/ember_debug/utils/ember/object/mixin.js +11 -0
- package/ember_debug/utils/ember/object/observable.js +11 -0
- package/ember_debug/utils/ember/object/promise-proxy-mixin.js +13 -0
- package/ember_debug/utils/ember/runloop.js +17 -0
- package/ember_debug/utils/ember/utils.js +11 -0
- package/ember_debug/utils/rsvp.js +14 -0
- package/ember_debug/vendor/startup-wrapper.js +21 -12
- package/ember_debug/view-debug.js +2 -3
- package/package.json +43 -37
- package/tests/acceptance/app-picker-test.js +3 -3
- package/tests/acceptance/component-tree-test.js +17 -3
- package/tests/acceptance/container-test.js +8 -6
- package/tests/acceptance/data-test.js +2 -0
- package/tests/acceptance/deprecation-test.js +4 -0
- package/tests/acceptance/object-inspector-test.js +29 -1
- package/tests/acceptance/promise-test.js +11 -1
- package/tests/acceptance/route-tree-test.js +10 -0
- package/tests/acceptance/whats-new-test.js +1 -1
- package/tests/ember_debug/ember-debug-test.js +2 -0
- package/tests/ember_debug/object-inspector-test.js +54 -22
- package/tests/ember_debug/profile-manager-test.js +563 -6
- package/tests/ember_debug/profile-node-test.js +5 -5
- package/tests/ember_debug/promise-assembler-test.js +2 -0
- package/tests/ember_debug/promise-debug-test.js +7 -5
- package/tests/ember_debug/render-debug-test.js +1 -1
- package/tests/ember_debug/view-debug-test.js +8 -8
- package/tests/helpers/setup-ember-debug-test.js +11 -6
- package/tests/index.html +8 -1
- package/tests/integration/components/component-tree-arg-test.js +1 -1
- package/tests/test-adapter.js +1 -1
- package/tests/test-helper.js +5 -1
- package/tests/unit/check-current-route-test.js +4 -0
- package/tests/unit/is-route-substate-test.js +8 -8
- package/tests/unit/match-test.js +2 -2
- package/app/templates/records-toolbar.hbs +0 -26
- package/app/templates/render-tree-toolbar.hbs +0 -20
- package/tests/.eslintrc.js +0 -8
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
import config from 'ember-inspector/config/environment';
|
|
2
|
-
import PromiseAssembler from 'ember-inspector/libs/promise-assembler';
|
|
3
2
|
|
|
4
3
|
export default {
|
|
5
4
|
name: 'setup',
|
|
6
5
|
initialize(instance) {
|
|
7
6
|
// {{EMBER_DIST}} is replaced by the build process (basic, chrome, etc)
|
|
8
|
-
let Adapter = instance.resolveRegistration(
|
|
7
|
+
let Adapter = instance.resolveRegistration(
|
|
8
|
+
`service:adapters/{{EMBER_DIST}}`
|
|
9
|
+
);
|
|
9
10
|
|
|
10
|
-
// register
|
|
11
|
-
register(instance, 'adapter
|
|
12
|
-
instance.inject('controller:deprecations', 'adapter', 'adapter:main');
|
|
13
|
-
instance.inject('route:application', 'adapter', 'adapter:main');
|
|
14
|
-
instance.inject('route:deprecations', 'adapter', 'adapter:main');
|
|
15
|
-
instance.inject('service:port', 'adapter', 'adapter:main');
|
|
11
|
+
// register the adapter service
|
|
12
|
+
register(instance, 'service:adapter', Adapter);
|
|
16
13
|
|
|
17
|
-
// register config
|
|
18
|
-
register(instance, 'config
|
|
19
|
-
instance.inject('route', 'config', 'config:main');
|
|
20
|
-
|
|
21
|
-
// inject port
|
|
22
|
-
instance.inject('promise-assembler', 'port', 'service:port');
|
|
23
|
-
|
|
24
|
-
// register and inject promise assembler
|
|
25
|
-
register(instance, 'promise-assembler:main', PromiseAssembler);
|
|
26
|
-
instance.inject('route:promiseTree', 'assembler', 'promise-assembler:main');
|
|
14
|
+
// register the config service
|
|
15
|
+
register(instance, 'service:config', config, { instantiate: false });
|
|
27
16
|
},
|
|
28
17
|
};
|
|
29
18
|
|
package/app/models/promise.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { observes } from '@ember-decorators/object';
|
|
2
2
|
import { or, equal, not } from '@ember/object/computed';
|
|
3
|
-
import { assign } from '@ember/polyfills';
|
|
4
3
|
import { once } from '@ember/runloop';
|
|
5
4
|
import { typeOf, isEmpty } from '@ember/utils';
|
|
6
5
|
// eslint-disable-next-line ember/no-observers
|
|
@@ -203,9 +202,9 @@ export default class Promise extends EmberObject {
|
|
|
203
202
|
}
|
|
204
203
|
|
|
205
204
|
_allChildren() {
|
|
206
|
-
let children =
|
|
205
|
+
let children = [...this.children];
|
|
207
206
|
children.forEach((item) => {
|
|
208
|
-
children =
|
|
207
|
+
children = [...children, item._allChildren()];
|
|
209
208
|
});
|
|
210
209
|
return children;
|
|
211
210
|
}
|
|
@@ -213,7 +212,7 @@ export default class Promise extends EmberObject {
|
|
|
213
212
|
_allParents() {
|
|
214
213
|
let parent = this.parent;
|
|
215
214
|
if (parent) {
|
|
216
|
-
return
|
|
215
|
+
return [parent, ...parent._allParents()];
|
|
217
216
|
} else {
|
|
218
217
|
return [];
|
|
219
218
|
}
|
|
@@ -2,18 +2,10 @@ import { inject as service } from '@ember/service';
|
|
|
2
2
|
import { set, get, action } from '@ember/object';
|
|
3
3
|
import Route from '@ember/routing/route';
|
|
4
4
|
import Ember from 'ember';
|
|
5
|
-
|
|
6
5
|
const { NativeArray } = Ember;
|
|
7
6
|
|
|
8
7
|
export default class ApplicationRoute extends Route {
|
|
9
|
-
|
|
10
|
-
* Service used to broadcast changes to the application's layout
|
|
11
|
-
* such as toggling of the object inspector.
|
|
12
|
-
*
|
|
13
|
-
* @property layoutService
|
|
14
|
-
* @type {Service}
|
|
15
|
-
*/
|
|
16
|
-
@service('layout') layoutService;
|
|
8
|
+
@service adapter;
|
|
17
9
|
@service port;
|
|
18
10
|
|
|
19
11
|
setupController(controller) {
|
|
@@ -56,11 +48,7 @@ export default class ApplicationRoute extends Route {
|
|
|
56
48
|
}
|
|
57
49
|
|
|
58
50
|
updateObject(options) {
|
|
59
|
-
|
|
60
|
-
name = options.name,
|
|
61
|
-
property = options.property,
|
|
62
|
-
objectId = options.objectId,
|
|
63
|
-
errors = options.errors;
|
|
51
|
+
let { details, errors, name, objectId, property } = options;
|
|
64
52
|
|
|
65
53
|
NativeArray.apply(details);
|
|
66
54
|
details.forEach(arrayize);
|
|
@@ -20,11 +20,13 @@ export default class ComponentTreeRoute extends TabRoute {
|
|
|
20
20
|
|
|
21
21
|
setupController(controller, message) {
|
|
22
22
|
super.setupController(...arguments);
|
|
23
|
+
|
|
23
24
|
this.setRenderTree(message);
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
activate() {
|
|
27
28
|
super.activate(...arguments);
|
|
29
|
+
|
|
28
30
|
this.port.on('view:renderTree', this, this.setRenderTree);
|
|
29
31
|
this.port.on('view:cancelSelection', this, this.cancelSelection);
|
|
30
32
|
this.port.on('view:startInspecting', this, this.startInspecting);
|
|
@@ -34,6 +36,7 @@ export default class ComponentTreeRoute extends TabRoute {
|
|
|
34
36
|
|
|
35
37
|
deactivate() {
|
|
36
38
|
super.deactivate(...arguments);
|
|
39
|
+
|
|
37
40
|
this.port.off('view:renderTree', this, this.setRenderTree);
|
|
38
41
|
this.port.off('view:cancelSelection', this, this.cancelSelection);
|
|
39
42
|
this.port.off('view:startInspecting', this, this.startInspecting);
|
|
@@ -4,6 +4,7 @@ import { setProperties, action } from '@ember/object';
|
|
|
4
4
|
import TabRoute from 'ember-inspector/routes/tab';
|
|
5
5
|
|
|
6
6
|
export default class DeprecationsRoute extends TabRoute {
|
|
7
|
+
@service adapter;
|
|
7
8
|
@service port;
|
|
8
9
|
|
|
9
10
|
model() {
|
|
@@ -15,16 +16,19 @@ export default class DeprecationsRoute extends TabRoute {
|
|
|
15
16
|
|
|
16
17
|
setupController(controller, message) {
|
|
17
18
|
super.setupController(...arguments);
|
|
19
|
+
|
|
18
20
|
this.deprecationsAdded(message);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
activate() {
|
|
22
24
|
super.activate(...arguments);
|
|
25
|
+
|
|
23
26
|
this.port.on('deprecation:deprecationsAdded', this, this.deprecationsAdded);
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
deactivate() {
|
|
27
30
|
super.deactivate(...arguments);
|
|
31
|
+
|
|
28
32
|
this.port.off(
|
|
29
33
|
'deprecation:deprecationsAdded',
|
|
30
34
|
this,
|
package/app/routes/launch.js
CHANGED
package/app/routes/libraries.js
CHANGED
|
@@ -2,10 +2,15 @@ import { get, set } from '@ember/object';
|
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { Promise } from 'rsvp';
|
|
4
4
|
import TabRoute from 'ember-inspector/routes/tab';
|
|
5
|
+
import PromiseAssembler from 'ember-inspector/libs/promise-assembler';
|
|
5
6
|
|
|
6
7
|
export default class PromiseTreeRoute extends TabRoute {
|
|
7
8
|
@service port;
|
|
8
9
|
|
|
10
|
+
assembler = PromiseAssembler.create({
|
|
11
|
+
port: this.port,
|
|
12
|
+
});
|
|
13
|
+
|
|
9
14
|
model() {
|
|
10
15
|
// block rendering until first batch arrives
|
|
11
16
|
// Helps prevent flashing of "please refresh the page"
|
|
@@ -19,6 +24,7 @@ export default class PromiseTreeRoute extends TabRoute {
|
|
|
19
24
|
|
|
20
25
|
setupController() {
|
|
21
26
|
super.setupController(...arguments);
|
|
27
|
+
|
|
22
28
|
this.port.on(
|
|
23
29
|
'promise:instrumentWithStack',
|
|
24
30
|
this,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { action, get, set } from '@ember/object';
|
|
1
|
+
import EmberObject, { action, get, set } from '@ember/object';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { Promise } from 'rsvp';
|
|
4
4
|
import TabRoute from 'ember-inspector/routes/tab';
|
|
@@ -9,16 +9,20 @@ export default class RenderTreeRoute extends TabRoute {
|
|
|
9
9
|
model() {
|
|
10
10
|
const port = this.port;
|
|
11
11
|
return new Promise(function (resolve) {
|
|
12
|
-
port.one(
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
port.one(
|
|
13
|
+
'render:profilesAdded',
|
|
14
|
+
function ({ profiles, isHighlightSupported }) {
|
|
15
|
+
resolve(EmberObject.create({ profiles, isHighlightSupported }));
|
|
16
|
+
}
|
|
17
|
+
);
|
|
15
18
|
port.send('render:watchProfiles');
|
|
16
19
|
});
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
setupController(controller, model) {
|
|
20
23
|
super.setupController(...arguments);
|
|
21
|
-
|
|
24
|
+
|
|
25
|
+
if (get(model, 'profiles.length') === 0) {
|
|
22
26
|
controller.set('initialEmpty', true);
|
|
23
27
|
}
|
|
24
28
|
const port = this.port;
|
|
@@ -27,6 +31,8 @@ export default class RenderTreeRoute extends TabRoute {
|
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
deactivate() {
|
|
34
|
+
super.deactivate(...arguments);
|
|
35
|
+
|
|
30
36
|
const port = this.port;
|
|
31
37
|
port.off('render:profilesUpdated', this, this.profilesUpdated);
|
|
32
38
|
port.off('render:profilesAdded', this, this.profilesAdded);
|
|
@@ -34,16 +40,27 @@ export default class RenderTreeRoute extends TabRoute {
|
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
profilesUpdated(message) {
|
|
37
|
-
set(this, 'controller.model', message.profiles);
|
|
43
|
+
set(this, 'controller.model.profiles', message.profiles);
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
profilesAdded(message) {
|
|
41
|
-
const
|
|
47
|
+
const currentProfiles = get(this, 'controller.model.profiles');
|
|
42
48
|
const profiles = message.profiles;
|
|
49
|
+
if (
|
|
50
|
+
message.isHighlightSupported !== undefined &&
|
|
51
|
+
message.isHighlightSupported !==
|
|
52
|
+
get(this, 'controller.model.isHighlightSupported')
|
|
53
|
+
) {
|
|
54
|
+
set(
|
|
55
|
+
this,
|
|
56
|
+
'controller.model.isHighlightSupported',
|
|
57
|
+
message.isHighlightSupported
|
|
58
|
+
);
|
|
59
|
+
}
|
|
43
60
|
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
set(this, 'controller.model',
|
|
61
|
+
currentProfiles.pushObjects(profiles);
|
|
62
|
+
if (currentProfiles.length > 100) {
|
|
63
|
+
set(this, 'controller.model.profiles', currentProfiles.slice(0, 100));
|
|
47
64
|
}
|
|
48
65
|
}
|
|
49
66
|
|
package/app/routes/route-tree.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { inject as service } from '@ember/service';
|
|
2
|
-
import { assign } from '@ember/polyfills';
|
|
3
2
|
import { set } from '@ember/object';
|
|
4
3
|
import TabRoute from 'ember-inspector/routes/tab';
|
|
5
4
|
|
|
@@ -7,6 +6,8 @@ export default class RouteTreeRoute extends TabRoute {
|
|
|
7
6
|
@service port;
|
|
8
7
|
|
|
9
8
|
setupController() {
|
|
9
|
+
super.setupController(...arguments);
|
|
10
|
+
|
|
10
11
|
this.port.on('route:currentRoute', this, this.setCurrentRoute);
|
|
11
12
|
this.port.send('route:getCurrentRoute');
|
|
12
13
|
this.port.on('route:routeTree', this, this.setTree);
|
|
@@ -31,7 +32,7 @@ export default class RouteTreeRoute extends TabRoute {
|
|
|
31
32
|
|
|
32
33
|
function topSort(tree, list) {
|
|
33
34
|
list = list || [];
|
|
34
|
-
let route =
|
|
35
|
+
let route = { ...tree };
|
|
35
36
|
delete route.children;
|
|
36
37
|
// Firt node in the tree doesn't have a value
|
|
37
38
|
if (route.value) {
|
package/app/routes/tab.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/* eslint no-empty:0 */
|
|
2
1
|
import Route from '@ember/routing/route';
|
|
2
|
+
import { scheduleOnce } from '@ember/runloop';
|
|
3
3
|
|
|
4
4
|
export default class TabRoute extends Route {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
setupController(controller) {
|
|
6
|
+
super.setupController(...arguments);
|
|
7
|
+
|
|
8
|
+
function setToolbarContainer() {
|
|
9
|
+
controller.set('toolbarContainer', document.querySelector('#toolbar'));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
scheduleOnce('afterRender', this, setToolbarContainer);
|
|
13
13
|
}
|
|
14
14
|
}
|
package/app/routes/whats-new.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import TabRoute from 'ember-inspector/routes/tab';
|
|
2
|
+
import { inject as service } from '@ember/service';
|
|
2
3
|
import { tracked } from '@glimmer/tracking';
|
|
3
4
|
import fetch from 'fetch';
|
|
4
5
|
|
|
@@ -19,6 +20,7 @@ function getLatestEntry(doc) {
|
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
export default class WhatsNewRoute extends TabRoute {
|
|
23
|
+
@service config;
|
|
22
24
|
@tracked error = false;
|
|
23
25
|
|
|
24
26
|
model() {
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
* });
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
import
|
|
14
|
+
import Service from '@ember/service';
|
|
15
15
|
import { tracked } from '@glimmer/tracking';
|
|
16
16
|
import config from 'ember-inspector/config/environment';
|
|
17
17
|
|
|
18
|
-
export default class Basic extends
|
|
18
|
+
export default class Basic extends Service {
|
|
19
19
|
@tracked canOpenResource = false;
|
|
20
20
|
name = 'basic';
|
|
21
21
|
|
|
@@ -32,7 +32,7 @@ export default class Basic extends EmberObject {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* Listens to
|
|
35
|
+
* Listens to Ember Inspector message about
|
|
36
36
|
* Ember version mismatch. If a mismatch message is received
|
|
37
37
|
* it means the current inspector app does not support the current
|
|
38
38
|
* Ember version and needs to switch to an inspector version
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/app/services/port.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { set } from '@ember/object';
|
|
2
2
|
import Evented from '@ember/object/evented';
|
|
3
|
-
import Service from '@ember/service';
|
|
4
|
-
|
|
3
|
+
import Service, { inject as service } from '@ember/service';
|
|
5
4
|
export default class PortService extends Service.extend(Evented) {
|
|
5
|
+
@service adapter;
|
|
6
|
+
|
|
6
7
|
applicationId = undefined;
|
|
7
8
|
applicationName = undefined;
|
|
8
9
|
|
|
@@ -1,13 +1,29 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<ComponentTreeToolbar
|
|
4
|
+
@collapseAll={{this.collapseAll}}
|
|
5
|
+
@expandAll={{this.expandAll}}
|
|
6
|
+
@isInspecting={{this.isInspecting}}
|
|
7
|
+
@query={{this.query}}
|
|
8
|
+
@toggleInspect={{this.toggleInspect}}
|
|
9
|
+
/>
|
|
10
|
+
{{/in-element}}
|
|
11
|
+
{{/if}}
|
|
12
|
+
|
|
1
13
|
<ScrollContainer
|
|
2
|
-
{{did-insert this.arrowKeysSetup}}
|
|
3
|
-
{{will-destroy this.arrowKeysTeardown}}
|
|
4
14
|
@collection={{this.visibleItems}}
|
|
5
15
|
@currentItem={{this.currentItem}}
|
|
6
16
|
@itemHeight={{this.itemHeight}}
|
|
7
17
|
class="list__content"
|
|
8
18
|
tabindex="-1"
|
|
19
|
+
{{did-insert this.arrowKeysSetup}}
|
|
20
|
+
{{will-destroy this.arrowKeysTeardown}}
|
|
9
21
|
>
|
|
10
|
-
{{#vertical-collection
|
|
22
|
+
{{#vertical-collection
|
|
23
|
+
this.visibleItems
|
|
24
|
+
estimateHeight=this.itemHeight
|
|
25
|
+
key="id" as |item|
|
|
26
|
+
}}
|
|
11
27
|
<ComponentTreeItem @item={{item}} />
|
|
12
28
|
{{/vertical-collection}}
|
|
13
|
-
</ScrollContainer>
|
|
29
|
+
</ScrollContainer>
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<ContainerTypeToolbar
|
|
4
|
+
@reload={{action send "reload"}}
|
|
5
|
+
@searchValue={{this.searchValue}}
|
|
6
|
+
@sendContainerToConsole={{this.sendContainerToConsole}}
|
|
7
|
+
/>
|
|
8
|
+
{{/in-element}}
|
|
9
|
+
{{/if}}
|
|
10
|
+
|
|
1
11
|
<EmberTable as |t|>
|
|
2
12
|
<t.head
|
|
3
13
|
@columns={{this.columns}}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<DeprecationsToolbar
|
|
4
|
+
@changeDeprecationWorkflow={{this.changeDeprecationWorkflow}}
|
|
5
|
+
@clear={{action send "clear"}}
|
|
6
|
+
@searchValue={{this.searchValue}}
|
|
7
|
+
@toggleDeprecationWorkflow={{this.toggleDeprecationWorkflow}}
|
|
8
|
+
/>
|
|
9
|
+
{{/in-element}}
|
|
10
|
+
{{/if}}
|
|
11
|
+
|
|
1
12
|
{{#if filtered.length}}
|
|
2
13
|
<div class="list__content js-deprecations" style="height: 100%;">
|
|
3
|
-
{{#vertical-collection
|
|
4
|
-
filtered
|
|
5
|
-
estimateHeight=20
|
|
6
|
-
as |content|
|
|
7
|
-
}}
|
|
14
|
+
{{#vertical-collection filtered estimateHeight=20 as |content|}}
|
|
8
15
|
<DeprecationItem
|
|
9
16
|
@model={{content}}
|
|
10
17
|
@openResource={{this.openResource}}
|
|
@@ -19,11 +26,7 @@
|
|
|
19
26
|
No deprecations have been detected. Try reloading to catch the
|
|
20
27
|
deprecations that were logged before you opened the inspector.
|
|
21
28
|
</p>
|
|
22
|
-
<button
|
|
23
|
-
class="js-page-refresh-btn"
|
|
24
|
-
{{action "refreshPage"}}
|
|
25
|
-
type="button"
|
|
26
|
-
>
|
|
29
|
+
<button class="js-page-refresh-btn" type="button" {{action "refreshPage"}}>
|
|
27
30
|
Reload
|
|
28
31
|
</button>
|
|
29
32
|
</Ui::EmptyMessage>
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<LibrariesToolbar />
|
|
4
|
+
{{/in-element}}
|
|
5
|
+
{{/if}}
|
|
6
|
+
|
|
1
7
|
<EmberTable as |t|>
|
|
2
|
-
<t.head
|
|
3
|
-
@columns={{schema-for "info-list"}}
|
|
4
|
-
@enableReorder={{false}}
|
|
5
|
-
/>
|
|
8
|
+
<t.head @columns={{schema-for "info-list"}} @enableReorder={{false}} />
|
|
6
9
|
|
|
7
10
|
<t.body @rows={{rows}} as |b|>
|
|
8
11
|
<b.row
|
|
9
|
-
class={{
|
|
10
|
-
|
|
12
|
+
class={{
|
|
13
|
+
concat "js-library-row" (if (mod b.rowMeta.index 2) " striped")
|
|
14
|
+
}} as |r|
|
|
11
15
|
>
|
|
12
|
-
<r.cell
|
|
13
|
-
class={{concat "js-lib-" r.columnValue.valuePath}}
|
|
14
|
-
as |value|
|
|
15
|
-
>
|
|
16
|
+
<r.cell class={{concat "js-lib-" r.columnValue.valuePath}} as |value|>
|
|
16
17
|
{{value}}
|
|
17
18
|
</r.cell>
|
|
18
19
|
</b.row>
|
|
19
20
|
</t.body>
|
|
20
|
-
</EmberTable>
|
|
21
|
+
</EmberTable>
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<ModelTypesToolbar
|
|
4
|
+
@getStore={{this.getStore}}
|
|
5
|
+
@hideEmptyModelTypes={{this.hideEmptyModelTypes}}
|
|
6
|
+
@orderByRecordCount={{this.orderByRecordCount}}
|
|
7
|
+
@reload={{action send "reload"}}
|
|
8
|
+
/>
|
|
9
|
+
{{/in-element}}
|
|
10
|
+
{{/if}}
|
|
11
|
+
|
|
1
12
|
<ItemTypes
|
|
2
13
|
@header="Model Types"
|
|
3
|
-
@sorted={{
|
|
14
|
+
@sorted={{
|
|
15
|
+
readonly (if this.orderByRecordCount this.sortByDescCount this.sortByName)
|
|
16
|
+
}}
|
|
4
17
|
@type="model"
|
|
5
18
|
@width={{this.navWidth}}
|
|
6
19
|
>
|
|
7
20
|
{{outlet}}
|
|
8
|
-
</ItemTypes>
|
|
21
|
+
</ItemTypes>
|
|
@@ -1,13 +1,28 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<PromiseTreeToolbar
|
|
4
|
+
@clear={{this.clear}}
|
|
5
|
+
@filter={{this.filter}}
|
|
6
|
+
@instrumentWithStack={{this.instrumentWithStack}}
|
|
7
|
+
@refreshPage={{action send "refreshPage"}}
|
|
8
|
+
@searchValue={{this.searchValue}}
|
|
9
|
+
@setFilter={{this.setFilter}}
|
|
10
|
+
@updateInstrumentWithStack={{this.updateInstrumentWithStack}}
|
|
11
|
+
/>
|
|
12
|
+
{{/in-element}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
|
|
1
15
|
{{#if this.shouldRefresh}}
|
|
2
16
|
<Ui::EmptyMessage class="js-page-refresh">
|
|
3
|
-
<p>
|
|
4
|
-
|
|
17
|
+
<p>
|
|
18
|
+
Reload the page to see promises created before you opened the inspector.
|
|
19
|
+
</p>
|
|
20
|
+
<button class="js-page-refresh-btn" type="button" {{action "refreshPage"}}>
|
|
21
|
+
Reload
|
|
22
|
+
</button>
|
|
5
23
|
</Ui::EmptyMessage>
|
|
6
24
|
{{else}}
|
|
7
|
-
<List
|
|
8
|
-
class="js-promise-tree"
|
|
9
|
-
@schema={{schema-for "promise-tree"}} as |list|
|
|
10
|
-
>
|
|
25
|
+
<List class="js-promise-tree" @schema={{schema-for "promise-tree"}} as |list|>
|
|
11
26
|
{{#list.vertical-collection this.filtered as |content index|}}
|
|
12
27
|
<tr class="list__row js-promise-tree-item {{if (mod index 2) "striped"}}">
|
|
13
28
|
<PromiseItem
|
|
@@ -23,4 +38,4 @@
|
|
|
23
38
|
</tr>
|
|
24
39
|
{{/list.vertical-collection}}
|
|
25
40
|
</List>
|
|
26
|
-
{{/if}}
|
|
41
|
+
{{/if}}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
{{#if this.toolbarContainer}}
|
|
2
|
+
{{#in-element this.toolbarContainer}}
|
|
3
|
+
<RecordsToolbar
|
|
4
|
+
@filters={{this.filters}}
|
|
5
|
+
@filterValue={{this.filterValue}}
|
|
6
|
+
@searchValue={{this.searchValue}}
|
|
7
|
+
@setFilter={{this.setFilter}}
|
|
8
|
+
/>
|
|
9
|
+
{{/in-element}}
|
|
10
|
+
{{/if}}
|
|
11
|
+
|
|
1
12
|
<EmberTable as |t|>
|
|
2
13
|
<t.head
|
|
3
14
|
@columns={{this.columns}}
|
|
4
15
|
@sorts={{this.sorts}}
|
|
5
|
-
@onUpdateSorts={{this.updateSorts}}
|
|
6
|
-
as |h|
|
|
16
|
+
@onUpdateSorts={{this.updateSorts}} as |h|
|
|
7
17
|
>
|
|
8
18
|
<h.row as |r|>
|
|
9
19
|
<r.cell data-test-table-header-column />
|
|
@@ -13,13 +23,11 @@
|
|
|
13
23
|
@rows={{this.filteredRecords}}
|
|
14
24
|
@checkboxSelectionMode="none"
|
|
15
25
|
@selection={{this.selection}}
|
|
16
|
-
@onSelect={{this.inspectModel}}
|
|
17
|
-
as |b|
|
|
26
|
+
@onSelect={{this.inspectModel}} as |b|
|
|
18
27
|
>
|
|
19
28
|
<b.row
|
|
20
29
|
class={{if (mod b.rowMeta.index 2) "striped"}}
|
|
21
|
-
data-test-table-row
|
|
22
|
-
as |r|
|
|
30
|
+
data-test-table-row as |r|
|
|
23
31
|
>
|
|
24
32
|
<r.cell data-test-table-cell as |value column row|>
|
|
25
33
|
<span class={{row.color}}>
|
|
@@ -28,4 +36,4 @@
|
|
|
28
36
|
</r.cell>
|
|
29
37
|
</b.row>
|
|
30
38
|
</t.body>
|
|
31
|
-
</EmberTable>
|
|
39
|
+
</EmberTable>
|