ember-inspector 4.13.1-alpha.2024.8.8 → 4.13.1-alpha.2025.6.10
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.058d6575ed0891b1b73f.js +40 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.4bed1698b9d9f239fa6b.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.058d6575ed0891b1b73f.js +40 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.582.4bed1698b9d9f239fa6b.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.058d6575ed0891b1b73f.js +40 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.582.4bed1698b9d9f239fa6b.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.058d6575ed0891b1b73f.js +40 -0
- package/dist/websocket/assets/chunk.582.4bed1698b9d9f239fa6b.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.152107b52f1d9b56abd2.js +0 -28
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.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.152107b52f1d9b56abd2.js +0 -28
- package/dist/chrome/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.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.152107b52f1d9b56abd2.js +0 -28
- package/dist/firefox/panes-3-16-0/assets/chunk.178.fd17fd3a54b4e3a24554.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.152107b52f1d9b56abd2.js +0 -28
- package/dist/websocket/assets/chunk.178.fd17fd3a54b4e3a24554.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
|
}
|