ember-inspector 4.13.1-alpha.2024.8.9 → 4.13.1-alpha.2025.6.7
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.6a5edcbbcf29cbe1b167.js +40 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.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.6a5edcbbcf29cbe1b167.js +40 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.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.6a5edcbbcf29cbe1b167.js +40 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.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.6a5edcbbcf29cbe1b167.js +40 -0
- package/dist/websocket/assets/chunk.582.b77d8494154b524e9f91.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
@@ -3,13 +3,13 @@
|
|
3
3
|
{{did-insert this.setupListeners}}
|
4
4
|
{{will-destroy this.destroyListeners}}
|
5
5
|
>
|
6
|
-
<nav class="absolute inset-0 nav nav
|
6
|
+
<nav class="absolute inset-0 nav nav-main {{if @collapsed "nav-collapsed overflow-hidden"}}">
|
7
7
|
<ul>
|
8
8
|
{{#each this.itemsToDisplay as |item|}}
|
9
9
|
<li>
|
10
|
-
<LinkTo @route={{item.route}} class="
|
11
|
-
{{svg-jar item.icon width="20px" height="20px" class="
|
12
|
-
<span class="
|
10
|
+
<LinkTo @route={{item.route}} class="nav-item" title={{item.title}}>
|
11
|
+
{{svg-jar item.icon width="20px" height="20px" class="nav-item-icon"}}
|
12
|
+
<span class="nav-item-label">{{item.label}}</span>
|
13
13
|
{{#if item.pillCount}}
|
14
14
|
<span class="pill">{{item.pillCount}}</span>
|
15
15
|
{{/if}}
|
@@ -18,7 +18,7 @@
|
|
18
18
|
{{/each}}
|
19
19
|
{{#if (and @collapsed this.overflowItems.length)}}
|
20
20
|
<li
|
21
|
-
class="{{if this.overflowItemIsActive "
|
21
|
+
class="{{if this.overflowItemIsActive "nav-overflow-active"}} nav-overflow relative flex items-center justify-center cursor-pointer"
|
22
22
|
title="More options"
|
23
23
|
>
|
24
24
|
<select
|
@@ -92,7 +92,7 @@ export default class SideNav extends Component {
|
|
92
92
|
|
93
93
|
handleResize() {
|
94
94
|
const containerHeight = this.element.clientHeight;
|
95
|
-
const item = this.element.querySelector('.
|
95
|
+
const item = this.element.querySelector('.nav-item');
|
96
96
|
const itemHeight = item.clientHeight;
|
97
97
|
|
98
98
|
this.displayCount = Math.floor(containerHeight / itemHeight) - 1;
|
@@ -1,15 +1,16 @@
|
|
1
1
|
import { debounce } from '@ember/runloop';
|
2
|
-
import { computed } from '@ember/object';
|
2
|
+
import { computed, set } from '@ember/object';
|
3
|
+
import type { AnyFn } from '@ember/-internals/utility-types';
|
3
4
|
|
4
5
|
// Use this if you want a property to debounce
|
5
6
|
// another property with a certain delay.
|
6
7
|
// This means that every time this prop changes,
|
7
8
|
// the other prop will change to the same val after [delay]
|
8
|
-
export default function (prop, delay, callback) {
|
9
|
-
let value;
|
9
|
+
export default function (prop: string, delay: number, callback?: AnyFn) {
|
10
|
+
let value: unknown;
|
10
11
|
|
11
|
-
|
12
|
-
|
12
|
+
const updateVal = function (this: object) {
|
13
|
+
set(this, prop, value);
|
13
14
|
if (callback) {
|
14
15
|
callback.call(this);
|
15
16
|
}
|
@@ -20,6 +21,7 @@ export default function (prop, delay, callback) {
|
|
20
21
|
get() {},
|
21
22
|
set(key, val) {
|
22
23
|
value = val;
|
24
|
+
// eslint-disable-next-line ember/no-runloop
|
23
25
|
debounce(this, updateVal, delay);
|
24
26
|
return val;
|
25
27
|
},
|
@@ -1,14 +1,17 @@
|
|
1
1
|
/**
|
2
2
|
* Type declarations for
|
3
|
-
* import config from '
|
3
|
+
* import config from 'ember-inspector/config/environment'
|
4
4
|
*/
|
5
5
|
declare const config: {
|
6
|
+
emberVersionsSupported: [fromVersion: string, tillVersion: string];
|
6
7
|
environment: string;
|
7
8
|
modulePrefix: string;
|
8
9
|
podModulePrefix: string;
|
9
|
-
locationType: 'history' | 'hash' | 'none'
|
10
|
+
locationType: 'history' | 'hash' | 'none';
|
11
|
+
previousEmberVersionsSupported: Array<string>;
|
10
12
|
rootURL: string;
|
11
13
|
APP: Record<string, unknown>;
|
14
|
+
VERSION: string;
|
12
15
|
};
|
13
16
|
|
14
17
|
export default config;
|
@@ -1,17 +1,15 @@
|
|
1
1
|
import Controller from '@ember/controller';
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
3
3
|
import { action } from '@ember/object';
|
4
|
-
import { equal } from '@ember/object/computed';
|
5
4
|
import { debounce, schedule } from '@ember/runloop';
|
6
5
|
import { inject as service } from '@ember/service';
|
7
6
|
|
7
|
+
import { TrackedArray, TrackedObject } from 'tracked-built-ins';
|
8
|
+
|
8
9
|
export default class ApplicationController extends Controller {
|
9
10
|
/**
|
10
11
|
* Service used to broadcast changes to the application's layout
|
11
12
|
* such as toggling of the object inspector.
|
12
|
-
*
|
13
|
-
* @property layoutService
|
14
|
-
* @type {Service}
|
15
13
|
*/
|
16
14
|
@service('layout') layoutService;
|
17
15
|
@service port;
|
@@ -25,13 +23,13 @@ export default class ApplicationController extends Controller {
|
|
25
23
|
@tracked inspectorWidth = 360;
|
26
24
|
/**
|
27
25
|
* Indicates if the inspector has detected an ember app.
|
28
|
-
*
|
29
|
-
* @type {Boolean}
|
30
26
|
*/
|
31
27
|
isEmberApplication = false;
|
32
28
|
@tracked _navWidthExpanded = 180;
|
33
29
|
@tracked _navWidthCollapsed = 48;
|
34
30
|
@tracked navIsCollapsed = false;
|
31
|
+
@tracked mixinDetails = new TrackedObject({});
|
32
|
+
@tracked mixinStack = new TrackedArray([]);
|
35
33
|
|
36
34
|
get navWidth() {
|
37
35
|
return this.navIsCollapsed
|
@@ -43,14 +41,8 @@ export default class ApplicationController extends Controller {
|
|
43
41
|
this._navWidthExpanded = value;
|
44
42
|
}
|
45
43
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
constructor() {
|
50
|
-
super(...arguments);
|
51
|
-
|
52
|
-
this.mixinStack = [];
|
53
|
-
this.mixinDetails = [];
|
44
|
+
get isChrome() {
|
45
|
+
return this.port?.adapter?.name === 'chrome';
|
54
46
|
}
|
55
47
|
|
56
48
|
/*
|
@@ -67,15 +59,14 @@ export default class ApplicationController extends Controller {
|
|
67
59
|
errors,
|
68
60
|
};
|
69
61
|
|
70
|
-
this.mixinStack.
|
71
|
-
this.
|
62
|
+
this.mixinStack.push(details);
|
63
|
+
this.mixinDetails = details;
|
72
64
|
}
|
73
65
|
|
74
66
|
@action
|
75
67
|
popMixinDetails() {
|
76
|
-
|
77
|
-
|
78
|
-
this.set('mixinDetails', mixinStack.get('lastObject'));
|
68
|
+
const item = this.mixinStack.pop();
|
69
|
+
this.mixinDetails = this.mixinStack.at(-1);
|
79
70
|
this.port.send('objectInspector:releaseObject', {
|
80
71
|
objectId: item.objectId,
|
81
72
|
});
|
@@ -84,8 +75,9 @@ export default class ApplicationController extends Controller {
|
|
84
75
|
@action
|
85
76
|
showInspector() {
|
86
77
|
if (this.inspectorExpanded === false) {
|
87
|
-
this.
|
78
|
+
this.inspectorExpanded = true;
|
88
79
|
// Broadcast that tables have been resized (used by `x-list`).
|
80
|
+
// eslint-disable-next-line ember/no-runloop
|
89
81
|
schedule('afterRender', () => {
|
90
82
|
this.layoutService.trigger('resize', { source: 'object-inspector' });
|
91
83
|
});
|
@@ -95,8 +87,9 @@ export default class ApplicationController extends Controller {
|
|
95
87
|
@action
|
96
88
|
hideInspector() {
|
97
89
|
if (this.inspectorExpanded === true) {
|
98
|
-
this.
|
90
|
+
this.inspectorExpanded = false;
|
99
91
|
// Broadcast that tables have been resized (used by `x-list`).
|
92
|
+
// eslint-disable-next-line ember/no-runloop
|
100
93
|
schedule('afterRender', () => {
|
101
94
|
this.layoutService.trigger('resize', { source: 'object-inspector' });
|
102
95
|
});
|
@@ -114,8 +107,9 @@ export default class ApplicationController extends Controller {
|
|
114
107
|
|
115
108
|
@action
|
116
109
|
setActive(bool) {
|
110
|
+
// eslint-disable-next-line ember/no-runloop
|
117
111
|
schedule('afterRender', () => {
|
118
|
-
this.
|
112
|
+
this.active = bool;
|
119
113
|
});
|
120
114
|
}
|
121
115
|
|
@@ -127,6 +121,7 @@ export default class ApplicationController extends Controller {
|
|
127
121
|
|
128
122
|
@action
|
129
123
|
_windowDidResize() {
|
124
|
+
// eslint-disable-next-line ember/no-runloop
|
130
125
|
schedule('afterRender', () => {
|
131
126
|
if (!this.isDestroyed && !this.isDestroying) {
|
132
127
|
this.layoutService.trigger('resize', {
|
@@ -135,7 +130,7 @@ export default class ApplicationController extends Controller {
|
|
135
130
|
|
136
131
|
if (this.contentElement) {
|
137
132
|
this.layoutService.updateContentHeight(
|
138
|
-
this.contentElement.clientHeight
|
133
|
+
this.contentElement.clientHeight,
|
139
134
|
);
|
140
135
|
}
|
141
136
|
}
|
@@ -144,12 +139,14 @@ export default class ApplicationController extends Controller {
|
|
144
139
|
|
145
140
|
@action
|
146
141
|
windowDidResize() {
|
142
|
+
// eslint-disable-next-line ember/no-runloop
|
147
143
|
debounce(this, this._windowDidResize, 250);
|
148
144
|
}
|
149
145
|
|
150
146
|
@action
|
151
147
|
toggleNavCollapsed() {
|
152
|
-
this.
|
148
|
+
this.navIsCollapsed = !this.navIsCollapsed;
|
149
|
+
// eslint-disable-next-line ember/no-runloop
|
153
150
|
schedule('afterRender', () => {
|
154
151
|
this.layoutService.trigger('resize', { source: 'navigation' });
|
155
152
|
});
|
@@ -166,28 +163,30 @@ export default class ApplicationController extends Controller {
|
|
166
163
|
});
|
167
164
|
});
|
168
165
|
|
169
|
-
this.
|
166
|
+
this.mixinStack = new TrackedArray([]);
|
170
167
|
this.pushMixinDetails(name, undefined, objectId, details, errors);
|
171
168
|
}
|
172
169
|
|
173
170
|
@action
|
174
171
|
droppedObject(objectId) {
|
175
|
-
let
|
176
|
-
let obj = mixinStack.findBy('objectId', objectId);
|
172
|
+
let obj = this.mixinStack.find((mixin) => mixin.objectId === objectId);
|
177
173
|
if (obj) {
|
178
|
-
let index = mixinStack.indexOf(obj);
|
179
|
-
let objectsToRemove = [];
|
174
|
+
let index = this.mixinStack.indexOf(obj);
|
175
|
+
let objectsToRemove = new TrackedArray([]);
|
180
176
|
for (let i = index; i >= 0; i--) {
|
181
|
-
objectsToRemove.
|
177
|
+
objectsToRemove.push(this.mixinStack.at(i));
|
182
178
|
}
|
183
179
|
objectsToRemove.forEach((item) => {
|
184
|
-
mixinStack.
|
180
|
+
const index = this.mixinStack.indexOf(item);
|
181
|
+
if (index !== -1) {
|
182
|
+
this.mixinStack.splice(index, 1);
|
183
|
+
}
|
185
184
|
});
|
186
185
|
}
|
187
|
-
if (mixinStack.
|
188
|
-
this.
|
186
|
+
if (this.mixinStack.length > 0) {
|
187
|
+
this.mixinDetails = this.mixinStack.at(-1);
|
189
188
|
} else {
|
190
|
-
this.
|
189
|
+
this.mixinDetails = null;
|
191
190
|
}
|
192
191
|
}
|
193
192
|
}
|
@@ -53,7 +53,7 @@ export default class ComponentTreeController extends Controller {
|
|
53
53
|
renderNode.children.some((c) => c.type === 'modifier')
|
54
54
|
) {
|
55
55
|
const idx = renderNode.children.findLastIndex(
|
56
|
-
(c) => c.type === 'modifier'
|
56
|
+
(c) => c.type === 'modifier',
|
57
57
|
);
|
58
58
|
renderNode.children.splice(idx + 1, 0, {
|
59
59
|
type: 'placeholder-closing-tag',
|
@@ -182,6 +182,7 @@ export default class ComponentTreeController extends Controller {
|
|
182
182
|
}
|
183
183
|
|
184
184
|
syncInspection() {
|
185
|
+
// eslint-disable-next-line ember/no-runloop
|
185
186
|
debounce(this, this._syncInspection, 50);
|
186
187
|
}
|
187
188
|
|
@@ -279,7 +280,7 @@ function isInternalRenderNode(renderNode) {
|
|
279
280
|
|
280
281
|
function focusedInInput() {
|
281
282
|
return ['input', 'textarea'].includes(
|
282
|
-
document.activeElement.tagName.toLowerCase()
|
283
|
+
document.activeElement.tagName.toLowerCase(),
|
283
284
|
);
|
284
285
|
}
|
285
286
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import Controller, { inject as controller } from '@ember/controller';
|
2
2
|
import { inject as service } from '@ember/service';
|
3
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
3
4
|
import { action, computed, set } from '@ember/object';
|
4
5
|
import debounceComputed from 'ember-inspector/computed/debounce';
|
5
6
|
import searchMatch from 'ember-inspector/utils/search-match';
|
@@ -17,7 +18,7 @@ export default class ContainerTypeContoller extends Controller {
|
|
17
18
|
@computed('model.@each.name', 'search')
|
18
19
|
get rows() {
|
19
20
|
return this.model.filter((instance) =>
|
20
|
-
searchMatch(instance.name, this.search)
|
21
|
+
searchMatch(instance.name, this.search),
|
21
22
|
);
|
22
23
|
}
|
23
24
|
|
@@ -1,10 +1,13 @@
|
|
1
1
|
import Controller from '@ember/controller';
|
2
2
|
import { action } from '@ember/object';
|
3
|
+
import type RouterService from '@ember/routing/router-service';
|
3
4
|
import { inject as service } from '@ember/service';
|
4
5
|
|
6
|
+
import type PortService from '../../services/port';
|
7
|
+
|
5
8
|
export default class ContainerTypesIndexController extends Controller {
|
6
|
-
@service port;
|
7
|
-
@service router;
|
9
|
+
@service declare port: PortService;
|
10
|
+
@service declare router: RouterService;
|
8
11
|
|
9
12
|
@action
|
10
13
|
refresh() {
|
@@ -1,3 +1,4 @@
|
|
1
|
+
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
|
1
2
|
import { sort } from '@ember/object/computed';
|
2
3
|
import { inject as service } from '@ember/service';
|
3
4
|
import Controller from '@ember/controller';
|
@@ -5,11 +6,7 @@ import Controller from '@ember/controller';
|
|
5
6
|
export default class ContainerTypesController extends Controller {
|
6
7
|
@service router;
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
constructor() {
|
11
|
-
super(...arguments);
|
9
|
+
sortProperties = ['name'];
|
12
10
|
|
13
|
-
|
14
|
-
}
|
11
|
+
@sort('model', 'sortProperties') sorted;
|
15
12
|
}
|
@@ -1,6 +1,10 @@
|
|
1
|
-
import { action
|
1
|
+
import { action } from '@ember/object';
|
2
2
|
import { inject as service } from '@ember/service';
|
3
3
|
import Controller from '@ember/controller';
|
4
|
+
import { tracked } from '@glimmer/tracking';
|
5
|
+
|
6
|
+
import { TrackedArray } from 'tracked-built-ins';
|
7
|
+
|
4
8
|
import debounceComputed from 'ember-inspector/computed/debounce';
|
5
9
|
import searchMatch from 'ember-inspector/utils/search-match';
|
6
10
|
|
@@ -8,32 +12,33 @@ export default class DeprecationsController extends Controller {
|
|
8
12
|
@service adapter;
|
9
13
|
@service port;
|
10
14
|
|
11
|
-
|
12
|
-
|
15
|
+
deprecations = new TrackedArray([]);
|
16
|
+
@tracked search = null;
|
17
|
+
@tracked toggleDeprecationWorkflow = false;
|
13
18
|
|
14
19
|
@debounceComputed('search', 300) searchValue;
|
15
20
|
|
16
|
-
constructor() {
|
17
|
-
super(...arguments);
|
18
|
-
set(this, 'deprecations', []);
|
19
|
-
}
|
20
|
-
|
21
21
|
@action
|
22
22
|
changeDeprecationWorkflow(e) {
|
23
|
-
this.
|
23
|
+
this.toggleDeprecationWorkflow = e.target.checked;
|
24
24
|
|
25
25
|
this.port.send('deprecation:setOptions', {
|
26
26
|
options: { toggleDeprecationWorkflow: this.toggleDeprecationWorkflow },
|
27
27
|
});
|
28
28
|
}
|
29
29
|
|
30
|
-
@computed('deprecations.@each.message', 'search')
|
31
30
|
get filtered() {
|
32
31
|
return this.deprecations.filter((item) =>
|
33
|
-
searchMatch(item.message, this.search)
|
32
|
+
searchMatch(item.message, this.search),
|
34
33
|
);
|
35
34
|
}
|
36
35
|
|
36
|
+
@action
|
37
|
+
clear() {
|
38
|
+
this.port.send('deprecation:clear');
|
39
|
+
this.deprecations.splice(0, this.deprecations.length);
|
40
|
+
}
|
41
|
+
|
37
42
|
@action
|
38
43
|
openResource(item) {
|
39
44
|
this.adapter.openResource(item.fullSource, item.line);
|
@@ -0,0 +1,149 @@
|
|
1
|
+
import { action } from '@ember/object';
|
2
|
+
import Controller from '@ember/controller';
|
3
|
+
import { inject as service } from '@ember/service';
|
4
|
+
import { debounce, once } from '@ember/runloop';
|
5
|
+
import { tracked } from '@glimmer/tracking';
|
6
|
+
|
7
|
+
// @ts-expect-error We should move away from observers.
|
8
|
+
import { observes } from '@ember-decorators/object';
|
9
|
+
|
10
|
+
import type PortService from '../services/port';
|
11
|
+
import type PromiseModel from '../models/promise';
|
12
|
+
import type WebExtension from '../services/adapters/web-extension';
|
13
|
+
import { isNullish } from 'ember-inspector/utils/nullish';
|
14
|
+
|
15
|
+
export default class PromiseTreeController extends Controller {
|
16
|
+
queryParams = ['filter'];
|
17
|
+
|
18
|
+
declare model: Array<PromiseModel>;
|
19
|
+
|
20
|
+
@service declare adapter: WebExtension;
|
21
|
+
@service declare port: PortService;
|
22
|
+
|
23
|
+
@tracked createdAfter: Date | null = null;
|
24
|
+
@tracked effectiveSearch: string | null = null;
|
25
|
+
@tracked filter = 'all';
|
26
|
+
// Keep track of promise stack traces.
|
27
|
+
// It is opt-in due to performance reasons.
|
28
|
+
@tracked instrumentWithStack = false;
|
29
|
+
@tracked searchValue: string | null = null;
|
30
|
+
|
31
|
+
// below used to show the "refresh" message
|
32
|
+
get isEmpty() {
|
33
|
+
return this.model.length === 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
get neverCleared() {
|
37
|
+
return !this.wasCleared;
|
38
|
+
}
|
39
|
+
|
40
|
+
get shouldRefresh() {
|
41
|
+
return this.isEmpty && this.neverCleared;
|
42
|
+
}
|
43
|
+
|
44
|
+
get wasCleared() {
|
45
|
+
return Boolean(this.createdAfter);
|
46
|
+
}
|
47
|
+
|
48
|
+
get filtered() {
|
49
|
+
return this.model.filter((item) => {
|
50
|
+
// exclude cleared promises
|
51
|
+
if (this.createdAfter && item.createdAt < this.createdAfter) {
|
52
|
+
return false;
|
53
|
+
}
|
54
|
+
|
55
|
+
if (!item.isVisible) {
|
56
|
+
return false;
|
57
|
+
}
|
58
|
+
|
59
|
+
// Exclude non-filter complying promises
|
60
|
+
// If at least one of their children passes the filter,
|
61
|
+
// then they pass
|
62
|
+
let include = true;
|
63
|
+
if (this.filter === 'pending') {
|
64
|
+
include = item.pendingBranch;
|
65
|
+
} else if (this.filter === 'rejected') {
|
66
|
+
include = item.rejectedBranch;
|
67
|
+
} else if (this.filter === 'fulfilled') {
|
68
|
+
include = item.fulfilledBranch;
|
69
|
+
}
|
70
|
+
if (!include) {
|
71
|
+
return false;
|
72
|
+
}
|
73
|
+
|
74
|
+
// Search filter
|
75
|
+
// If they or at least one of their children
|
76
|
+
// match the search, then include them
|
77
|
+
const search = this.effectiveSearch;
|
78
|
+
if (!isNullish(search)) {
|
79
|
+
return item.matches(search);
|
80
|
+
}
|
81
|
+
return true;
|
82
|
+
});
|
83
|
+
}
|
84
|
+
|
85
|
+
// eslint-disable-next-line ember/no-observers, @typescript-eslint/no-unsafe-call
|
86
|
+
@observes('searchValue')
|
87
|
+
searchChanged() {
|
88
|
+
// eslint-disable-next-line ember/no-runloop
|
89
|
+
debounce(this, this.updateEffectiveSearch, 500);
|
90
|
+
}
|
91
|
+
|
92
|
+
updateEffectiveSearch = () => {
|
93
|
+
this.effectiveSearch = this.searchValue;
|
94
|
+
};
|
95
|
+
|
96
|
+
@action
|
97
|
+
toggleExpand(promise: PromiseModel) {
|
98
|
+
const isExpanded = !promise.isExpanded;
|
99
|
+
promise.isManuallyExpanded = isExpanded;
|
100
|
+
promise.recalculateExpanded();
|
101
|
+
const children = promise._allChildren();
|
102
|
+
if (isExpanded) {
|
103
|
+
children.forEach((child) => {
|
104
|
+
if (isNullish(child.isManuallyExpanded)) {
|
105
|
+
child.isManuallyExpanded = isExpanded;
|
106
|
+
child.recalculateExpanded();
|
107
|
+
}
|
108
|
+
});
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
@action
|
113
|
+
tracePromise(promise: PromiseModel) {
|
114
|
+
this.port.send('promise:tracePromise', { promiseId: promise.guid });
|
115
|
+
}
|
116
|
+
|
117
|
+
@action
|
118
|
+
inspectObject() {
|
119
|
+
// @ts-expect-error TODO: figure this out later
|
120
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, prefer-rest-params
|
121
|
+
this.target.send('inspectObject', ...arguments);
|
122
|
+
}
|
123
|
+
|
124
|
+
@action
|
125
|
+
sendValueToConsole(promise: PromiseModel) {
|
126
|
+
this.port.send('promise:sendValueToConsole', {
|
127
|
+
promiseId: promise.guid,
|
128
|
+
});
|
129
|
+
}
|
130
|
+
|
131
|
+
@action
|
132
|
+
setFilter(filter: string) {
|
133
|
+
this.filter = filter;
|
134
|
+
}
|
135
|
+
|
136
|
+
@action
|
137
|
+
updateInstrumentWithStack(instrumentWithStack: boolean) {
|
138
|
+
this.port.send('promise:setInstrumentWithStack', {
|
139
|
+
instrumentWithStack,
|
140
|
+
});
|
141
|
+
}
|
142
|
+
|
143
|
+
@action
|
144
|
+
clear() {
|
145
|
+
this.createdAfter = new Date();
|
146
|
+
// eslint-disable-next-line ember/no-runloop
|
147
|
+
once(this, this.updateEffectiveSearch);
|
148
|
+
}
|
149
|
+
}
|
@@ -1,17 +1,22 @@
|
|
1
1
|
import { isEmpty } from '@ember/utils';
|
2
|
-
import { action,
|
2
|
+
import { action, get, set } from '@ember/object';
|
3
3
|
import Controller, { inject as controller } from '@ember/controller';
|
4
4
|
import { inject as service } from '@ember/service';
|
5
|
-
import
|
5
|
+
import { tracked } from '@glimmer/tracking';
|
6
|
+
|
7
|
+
import escapeRegExp from '../utils/escape-reg-exp';
|
6
8
|
|
7
9
|
export default class RecordsController extends Controller {
|
10
|
+
queryParams = ['filterValue', 'searchValue'];
|
11
|
+
|
8
12
|
@controller application;
|
9
13
|
@service port;
|
10
14
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
+
@tracked filterValue = null;
|
16
|
+
@tracked filters = [];
|
17
|
+
@tracked modelType;
|
18
|
+
@tracked searchValue = '';
|
19
|
+
@tracked sorts = undefined;
|
15
20
|
|
16
21
|
recordToString(record) {
|
17
22
|
return (record.searchKeywords || []).join(' ').toLowerCase();
|
@@ -32,22 +37,16 @@ export default class RecordsController extends Controller {
|
|
32
37
|
* @property schema
|
33
38
|
* @type {Object}
|
34
39
|
*/
|
35
|
-
@computed('modelType.columns')
|
36
40
|
get columns() {
|
37
|
-
return this.
|
41
|
+
return this.modelType.columns.map(({ desc, name }) => ({
|
38
42
|
valuePath: `columnValues.${name}`,
|
39
43
|
name: desc,
|
40
44
|
}));
|
41
45
|
}
|
42
46
|
|
43
|
-
@computed(
|
44
|
-
'searchValue',
|
45
|
-
'model.@each.{columnValues,filterValues}',
|
46
|
-
'filterValue'
|
47
|
-
)
|
48
47
|
get filteredRecords() {
|
49
|
-
|
50
|
-
|
48
|
+
const search = this.searchValue;
|
49
|
+
const filter = this.filterValue;
|
51
50
|
|
52
51
|
return this.model.filter((item) => {
|
53
52
|
// check filters
|
@@ -59,34 +58,27 @@ export default class RecordsController extends Controller {
|
|
59
58
|
if (!isEmpty(search)) {
|
60
59
|
let searchString = this.recordToString(item);
|
61
60
|
return !!searchString.match(
|
62
|
-
new RegExp(`.*${escapeRegExp(search.toLowerCase())}.*`)
|
61
|
+
new RegExp(`.*${escapeRegExp(search.toLowerCase())}.*`),
|
63
62
|
);
|
64
63
|
}
|
65
64
|
return true;
|
66
65
|
});
|
67
66
|
}
|
68
67
|
|
69
|
-
constructor() {
|
70
|
-
super(...arguments);
|
71
|
-
|
72
|
-
this.filters = [];
|
73
|
-
this.sorts = undefined;
|
74
|
-
}
|
75
|
-
|
76
68
|
@action
|
77
69
|
setFilter(val) {
|
78
70
|
val = val || null;
|
79
|
-
this.
|
71
|
+
this.filterValue = val;
|
80
72
|
}
|
81
73
|
|
82
74
|
@action
|
83
75
|
inspectModel([record]) {
|
84
|
-
|
76
|
+
set(this, 'selection', record);
|
85
77
|
this.port.send('data:inspectModel', { objectId: record.objectId });
|
86
78
|
}
|
87
79
|
|
88
80
|
@action
|
89
81
|
updateSorts(newSorts) {
|
90
|
-
this.
|
82
|
+
this.sorts = newSorts;
|
91
83
|
}
|
92
84
|
}
|