ember-inspector 4.13.1-alpha.2024.8.9 → 4.13.1-alpha.2025.6.8
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/README.md +10 -2
- package/app/components/app-picker.hbs +2 -2
- package/app/components/component-tree-item.hbs +13 -13
- package/app/components/component-tree-toolbar.hbs +3 -3
- package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
- package/app/components/deprecation-item-source.hbs +1 -1
- package/app/components/deprecation-item.hbs +1 -1
- package/app/components/deprecations-toolbar.hbs +1 -1
- package/app/components/item-types.hbs +7 -7
- package/app/components/list-cell.hbs +3 -3
- package/app/components/list-content.hbs +4 -3
- package/app/components/list-content.ts +96 -0
- package/app/components/list.hbs +3 -3
- package/app/components/list.js +7 -7
- package/app/components/model-types-toolbar.hbs +3 -3
- package/app/components/object-inspector/dependent-keys.hbs +4 -4
- package/app/components/object-inspector/errors.hbs +4 -4
- package/app/components/object-inspector/properties-all.hbs +1 -1
- package/app/components/object-inspector/properties-grouped.hbs +5 -5
- package/app/components/object-inspector/property.hbs +16 -16
- package/app/components/object-inspector/property.ts +26 -17
- package/app/components/object-inspector/sort-properties.js +12 -4
- package/app/components/object-inspector.hbs +8 -8
- package/app/components/object-inspector.js +1 -1
- package/app/components/promise-item.hbs +11 -11
- package/app/components/promise-item.js +8 -6
- package/app/components/promise-tree-toolbar.hbs +5 -5
- package/app/components/records-toolbar.hbs +2 -2
- package/app/components/render-item.hbs +4 -4
- package/app/components/render-item.ts +12 -9
- package/app/components/render-tree-toolbar.hbs +1 -1
- package/app/components/route-cell-name.hbs +1 -1
- package/app/components/route-cell-name.js +3 -2
- package/app/components/route-tree-toolbar.hbs +2 -2
- package/app/components/scroll-container.js +2 -0
- package/app/components/side-nav.hbs +5 -5
- package/app/components/side-nav.js +1 -1
- package/app/computed/{debounce.js → debounce.ts} +7 -5
- package/app/config/environment.d.ts +5 -2
- package/app/controllers/app-config.js +1 -0
- package/app/controllers/application.js +33 -34
- package/app/controllers/component-tree.js +3 -2
- package/app/controllers/container-type.js +2 -1
- package/app/controllers/container-types/{index.js → index.ts} +5 -2
- package/app/controllers/container-types.js +3 -6
- package/app/controllers/deprecations.js +16 -11
- package/app/controllers/libraries.js +1 -0
- package/app/controllers/model-types.js +1 -0
- package/app/controllers/promise-tree.ts +149 -0
- package/app/controllers/records.js +18 -26
- package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
- package/app/controllers/route-tree.js +7 -5
- package/app/helpers/build-style.js +1 -1
- package/app/initializers/setup.js +1 -1
- package/app/libs/promise-assembler.ts +249 -0
- package/app/libs/resizable-columns.js +10 -10
- package/app/models/{promise.js → promise.ts} +72 -69
- package/app/{router.js → router.ts} +1 -1
- package/app/routes/app-detected.js +3 -5
- package/app/routes/application.js +6 -12
- package/app/routes/deprecations.js +7 -16
- package/app/routes/launch.js +2 -1
- package/app/routes/libraries.js +2 -1
- package/app/routes/model-type.js +2 -3
- package/app/routes/model-types.ts +57 -0
- package/app/routes/promise-tree.ts +63 -0
- package/app/routes/records.ts +78 -0
- package/app/routes/render-tree.ts +93 -0
- package/app/routes/route-tree.js +0 -1
- package/app/routes/{tab.js → tab.ts} +9 -2
- package/app/routes/whats-new.js +1 -1
- package/app/services/adapters/{basic.js → basic.ts} +36 -30
- package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
- package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
- package/app/services/adapters/{web-extension.js → web-extension.ts} +43 -46
- package/app/services/adapters/websocket.ts +40 -0
- package/app/services/layout.ts +88 -0
- package/app/services/port.ts +195 -0
- package/app/services/storage/{local.js → local.ts} +7 -20
- package/app/services/storage/{memory.js → memory.ts} +6 -21
- package/app/services/{storage.js → storage.ts} +9 -20
- package/app/styles/base.scss +4 -2
- package/app/styles/colors.scss +33 -31
- package/app/styles/component_tree.scss +56 -51
- package/app/styles/dropdown.scss +2 -2
- package/app/styles/ember-table.scss +3 -3
- package/app/styles/mixin.scss +26 -26
- package/app/styles/object_inspector.scss +22 -21
- package/app/styles/utils.scss +408 -122
- package/app/templates/application.hbs +11 -11
- package/app/templates/component-tree.hbs +1 -1
- package/app/templates/deprecations.hbs +2 -3
- package/app/templates/info.hbs +10 -10
- package/app/templates/promise-tree.hbs +1 -1
- package/app/templates/render-tree.hbs +1 -1
- package/app/templates/route-tree.hbs +1 -1
- package/app/utils/escape-reg-exp.ts +3 -2
- package/app/utils/nullish.ts +7 -0
- package/app/utils/parse-text.ts +4 -5
- package/app/utils/truncate.js +0 -1
- package/config/ember-cli-update.json +5 -3
- package/config/ember-try.js +117 -72
- package/config/environment.js +1 -1
- package/config/optional-features.json +2 -1
- package/dist/bookmarklet/load_inspector.js +30 -11
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +150 -155
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +486 -590
- package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +147 -148
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +5153 -5980
- package/dist/bookmarklet/panes-3-16-0/ember_debug.js +250 -268
- package/dist/bookmarklet/panes-3-16-0/index.html +3 -4
- package/dist/chrome/background.js +26 -21
- package/dist/chrome/boot.js +1 -1
- package/dist/chrome/content-script.js +11 -11
- package/dist/chrome/devtools.js +12 -3
- package/dist/chrome/manifest.json +2 -2
- package/dist/chrome/options.js +17 -12
- package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +150 -155
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +486 -590
- package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/chrome/panes-3-16-0/assets/vendor.css +147 -148
- package/dist/chrome/panes-3-16-0/assets/vendor.js +5153 -5980
- package/dist/chrome/panes-3-16-0/ember_debug.js +250 -268
- package/dist/chrome/panes-3-16-0/index.html +3 -4
- package/dist/chrome/scripts/in-page-script.js +19 -13
- package/dist/firefox/background.js +26 -21
- package/dist/firefox/boot.js +1 -1
- package/dist/firefox/content-script.js +11 -11
- package/dist/firefox/devtools.js +12 -3
- package/dist/firefox/manifest.json +2 -2
- package/dist/firefox/options.js +17 -12
- package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +150 -155
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +486 -590
- package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/firefox/panes-3-16-0/assets/vendor.css +147 -148
- package/dist/firefox/panes-3-16-0/assets/vendor.js +5153 -5980
- package/dist/firefox/panes-3-16-0/ember_debug.js +250 -268
- package/dist/firefox/panes-3-16-0/index.html +3 -4
- package/dist/firefox/scripts/in-page-script.js +19 -13
- package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/websocket/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/websocket/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/websocket/assets/ember-inspector.css +150 -155
- package/dist/websocket/assets/ember-inspector.js +486 -590
- package/dist/websocket/assets/svg/ellipsis.svg +3 -3
- package/dist/websocket/assets/svg/nav-bug.svg +1 -1
- package/dist/websocket/assets/svg/nav-components.svg +2 -2
- package/dist/websocket/assets/svg/nav-container.svg +1 -1
- package/dist/websocket/assets/svg/nav-data.svg +1 -1
- package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
- package/dist/websocket/assets/svg/nav-info.svg +3 -3
- package/dist/websocket/assets/svg/nav-promises.svg +2 -2
- package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
- package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
- package/dist/websocket/assets/vendor.css +147 -148
- package/dist/websocket/assets/vendor.js +5153 -5980
- package/dist/websocket/ember_debug.js +250 -268
- package/dist/websocket/index.html +3 -4
- package/ember-cli-build.js +11 -11
- package/ember_debug/adapters/basic.js +2 -1
- package/ember_debug/adapters/bookmarklet.js +1 -0
- package/ember_debug/adapters/firefox.js +3 -3
- package/ember_debug/adapters/web-extension.js +2 -1
- package/ember_debug/data-debug.js +5 -6
- package/ember_debug/deprecation-debug.js +8 -8
- package/ember_debug/general-debug.js +1 -1
- package/ember_debug/libs/capture-render-tree.js +0 -1
- package/ember_debug/libs/promise-assembler.js +1 -0
- package/ember_debug/libs/render-tree.js +13 -12
- package/ember_debug/libs/source-map.js +5 -4
- package/ember_debug/libs/view-inspection.js +12 -12
- package/ember_debug/main.js +1 -1
- package/ember_debug/models/profile-manager.js +2 -1
- package/ember_debug/object-inspector.js +19 -18
- package/ember_debug/port.js +1 -0
- package/ember_debug/promise-debug.js +1 -1
- package/ember_debug/route-debug.js +3 -2
- package/ember_debug/services/session.js +1 -1
- package/ember_debug/utils/classify.js +1 -1
- package/ember_debug/utils/ember/debug.js +2 -0
- package/ember_debug/utils/ember/loader.js +2 -2
- package/ember_debug/utils/ember/runloop.js +2 -0
- package/ember_debug/utils/ember-object-names.js +2 -2
- package/ember_debug/utils/ember.js +9 -3
- package/ember_debug/utils/evented.js +1 -1
- package/ember_debug/utils/get-object-name.js +2 -2
- package/ember_debug/utils/rsvp.js +1 -0
- package/ember_debug/utils/type-check.js +5 -1
- package/ember_debug/vendor/startup-wrapper.js +4 -1
- package/ember_debug/view-debug.js +3 -2
- package/eslint.config.mjs +172 -0
- package/gulpfile.js +1 -1
- package/lib/ui/addon/components/drag-handle.hbs +4 -4
- package/lib/ui/addon/components/drag-handle.js +3 -1
- package/lib/ui/addon/components/empty-message.hbs +1 -1
- package/lib/ui/addon/components/error-page.hbs +3 -3
- package/lib/ui/addon/components/resizable-column.js +1 -1
- package/lib/ui/addon/components/toolbar-clear-button.hbs +1 -1
- package/lib/ui/addon/components/toolbar-reload-button.hbs +1 -1
- package/lib/ui/addon/components/toolbar-search-field.hbs +2 -2
- package/lib/ui/addon/styles/_disclosure-triangle.scss +3 -1
- package/lib/ui/addon/styles/_drag-handle.scss +7 -7
- package/lib/ui/addon/styles/_empty-message.scss +1 -1
- package/lib/ui/addon/styles/_error-page.scss +8 -7
- package/lib/ui/addon/styles/_list.scss +46 -45
- package/lib/ui/addon/styles/_nav.scss +29 -27
- package/lib/ui/addon/styles/_object-inspector-toggle.scss +5 -5
- package/lib/ui/addon/styles/_pill.scss +4 -4
- package/lib/ui/addon/styles/_send-to-console.scss +1 -1
- package/lib/ui/addon/styles/_split.scss +17 -20
- package/lib/ui/addon/styles/addon.scss +13 -13
- package/lib/ui/addon/styles/toolbar/_checkbox.scss +5 -5
- package/lib/ui/addon/styles/toolbar/_icon-button.scss +44 -25
- package/lib/ui/addon/styles/toolbar/_index.scss +6 -5
- package/lib/ui/addon/styles/toolbar/_radio.scss +10 -10
- package/lib/ui/addon/styles/toolbar/_search.scss +5 -3
- package/package.json +85 -86
- package/public/assets/svg/ellipsis.svg +3 -3
- package/public/assets/svg/nav-bug.svg +1 -1
- package/public/assets/svg/nav-components.svg +2 -2
- package/public/assets/svg/nav-container.svg +1 -1
- package/public/assets/svg/nav-data.svg +1 -1
- package/public/assets/svg/nav-deprecations.svg +3 -3
- package/public/assets/svg/nav-info.svg +3 -3
- package/public/assets/svg/nav-promises.svg +2 -2
- package/public/assets/svg/nav-render-performance.svg +2 -2
- package/public/assets/svg/nav-route-tree.svg +7 -7
- package/scripts/download-panes.js +1 -1
- package/skeletons/bookmarklet/load_inspector.js +30 -11
- package/skeletons/web-extension/background.js +26 -21
- package/skeletons/web-extension/boot.js +1 -1
- package/skeletons/web-extension/content-script.js +11 -11
- package/skeletons/web-extension/devtools.js +12 -3
- package/skeletons/web-extension/manifest.json +2 -2
- package/skeletons/web-extension/options.js +17 -12
- package/skeletons/web-extension/scripts/in-page-script.js +19 -13
- package/testem.js +0 -1
- package/tests/acceptance/app-picker-test.js +4 -4
- package/tests/acceptance/component-tree-test.js +43 -57
- package/tests/acceptance/container-test.js +0 -2
- package/tests/acceptance/data-test.js +8 -10
- package/tests/acceptance/deprecation-test.js +8 -12
- package/tests/acceptance/info-test.js +2 -2
- package/tests/acceptance/object-inspector-test.js +62 -110
- package/tests/acceptance/promise-test.js +1 -11
- package/tests/acceptance/render-tree-test.js +2 -2
- package/tests/acceptance/route-tree-test.js +12 -14
- package/tests/acceptance/whats-new-test.js +3 -3
- package/tests/ember_debug/container-debug-test.js +4 -4
- package/tests/ember_debug/deprecation-debug-test.js +8 -5
- package/tests/ember_debug/ember-debug-test.js +1 -4
- package/tests/ember_debug/object-inspector-test.js +44 -44
- package/tests/ember_debug/profile-manager-test.js +140 -165
- package/tests/ember_debug/profile-node-test.js +3 -3
- package/tests/ember_debug/promise-assembler-test.js +12 -9
- package/tests/ember_debug/promise-debug-test.js +5 -6
- package/tests/ember_debug/route-debug-test.js +8 -7
- package/tests/ember_debug/view-debug-test.js +179 -181
- package/tests/helpers/{index.js → index.ts} +6 -5
- package/tests/helpers/setup-ember-debug-test.js +14 -0
- package/tests/integration/injection-test.js +12 -13
- package/tests/test-adapter.js +15 -15
- package/tests/test-helper.js +6 -1
- package/tests/unit/check-current-route-test.js +0 -4
- package/tests/unit/resizable-columns-test.js +53 -51
- package/tests/unit/utils/parse-text-test.js +3 -3
- package/tests/unit/utils/search-match-test.js +5 -5
- package/tests/unit/utils/type-check-test.js +22 -0
- package/tsconfig.json +3 -1
- package/types/ember-inspector/index.d.ts +2 -1
- package/types/global.d.ts +1 -7
- package/.editorconfig +0 -19
- package/.ember-cli +0 -15
- package/.eslintignore +0 -33
- package/.eslintrc.js +0 -86
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/dependabot.yml +0 -14
- package/.github/pull_request_template.md +0 -4
- package/.github/workflows/build.yml +0 -339
- package/.github/workflows/plan-release.yml +0 -83
- package/.github/workflows/publish.yml +0 -60
- package/.prettierignore +0 -25
- package/.prettierrc.js +0 -14
- package/.release-plan.json +0 -17
- package/.stylelintrc.js +0 -3
- package/.template-lintrc.js +0 -12
- package/.tool-versions +0 -2
- package/.watchmanconfig +0 -3
- package/app/components/.gitkeep +0 -0
- package/app/components/list-content.js +0 -130
- package/app/controllers/.gitkeep +0 -0
- package/app/controllers/promise-tree.js +0 -130
- package/app/helpers/.gitkeep +0 -0
- package/app/libs/promise-assembler.js +0 -169
- package/app/models/.gitkeep +0 -0
- package/app/routes/.gitkeep +0 -0
- package/app/routes/model-types.js +0 -47
- package/app/routes/promise-tree.js +0 -48
- package/app/routes/records.js +0 -55
- package/app/routes/render-tree.js +0 -66
- package/app/services/adapters/websocket.js +0 -31
- package/app/services/layout.js +0 -39
- package/app/services/port.js +0 -90
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/chrome/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/chrome/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/firefox/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/firefox/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/websocket/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/websocket/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/ember_debug/.eslintrc.js +0 -13
- package/tests/helpers/trigger-port.js +0 -6
- package/tests/unit/.gitkeep +0 -0
- /package/app/{app.js → app.ts} +0 -0
- /package/app/controllers/{info.js → info.ts} +0 -0
- /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
@@ -1,11 +1,11 @@
|
|
1
1
|
<li
|
2
|
-
class="{{if this.isOverridden "
|
2
|
+
class="{{if this.isOverridden "mixin-property-state-overridden line-through"}} mixin-property flex flex-row relative items-center truncate"
|
3
3
|
data-test-object-property
|
4
4
|
>
|
5
5
|
{{!-- Disclosure Triangle --}}
|
6
6
|
{{#if this.hasDependentKeys}}
|
7
7
|
<button
|
8
|
-
class="
|
8
|
+
class="mixin-cp-toggle {{if this.showDependentKeys "mixin-cp-toggle-expanded"}}"
|
9
9
|
{{on "click" this.toggleDeps}}
|
10
10
|
type="button"
|
11
11
|
>
|
@@ -22,23 +22,23 @@
|
|
22
22
|
|
23
23
|
{{!-- Property Icon --}}
|
24
24
|
<span
|
25
|
-
class="
|
25
|
+
class="mixin-property-icon-container flex-shrink-0"
|
26
26
|
role="button"
|
27
27
|
title={{if @model.code @model.code this.iconInfo.title}}
|
28
28
|
{{on "click" this.toggleDeps}}
|
29
29
|
>
|
30
|
-
<span class="
|
30
|
+
<span class="mixin-property-icon mixin-property-icon-{{this.iconInfo.type}} inline-block rounded font-mono text-md text-white text-center select-none"></span>
|
31
31
|
</span>
|
32
32
|
|
33
33
|
{{!-- Property Name --}}
|
34
34
|
<span
|
35
|
-
class="
|
35
|
+
class="mixin-property-name text-base14 truncate"
|
36
36
|
data-test-object-property-name
|
37
37
|
>
|
38
38
|
{{#if this.isService}}
|
39
39
|
<span
|
40
40
|
title="service"
|
41
|
-
class="
|
41
|
+
class="mixin-property--group"
|
42
42
|
data-test-property-name-service
|
43
43
|
>
|
44
44
|
{{@model.name}}
|
@@ -47,7 +47,7 @@
|
|
47
47
|
{{#if this.hasDependentKeys}}
|
48
48
|
<span
|
49
49
|
title="computed"
|
50
|
-
class="
|
50
|
+
class="mixin-property--group"
|
51
51
|
>
|
52
52
|
{{@model.name}}
|
53
53
|
</span>
|
@@ -62,7 +62,7 @@
|
|
62
62
|
{{#if this.isEdit}}
|
63
63
|
{{#if this.isDate}}
|
64
64
|
<DatePropertyField
|
65
|
-
class="
|
65
|
+
class="mixin-property-value-txt flex-1 text-base14 outline-none text-base bg-base01 js-object-property-value-date"
|
66
66
|
@allowInput={{true}}
|
67
67
|
@date={{readonly this.dateValue}}
|
68
68
|
@dateFormat="Y-m-d"
|
@@ -71,7 +71,7 @@
|
|
71
71
|
/>
|
72
72
|
{{else}}
|
73
73
|
<ObjectInspector::PropertyField
|
74
|
-
class="
|
74
|
+
class="mixin-property-value-txt flex-1 text-base14 text-base bg-base01 outline-none"
|
75
75
|
@value={{this.txtValue}}
|
76
76
|
@insert-newline={{this.save}}
|
77
77
|
@escape-press={{this.finishedEditing}}
|
@@ -83,17 +83,17 @@
|
|
83
83
|
{{#if this.canCalculate}}
|
84
84
|
<button
|
85
85
|
data-test-calculate
|
86
|
-
class="
|
86
|
+
class="mixin-calc-btn"
|
87
87
|
title="compute property"
|
88
88
|
type="button"
|
89
|
-
{{on "click" @calculate
|
89
|
+
{{on "click" (stop-propagation @calculate)}}
|
90
90
|
>
|
91
91
|
{{svg-jar "calculate" width="16px" height="16px"}}
|
92
92
|
</button>
|
93
93
|
{{/if}}
|
94
94
|
{{#if this.isDate}}
|
95
95
|
<span
|
96
|
-
class="{{@model.value.type}}
|
96
|
+
class="{{@model.value.type}} mixin-property-value truncate"
|
97
97
|
role="button"
|
98
98
|
{{on "click" this.dateClick}}
|
99
99
|
data-test-object-property-value
|
@@ -102,7 +102,7 @@
|
|
102
102
|
</span>
|
103
103
|
{{else}}
|
104
104
|
<span
|
105
|
-
class="{{@model.value.type}} {{if this.isService "type-service"}}
|
105
|
+
class="{{@model.value.type}} {{if this.isService "type-service"}} mixin-property-value truncate"
|
106
106
|
role="button"
|
107
107
|
{{on "click" this.valueClick}}
|
108
108
|
data-test-object-property-value
|
@@ -112,13 +112,13 @@
|
|
112
112
|
{{/if}}
|
113
113
|
{{/if}}
|
114
114
|
|
115
|
-
<span class="
|
115
|
+
<span class="mixin-property-overridden-by absolute right-0 no-underline bg-spec00">
|
116
116
|
(Overridden by {{@model.overridden}})
|
117
117
|
</span>
|
118
118
|
|
119
119
|
<button
|
120
120
|
data-test-send-to-console-btn
|
121
|
-
class="
|
121
|
+
class="mixin-send-btn flex-shrink-0 send-to-console"
|
122
122
|
title="Send To Console"
|
123
123
|
type="button"
|
124
124
|
{{on "click" @sendToConsole}}
|
@@ -128,7 +128,7 @@
|
|
128
128
|
{{#if this.isFunction}}
|
129
129
|
<button
|
130
130
|
data-test-goto-source-btn
|
131
|
-
class="
|
131
|
+
class="mixin-send-btn flex-shrink-0 goto-source"
|
132
132
|
title="Goto Source"
|
133
133
|
type="button"
|
134
134
|
{{on "click" @gotoSource}}
|
@@ -1,23 +1,29 @@
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return */
|
1
2
|
import Component from '@glimmer/component';
|
2
3
|
import { tracked } from '@glimmer/tracking';
|
4
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
3
5
|
import { action, computed } from '@ember/object';
|
6
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
4
7
|
import { alias, equal } from '@ember/object/computed';
|
5
8
|
import { next } from '@ember/runloop';
|
6
9
|
import parseText from 'ember-inspector/utils/parse-text';
|
7
10
|
|
8
|
-
interface
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
interface ObjectInspectorPropertySignature {
|
12
|
+
Args: {
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
14
|
+
model: any;
|
15
|
+
digDeeper: () => unknown;
|
16
|
+
gotoSource: () => void;
|
17
|
+
sendToConsole: () => void;
|
18
|
+
saveProperty: (
|
19
|
+
property: unknown,
|
20
|
+
value: unknown,
|
21
|
+
dataType: unknown,
|
22
|
+
) => unknown;
|
23
|
+
};
|
18
24
|
}
|
19
25
|
|
20
|
-
export default class ObjectInspectorProperty extends Component<
|
26
|
+
export default class ObjectInspectorProperty extends Component<ObjectInspectorPropertySignature> {
|
21
27
|
@tracked dateValue: Date | null = null;
|
22
28
|
@tracked isDepsExpanded = false;
|
23
29
|
@tracked isEdit = false;
|
@@ -66,10 +72,7 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
|
|
66
72
|
|
67
73
|
@computed('args.model.dependentKeys.[]', 'isCalculated')
|
68
74
|
get hasDependentKeys() {
|
69
|
-
return
|
70
|
-
this.args.model?.dependentKeys?.length &&
|
71
|
-
this.isCalculated
|
72
|
-
);
|
75
|
+
return this.args.model?.dependentKeys?.length && this.isCalculated;
|
73
76
|
}
|
74
77
|
|
75
78
|
get showDependentKeys() {
|
@@ -121,8 +124,11 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
|
|
121
124
|
}
|
122
125
|
|
123
126
|
get cannotEdit() {
|
124
|
-
if (this.args.model.name === '...' || !this.isCalculated || this.readOnly)
|
125
|
-
|
127
|
+
if (this.args.model.name === '...' || !this.isCalculated || this.readOnly)
|
128
|
+
return true;
|
129
|
+
return !['type-string', 'type-number', 'type-boolean'].includes(
|
130
|
+
this.args.model?.value?.type,
|
131
|
+
);
|
126
132
|
}
|
127
133
|
|
128
134
|
@action
|
@@ -143,12 +149,14 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
|
|
143
149
|
return;
|
144
150
|
}
|
145
151
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
146
153
|
let value = this.args.model.value.inspect;
|
147
154
|
|
148
155
|
if (this.isString) {
|
149
156
|
value = this._quotedString(value);
|
150
157
|
}
|
151
158
|
|
159
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
152
160
|
this.txtValue = value;
|
153
161
|
this.isEdit = true;
|
154
162
|
}
|
@@ -168,6 +176,7 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
|
|
168
176
|
|
169
177
|
@action
|
170
178
|
finishedEditing() {
|
179
|
+
// eslint-disable-next-line ember/no-runloop
|
171
180
|
next(() => {
|
172
181
|
this.isEdit = false;
|
173
182
|
});
|
@@ -1,5 +1,7 @@
|
|
1
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
1
2
|
import { map, sort } from '@ember/object/computed';
|
2
3
|
import Component from '@glimmer/component';
|
4
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
3
5
|
import { set, computed } from '@ember/object';
|
4
6
|
import { A } from '@ember/array';
|
5
7
|
|
@@ -7,7 +9,10 @@ export default class SortProperties extends Component {
|
|
7
9
|
@computed('args.properties')
|
8
10
|
get isArray() {
|
9
11
|
const props = A(this.args.properties || []);
|
10
|
-
return
|
12
|
+
return (
|
13
|
+
props.find((x) => x.name === 'length') &&
|
14
|
+
props.find((x) => x.name === '0')
|
15
|
+
);
|
11
16
|
}
|
12
17
|
|
13
18
|
/**
|
@@ -21,8 +26,11 @@ export default class SortProperties extends Component {
|
|
21
26
|
// limit arrays
|
22
27
|
let props = A(this.sorted);
|
23
28
|
if (this.isArray) {
|
24
|
-
const item = props.
|
25
|
-
props.
|
29
|
+
const item = props.find((x) => x.name === 'length');
|
30
|
+
const index = props.indexOf(item);
|
31
|
+
if (index !== -1) {
|
32
|
+
props.splice(index, 1);
|
33
|
+
}
|
26
34
|
props.splice(0, 0, item);
|
27
35
|
}
|
28
36
|
if (this.isArray && this.sorted.length > 100) {
|
@@ -46,7 +54,7 @@ export default class SortProperties extends Component {
|
|
46
54
|
set(
|
47
55
|
p,
|
48
56
|
'isFunction',
|
49
|
-
p.value.type === 'type-function' || p.value.type === 'type-asyncfunction'
|
57
|
+
p.value.type === 'type-function' || p.value.type === 'type-asyncfunction',
|
50
58
|
);
|
51
59
|
if (p.name == parseInt(p.name)) {
|
52
60
|
set(p, 'name', parseInt(p.name));
|
@@ -1,9 +1,9 @@
|
|
1
1
|
{{#if @model.length}}
|
2
|
-
<div class="
|
2
|
+
<div class="split-panel-hd">
|
3
3
|
<div class="toolbar">
|
4
4
|
<button
|
5
5
|
data-test-object-inspector-back
|
6
|
-
class="
|
6
|
+
class="toolbar-icon-button {{if this.isNested "enabled" "disabled"}}"
|
7
7
|
type="button"
|
8
8
|
{{on "click" this.popStack}}
|
9
9
|
>
|
@@ -49,11 +49,11 @@
|
|
49
49
|
{{/if}}
|
50
50
|
</div>
|
51
51
|
|
52
|
-
<div class="
|
52
|
+
<div class="split-panel-bd">
|
53
53
|
<div class="toolbar object-inspector-toolbar">
|
54
54
|
<button
|
55
55
|
data-test-object-display-type-grouped
|
56
|
-
class="
|
56
|
+
class="toolbar-radio toolbar-radio-first {{
|
57
57
|
if (eq this.propDisplayType "grouped") "active"
|
58
58
|
}}"
|
59
59
|
type="button"
|
@@ -63,7 +63,7 @@
|
|
63
63
|
</button>
|
64
64
|
<button
|
65
65
|
data-test-object-display-type-all
|
66
|
-
class="
|
66
|
+
class="toolbar-radio {{if (eq this.propDisplayType "all") "active"}}"
|
67
67
|
type="button"
|
68
68
|
{{on "click" (fn this.setPropDisplay "all")}}
|
69
69
|
>
|
@@ -72,7 +72,7 @@
|
|
72
72
|
|
73
73
|
<Ui::ToolbarDivider />
|
74
74
|
|
75
|
-
<div class="
|
75
|
+
<div class="toolbar-search relative mx-1">
|
76
76
|
<Input
|
77
77
|
id={{this.searchInputId}}
|
78
78
|
@type="text"
|
@@ -83,7 +83,7 @@
|
|
83
83
|
/>
|
84
84
|
{{#if this.customFilter}}
|
85
85
|
<button
|
86
|
-
class="
|
86
|
+
class="toolbar-icon-button toolbar-search-clear-button absolute right-0 w-auto h-auto"
|
87
87
|
title="clear"
|
88
88
|
data-test-object-inspector-custom-search-clear
|
89
89
|
type="button"
|
@@ -112,7 +112,7 @@
|
|
112
112
|
{{/if}}
|
113
113
|
</div>
|
114
114
|
{{else}}
|
115
|
-
<div class="
|
115
|
+
<div class="split-panel-bd">
|
116
116
|
<Ui::EmptyMessage>
|
117
117
|
No object selected
|
118
118
|
</Ui::EmptyMessage>
|
@@ -1,20 +1,20 @@
|
|
1
1
|
<@list.cell
|
2
|
-
class={{concat "
|
2
|
+
class={{concat "list-cell-main " this.expandedClass}}
|
3
3
|
style={{this.labelStyle}}
|
4
4
|
@on-click={{fn @toggleExpand @model}}
|
5
5
|
>
|
6
|
-
<div class="
|
6
|
+
<div class="list-cell-partial list-cell-partial-size-medium">
|
7
7
|
<span
|
8
8
|
title={{this.label}}
|
9
9
|
class="js-promise-label"
|
10
10
|
>
|
11
|
-
<span class="
|
11
|
+
<span class="list-cell-arrow"></span> {{this.label}}
|
12
12
|
</span>
|
13
13
|
</div>
|
14
|
-
<div class="
|
14
|
+
<div class="list-cell-helper">
|
15
15
|
{{#if @model.hasStack}}
|
16
16
|
<button
|
17
|
-
class="send-to-console send-to-console
|
17
|
+
class="send-to-console send-to-console-chevron-only js-trace-promise-btn"
|
18
18
|
title="Trace promise in console"
|
19
19
|
{{on "click" (fn @tracePromise @model)}}
|
20
20
|
type="button"
|
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
<@list.cell>
|
30
30
|
<div
|
31
|
-
class="pill pill
|
31
|
+
class="pill pill-text font-bold js-promise-state"
|
32
32
|
style={{this.style}}
|
33
33
|
>
|
34
34
|
{{this.state}}
|
@@ -38,12 +38,12 @@
|
|
38
38
|
<@list.cell class="js-promise-value">
|
39
39
|
{{#if this.hasValue}}
|
40
40
|
<div
|
41
|
-
class="
|
41
|
+
class="list-cell-partial list-cell-partial-size-medium"
|
42
42
|
title={{this.settledValue.inspect}}
|
43
43
|
>
|
44
44
|
{{#if this.isValueInspectable}}
|
45
45
|
<span
|
46
|
-
class="
|
46
|
+
class="list-link js-promise-object-value"
|
47
47
|
role="button"
|
48
48
|
{{on "click" (fn @inspectObject this.settledValue.objectId)}}
|
49
49
|
>
|
@@ -54,11 +54,11 @@
|
|
54
54
|
{{/if}}
|
55
55
|
</div>
|
56
56
|
|
57
|
-
<div class="
|
57
|
+
<div class="list-cell-helper">
|
58
58
|
{{#if this.isError}}
|
59
59
|
<button
|
60
60
|
data-test-send-to-console-btn
|
61
|
-
class="send-to-console send-to-console
|
61
|
+
class="send-to-console send-to-console-chevron-only"
|
62
62
|
title="Send stack trace to the console"
|
63
63
|
type="button"
|
64
64
|
{{on "click" (fn @sendValueToConsole @model)}}
|
@@ -75,6 +75,6 @@
|
|
75
75
|
{{/if}}
|
76
76
|
</@list.cell>
|
77
77
|
|
78
|
-
<@list.cell class="
|
78
|
+
<@list.cell class="list-cell list-cell-value_numeric js-promise-time">
|
79
79
|
{{ms-to-time this.timeToSettle}}
|
80
80
|
</@list.cell>
|
@@ -1,4 +1,7 @@
|
|
1
|
+
/* eslint-disable ember/no-get */
|
2
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
1
3
|
import { computed, get } from '@ember/object';
|
4
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
2
5
|
import { equal, gt, notEmpty } from '@ember/object/computed';
|
3
6
|
import Component from '@glimmer/component';
|
4
7
|
import { htmlSafe } from '@ember/template';
|
@@ -29,7 +32,7 @@ export default class PromiseItem extends Component {
|
|
29
32
|
|
30
33
|
@computed(
|
31
34
|
'args.{effectiveSearch,filter}',
|
32
|
-
'args.model.{isFulfilled,isPending,isRejected,state}'
|
35
|
+
'args.model.{isFulfilled,isPending,isRejected,state}',
|
33
36
|
)
|
34
37
|
get nodeStyle() {
|
35
38
|
let relevant;
|
@@ -61,7 +64,7 @@ export default class PromiseItem extends Component {
|
|
61
64
|
return htmlSafe(
|
62
65
|
`padding-left: ${+get(this, 'args.model.level') * 20 + 5}px;${
|
63
66
|
this.nodeStyle
|
64
|
-
}
|
67
|
+
}`,
|
65
68
|
);
|
66
69
|
}
|
67
70
|
|
@@ -72,9 +75,9 @@ export default class PromiseItem extends Component {
|
|
72
75
|
}
|
73
76
|
|
74
77
|
if (get(this, 'args.model.isExpanded')) {
|
75
|
-
return '
|
78
|
+
return 'list-cell-arrow-expanded';
|
76
79
|
} else {
|
77
|
-
return '
|
80
|
+
return 'list-cell-arrow-collapsed';
|
78
81
|
}
|
79
82
|
}
|
80
83
|
|
@@ -139,8 +142,7 @@ export default class PromiseItem extends Component {
|
|
139
142
|
let startedAt =
|
140
143
|
get(this, 'args.model.parent.settledAt') ||
|
141
144
|
get(this, 'args.model.createdAt');
|
142
|
-
let remaining =
|
143
|
-
get(this, 'args.model.settledAt').getTime() - startedAt.getTime();
|
145
|
+
let remaining = this.args.model.settledAt.getTime() - startedAt.getTime();
|
144
146
|
return remaining;
|
145
147
|
}
|
146
148
|
}
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<button
|
24
24
|
class="{{
|
25
25
|
if (eq @filter "all") "active"
|
26
|
-
}}
|
26
|
+
}} toolbar-radio toolbar-radio-first js-filter"
|
27
27
|
type="button"
|
28
28
|
{{on "click" (fn @setFilter "all")}}
|
29
29
|
>
|
@@ -31,14 +31,14 @@
|
|
31
31
|
</button>
|
32
32
|
|
33
33
|
<button
|
34
|
-
class="{{if (eq @filter "rejected") "active"}}
|
34
|
+
class="{{if (eq @filter "rejected") "active"}} toolbar-radio js-filter"
|
35
35
|
type="button"
|
36
36
|
{{on "click" (fn @setFilter "rejected")}}
|
37
37
|
>
|
38
38
|
Rejected
|
39
39
|
</button>
|
40
40
|
<button
|
41
|
-
class="{{if (eq @filter "pending") "active"}}
|
41
|
+
class="{{if (eq @filter "pending") "active"}} toolbar-radio js-filter"
|
42
42
|
type="button"
|
43
43
|
{{on "click" (fn @setFilter "pending")}}
|
44
44
|
>
|
@@ -47,7 +47,7 @@
|
|
47
47
|
<button
|
48
48
|
class="{{
|
49
49
|
if (eq @filter "fulfilled") "active"
|
50
|
-
}}
|
50
|
+
}} toolbar-radio toolbar-radio-last js-filter"
|
51
51
|
type="button"
|
52
52
|
{{on "click" (fn @setFilter "fullfilled")}}
|
53
53
|
>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
<Ui::ToolbarDivider />
|
58
58
|
|
59
|
-
<div class="
|
59
|
+
<div class="toolbar-checkbox js-with-stack">
|
60
60
|
<label>
|
61
61
|
<Input
|
62
62
|
@type="checkbox"
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<Ui::ToolbarDivider />
|
9
9
|
|
10
10
|
<button
|
11
|
-
class="{{if (is-empty @filterValue) "active"}}
|
11
|
+
class="{{if (is-empty @filterValue) "active"}} toolbar-radio js-filter"
|
12
12
|
type="button"
|
13
13
|
{{on "click" (fn @setFilter "")}}
|
14
14
|
>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<button
|
20
20
|
class="{{
|
21
21
|
if (eq @filterValue filter.name) "active"
|
22
|
-
}}
|
22
|
+
}} toolbar-radio js-filter"
|
23
23
|
type="button"
|
24
24
|
{{on "click" (fn @setFilter filter.name)}}
|
25
25
|
>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<Ui::Disclosure as |disclosure|>
|
2
2
|
<tr
|
3
3
|
style={{this.nodeStyle}}
|
4
|
-
class="
|
4
|
+
class="list-row js-render-profile-item"
|
5
5
|
>
|
6
6
|
<@list.cell
|
7
|
-
class="
|
7
|
+
class="list-cell-main js-render-main-cell"
|
8
8
|
@on-click={{disclosure.toggle}}
|
9
9
|
style={{this.nameStyle}}
|
10
10
|
>
|
@@ -17,13 +17,13 @@
|
|
17
17
|
</span>
|
18
18
|
</@list.cell>
|
19
19
|
|
20
|
-
<@list.cell class="
|
20
|
+
<@list.cell class="list-cell-value_numeric">
|
21
21
|
<span class="pill js-render-profile-duration">
|
22
22
|
{{ms-to-time @model.duration}}
|
23
23
|
</span>
|
24
24
|
</@list.cell>
|
25
25
|
|
26
|
-
<@list.cell class="
|
26
|
+
<@list.cell class="list-cell-value_numeric js-render-profile-timestamp">
|
27
27
|
{{this.readableTime}}
|
28
28
|
</@list.cell>
|
29
29
|
</tr>
|
@@ -1,10 +1,13 @@
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
1
2
|
import Component from '@glimmer/component';
|
2
3
|
import { isEmpty } from '@ember/utils';
|
3
4
|
import { htmlSafe } from '@ember/template';
|
4
5
|
import escapeRegExp from 'ember-inspector/utils/escape-reg-exp';
|
5
6
|
|
6
7
|
interface RenderItemArgs {
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
7
9
|
list: any;
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
8
11
|
model: any;
|
9
12
|
search: string;
|
10
13
|
target: { level: number };
|
@@ -16,7 +19,7 @@ export default class RenderItem extends Component<RenderItemArgs> {
|
|
16
19
|
}
|
17
20
|
|
18
21
|
get level() {
|
19
|
-
|
22
|
+
const parentLevel = this.args.target?.level ?? -1;
|
20
23
|
|
21
24
|
return parentLevel + 1;
|
22
25
|
}
|
@@ -34,26 +37,26 @@ export default class RenderItem extends Component<RenderItemArgs> {
|
|
34
37
|
}
|
35
38
|
|
36
39
|
get readableTime() {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
40
|
+
const d = new Date(this.args.model?.timestamp as string);
|
41
|
+
const ms = d.getMilliseconds();
|
42
|
+
const seconds = d.getSeconds();
|
43
|
+
const minutes =
|
41
44
|
d.getMinutes().toString().length === 1
|
42
45
|
? `0${d.getMinutes()}`
|
43
46
|
: d.getMinutes();
|
44
|
-
|
47
|
+
const hours =
|
45
48
|
d.getHours().toString().length === 1 ? `0${d.getHours()}` : d.getHours();
|
46
49
|
|
47
50
|
return `${hours}:${minutes}:${seconds}:${ms}`;
|
48
51
|
}
|
49
52
|
|
50
53
|
get searchMatch() {
|
51
|
-
|
54
|
+
const search = this.args.search;
|
52
55
|
if (isEmpty(search)) {
|
53
56
|
return true;
|
54
57
|
}
|
55
|
-
|
56
|
-
|
58
|
+
const name = this.args.model?.name as string;
|
59
|
+
const regExp = new RegExp(escapeRegExp(search.toLowerCase()) as string);
|
57
60
|
return !!name.toLowerCase().match(regExp);
|
58
61
|
}
|
59
62
|
}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
2
|
+
import { computed } from '@ember/object';
|
2
3
|
import Component from '@glimmer/component';
|
3
4
|
import { htmlSafe } from '@ember/template';
|
4
5
|
import checkCurrentRoute from 'ember-inspector/utils/check-current-route';
|
@@ -7,7 +8,7 @@ export default class RouteCellName extends Component {
|
|
7
8
|
@computed('args.route.parentCount')
|
8
9
|
get labelStyle() {
|
9
10
|
return htmlSafe(
|
10
|
-
`padding-left: ${+
|
11
|
+
`padding-left: ${+this.args.route?.parentCount * 20 + 5}px;`,
|
11
12
|
);
|
12
13
|
}
|
13
14
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div class="toolbar">
|
2
|
-
<div class="
|
2
|
+
<div class="toolbar-checkbox js-filter-hide-routes">
|
3
3
|
<label>
|
4
4
|
<Input @type="checkbox" @checked={{@options.hideRoutes}} />
|
5
5
|
Current Route only
|
6
6
|
</label>
|
7
7
|
</div>
|
8
8
|
|
9
|
-
<div class="
|
9
|
+
<div class="toolbar-checkbox js-filter-hide-substates">
|
10
10
|
<label title="Hide loading and error substates">
|
11
11
|
<Input @type="checkbox" @checked={{@options.hideSubstates}} />
|
12
12
|
Hide Substates
|
@@ -1,4 +1,5 @@
|
|
1
1
|
/* eslint-disable ember/require-tagless-components */
|
2
|
+
// eslint-disable-next-line ember/no-classic-components
|
2
3
|
import Component from '@ember/component';
|
3
4
|
import { action } from '@ember/object';
|
4
5
|
import { debounce } from '@ember/runloop';
|
@@ -60,6 +61,7 @@ export default class ScrollContainerComponent extends Component {
|
|
60
61
|
this.lastIndex = index;
|
61
62
|
this.lastItem = currentItem;
|
62
63
|
|
64
|
+
// eslint-disable-next-line ember/no-runloop
|
63
65
|
debounce(this, this.scrollIntoViewIfNeeded, 50);
|
64
66
|
}
|
65
67
|
}
|