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.
Files changed (367) hide show
  1. package/README.md +10 -2
  2. package/app/components/app-picker.hbs +2 -2
  3. package/app/components/component-tree-item.hbs +13 -13
  4. package/app/components/component-tree-toolbar.hbs +3 -3
  5. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  6. package/app/components/deprecation-item-source.hbs +1 -1
  7. package/app/components/deprecation-item.hbs +1 -1
  8. package/app/components/deprecations-toolbar.hbs +1 -1
  9. package/app/components/item-types.hbs +7 -7
  10. package/app/components/list-cell.hbs +3 -3
  11. package/app/components/list-content.hbs +4 -3
  12. package/app/components/list-content.ts +96 -0
  13. package/app/components/list.hbs +3 -3
  14. package/app/components/list.js +7 -7
  15. package/app/components/model-types-toolbar.hbs +3 -3
  16. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  17. package/app/components/object-inspector/errors.hbs +4 -4
  18. package/app/components/object-inspector/properties-all.hbs +1 -1
  19. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  20. package/app/components/object-inspector/property.hbs +16 -16
  21. package/app/components/object-inspector/property.ts +26 -17
  22. package/app/components/object-inspector/sort-properties.js +12 -4
  23. package/app/components/object-inspector.hbs +8 -8
  24. package/app/components/object-inspector.js +1 -1
  25. package/app/components/promise-item.hbs +11 -11
  26. package/app/components/promise-item.js +8 -6
  27. package/app/components/promise-tree-toolbar.hbs +5 -5
  28. package/app/components/records-toolbar.hbs +2 -2
  29. package/app/components/render-item.hbs +4 -4
  30. package/app/components/render-item.ts +12 -9
  31. package/app/components/render-tree-toolbar.hbs +1 -1
  32. package/app/components/route-cell-name.hbs +1 -1
  33. package/app/components/route-cell-name.js +3 -2
  34. package/app/components/route-tree-toolbar.hbs +2 -2
  35. package/app/components/scroll-container.js +2 -0
  36. package/app/components/side-nav.hbs +5 -5
  37. package/app/components/side-nav.js +1 -1
  38. package/app/computed/{debounce.js → debounce.ts} +7 -5
  39. package/app/config/environment.d.ts +5 -2
  40. package/app/controllers/app-config.js +1 -0
  41. package/app/controllers/application.js +33 -34
  42. package/app/controllers/component-tree.js +3 -2
  43. package/app/controllers/container-type.js +2 -1
  44. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  45. package/app/controllers/container-types.js +3 -6
  46. package/app/controllers/deprecations.js +16 -11
  47. package/app/controllers/libraries.js +1 -0
  48. package/app/controllers/model-types.js +1 -0
  49. package/app/controllers/promise-tree.ts +149 -0
  50. package/app/controllers/records.js +18 -26
  51. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  52. package/app/controllers/route-tree.js +7 -5
  53. package/app/helpers/build-style.js +1 -1
  54. package/app/initializers/setup.js +1 -1
  55. package/app/libs/promise-assembler.ts +249 -0
  56. package/app/libs/resizable-columns.js +10 -10
  57. package/app/models/{promise.js → promise.ts} +72 -69
  58. package/app/{router.js → router.ts} +1 -1
  59. package/app/routes/app-detected.js +3 -5
  60. package/app/routes/application.js +6 -12
  61. package/app/routes/deprecations.js +7 -16
  62. package/app/routes/launch.js +2 -1
  63. package/app/routes/libraries.js +2 -1
  64. package/app/routes/model-type.js +2 -3
  65. package/app/routes/model-types.ts +57 -0
  66. package/app/routes/promise-tree.ts +63 -0
  67. package/app/routes/records.ts +78 -0
  68. package/app/routes/render-tree.ts +93 -0
  69. package/app/routes/route-tree.js +0 -1
  70. package/app/routes/{tab.js → tab.ts} +9 -2
  71. package/app/routes/whats-new.js +1 -1
  72. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  73. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  74. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  75. package/app/services/adapters/{web-extension.js → web-extension.ts} +43 -46
  76. package/app/services/adapters/websocket.ts +40 -0
  77. package/app/services/layout.ts +88 -0
  78. package/app/services/port.ts +195 -0
  79. package/app/services/storage/{local.js → local.ts} +7 -20
  80. package/app/services/storage/{memory.js → memory.ts} +6 -21
  81. package/app/services/{storage.js → storage.ts} +9 -20
  82. package/app/styles/base.scss +4 -2
  83. package/app/styles/colors.scss +33 -31
  84. package/app/styles/component_tree.scss +56 -51
  85. package/app/styles/dropdown.scss +2 -2
  86. package/app/styles/ember-table.scss +3 -3
  87. package/app/styles/mixin.scss +26 -26
  88. package/app/styles/object_inspector.scss +22 -21
  89. package/app/styles/utils.scss +408 -122
  90. package/app/templates/application.hbs +11 -11
  91. package/app/templates/component-tree.hbs +1 -1
  92. package/app/templates/deprecations.hbs +2 -3
  93. package/app/templates/info.hbs +10 -10
  94. package/app/templates/promise-tree.hbs +1 -1
  95. package/app/templates/render-tree.hbs +1 -1
  96. package/app/templates/route-tree.hbs +1 -1
  97. package/app/utils/escape-reg-exp.ts +3 -2
  98. package/app/utils/nullish.ts +7 -0
  99. package/app/utils/parse-text.ts +4 -5
  100. package/app/utils/truncate.js +0 -1
  101. package/config/ember-cli-update.json +5 -3
  102. package/config/ember-try.js +117 -72
  103. package/config/environment.js +1 -1
  104. package/config/optional-features.json +2 -1
  105. package/dist/bookmarklet/load_inspector.js +30 -11
  106. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  107. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  108. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  109. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  110. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +150 -155
  111. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +486 -590
  112. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  113. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  114. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  115. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  116. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  117. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  118. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  119. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  120. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  121. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  122. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +147 -148
  123. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +5153 -5980
  124. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +250 -268
  125. package/dist/bookmarklet/panes-3-16-0/index.html +3 -4
  126. package/dist/chrome/background.js +26 -21
  127. package/dist/chrome/boot.js +1 -1
  128. package/dist/chrome/content-script.js +11 -11
  129. package/dist/chrome/devtools.js +12 -3
  130. package/dist/chrome/manifest.json +2 -2
  131. package/dist/chrome/options.js +17 -12
  132. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  133. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  134. package/dist/chrome/panes-3-16-0/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  135. package/dist/chrome/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  136. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +150 -155
  137. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +486 -590
  138. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  139. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  140. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  141. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  142. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  143. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  144. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  145. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  146. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  147. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  148. package/dist/chrome/panes-3-16-0/assets/vendor.css +147 -148
  149. package/dist/chrome/panes-3-16-0/assets/vendor.js +5153 -5980
  150. package/dist/chrome/panes-3-16-0/ember_debug.js +250 -268
  151. package/dist/chrome/panes-3-16-0/index.html +3 -4
  152. package/dist/chrome/scripts/in-page-script.js +19 -13
  153. package/dist/firefox/background.js +26 -21
  154. package/dist/firefox/boot.js +1 -1
  155. package/dist/firefox/content-script.js +11 -11
  156. package/dist/firefox/devtools.js +12 -3
  157. package/dist/firefox/manifest.json +2 -2
  158. package/dist/firefox/options.js +17 -12
  159. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  160. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  161. package/dist/firefox/panes-3-16-0/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  162. package/dist/firefox/panes-3-16-0/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  163. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +150 -155
  164. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +486 -590
  165. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  166. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  167. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  168. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  169. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  170. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  171. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  172. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  173. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  174. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  175. package/dist/firefox/panes-3-16-0/assets/vendor.css +147 -148
  176. package/dist/firefox/panes-3-16-0/assets/vendor.js +5153 -5980
  177. package/dist/firefox/panes-3-16-0/ember_debug.js +250 -268
  178. package/dist/firefox/panes-3-16-0/index.html +3 -4
  179. package/dist/firefox/scripts/in-page-script.js +19 -13
  180. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  181. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  182. package/dist/websocket/assets/chunk.524.6a5edcbbcf29cbe1b167.js +40 -0
  183. package/dist/websocket/assets/chunk.582.b77d8494154b524e9f91.js +42 -0
  184. package/dist/websocket/assets/ember-inspector.css +150 -155
  185. package/dist/websocket/assets/ember-inspector.js +486 -590
  186. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  187. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  188. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  189. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  190. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  191. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  192. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  193. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  194. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  195. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  196. package/dist/websocket/assets/vendor.css +147 -148
  197. package/dist/websocket/assets/vendor.js +5153 -5980
  198. package/dist/websocket/ember_debug.js +250 -268
  199. package/dist/websocket/index.html +3 -4
  200. package/ember-cli-build.js +11 -11
  201. package/ember_debug/adapters/basic.js +2 -1
  202. package/ember_debug/adapters/bookmarklet.js +1 -0
  203. package/ember_debug/adapters/firefox.js +3 -3
  204. package/ember_debug/adapters/web-extension.js +2 -1
  205. package/ember_debug/data-debug.js +5 -6
  206. package/ember_debug/deprecation-debug.js +8 -8
  207. package/ember_debug/general-debug.js +1 -1
  208. package/ember_debug/libs/capture-render-tree.js +0 -1
  209. package/ember_debug/libs/promise-assembler.js +1 -0
  210. package/ember_debug/libs/render-tree.js +13 -12
  211. package/ember_debug/libs/source-map.js +5 -4
  212. package/ember_debug/libs/view-inspection.js +12 -12
  213. package/ember_debug/main.js +1 -1
  214. package/ember_debug/models/profile-manager.js +2 -1
  215. package/ember_debug/object-inspector.js +19 -18
  216. package/ember_debug/port.js +1 -0
  217. package/ember_debug/promise-debug.js +1 -1
  218. package/ember_debug/route-debug.js +3 -2
  219. package/ember_debug/services/session.js +1 -1
  220. package/ember_debug/utils/classify.js +1 -1
  221. package/ember_debug/utils/ember/debug.js +2 -0
  222. package/ember_debug/utils/ember/loader.js +2 -2
  223. package/ember_debug/utils/ember/runloop.js +2 -0
  224. package/ember_debug/utils/ember-object-names.js +2 -2
  225. package/ember_debug/utils/ember.js +9 -3
  226. package/ember_debug/utils/evented.js +1 -1
  227. package/ember_debug/utils/get-object-name.js +2 -2
  228. package/ember_debug/utils/rsvp.js +1 -0
  229. package/ember_debug/utils/type-check.js +5 -1
  230. package/ember_debug/vendor/startup-wrapper.js +4 -1
  231. package/ember_debug/view-debug.js +3 -2
  232. package/eslint.config.mjs +172 -0
  233. package/gulpfile.js +1 -1
  234. package/lib/ui/addon/components/drag-handle.hbs +4 -4
  235. package/lib/ui/addon/components/drag-handle.js +3 -1
  236. package/lib/ui/addon/components/empty-message.hbs +1 -1
  237. package/lib/ui/addon/components/error-page.hbs +3 -3
  238. package/lib/ui/addon/components/resizable-column.js +1 -1
  239. package/lib/ui/addon/components/toolbar-clear-button.hbs +1 -1
  240. package/lib/ui/addon/components/toolbar-reload-button.hbs +1 -1
  241. package/lib/ui/addon/components/toolbar-search-field.hbs +2 -2
  242. package/lib/ui/addon/styles/_disclosure-triangle.scss +3 -1
  243. package/lib/ui/addon/styles/_drag-handle.scss +7 -7
  244. package/lib/ui/addon/styles/_empty-message.scss +1 -1
  245. package/lib/ui/addon/styles/_error-page.scss +8 -7
  246. package/lib/ui/addon/styles/_list.scss +46 -45
  247. package/lib/ui/addon/styles/_nav.scss +29 -27
  248. package/lib/ui/addon/styles/_object-inspector-toggle.scss +5 -5
  249. package/lib/ui/addon/styles/_pill.scss +4 -4
  250. package/lib/ui/addon/styles/_send-to-console.scss +1 -1
  251. package/lib/ui/addon/styles/_split.scss +17 -20
  252. package/lib/ui/addon/styles/addon.scss +13 -13
  253. package/lib/ui/addon/styles/toolbar/_checkbox.scss +5 -5
  254. package/lib/ui/addon/styles/toolbar/_icon-button.scss +44 -25
  255. package/lib/ui/addon/styles/toolbar/_index.scss +6 -5
  256. package/lib/ui/addon/styles/toolbar/_radio.scss +10 -10
  257. package/lib/ui/addon/styles/toolbar/_search.scss +5 -3
  258. package/package.json +85 -86
  259. package/public/assets/svg/ellipsis.svg +3 -3
  260. package/public/assets/svg/nav-bug.svg +1 -1
  261. package/public/assets/svg/nav-components.svg +2 -2
  262. package/public/assets/svg/nav-container.svg +1 -1
  263. package/public/assets/svg/nav-data.svg +1 -1
  264. package/public/assets/svg/nav-deprecations.svg +3 -3
  265. package/public/assets/svg/nav-info.svg +3 -3
  266. package/public/assets/svg/nav-promises.svg +2 -2
  267. package/public/assets/svg/nav-render-performance.svg +2 -2
  268. package/public/assets/svg/nav-route-tree.svg +7 -7
  269. package/scripts/download-panes.js +1 -1
  270. package/skeletons/bookmarklet/load_inspector.js +30 -11
  271. package/skeletons/web-extension/background.js +26 -21
  272. package/skeletons/web-extension/boot.js +1 -1
  273. package/skeletons/web-extension/content-script.js +11 -11
  274. package/skeletons/web-extension/devtools.js +12 -3
  275. package/skeletons/web-extension/manifest.json +2 -2
  276. package/skeletons/web-extension/options.js +17 -12
  277. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  278. package/testem.js +0 -1
  279. package/tests/acceptance/app-picker-test.js +4 -4
  280. package/tests/acceptance/component-tree-test.js +43 -57
  281. package/tests/acceptance/container-test.js +0 -2
  282. package/tests/acceptance/data-test.js +8 -10
  283. package/tests/acceptance/deprecation-test.js +8 -12
  284. package/tests/acceptance/info-test.js +2 -2
  285. package/tests/acceptance/object-inspector-test.js +62 -110
  286. package/tests/acceptance/promise-test.js +1 -11
  287. package/tests/acceptance/render-tree-test.js +2 -2
  288. package/tests/acceptance/route-tree-test.js +12 -14
  289. package/tests/acceptance/whats-new-test.js +3 -3
  290. package/tests/ember_debug/container-debug-test.js +4 -4
  291. package/tests/ember_debug/deprecation-debug-test.js +8 -5
  292. package/tests/ember_debug/ember-debug-test.js +1 -4
  293. package/tests/ember_debug/object-inspector-test.js +44 -44
  294. package/tests/ember_debug/profile-manager-test.js +140 -165
  295. package/tests/ember_debug/profile-node-test.js +3 -3
  296. package/tests/ember_debug/promise-assembler-test.js +12 -9
  297. package/tests/ember_debug/promise-debug-test.js +5 -6
  298. package/tests/ember_debug/route-debug-test.js +8 -7
  299. package/tests/ember_debug/view-debug-test.js +179 -181
  300. package/tests/helpers/{index.js → index.ts} +6 -5
  301. package/tests/helpers/setup-ember-debug-test.js +14 -0
  302. package/tests/integration/injection-test.js +12 -13
  303. package/tests/test-adapter.js +15 -15
  304. package/tests/test-helper.js +6 -1
  305. package/tests/unit/check-current-route-test.js +0 -4
  306. package/tests/unit/resizable-columns-test.js +53 -51
  307. package/tests/unit/utils/parse-text-test.js +3 -3
  308. package/tests/unit/utils/search-match-test.js +5 -5
  309. package/tests/unit/utils/type-check-test.js +22 -0
  310. package/tsconfig.json +3 -1
  311. package/types/ember-inspector/index.d.ts +2 -1
  312. package/types/global.d.ts +1 -7
  313. package/.editorconfig +0 -19
  314. package/.ember-cli +0 -15
  315. package/.eslintignore +0 -33
  316. package/.eslintrc.js +0 -86
  317. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  318. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  319. package/.github/dependabot.yml +0 -14
  320. package/.github/pull_request_template.md +0 -4
  321. package/.github/workflows/build.yml +0 -339
  322. package/.github/workflows/plan-release.yml +0 -83
  323. package/.github/workflows/publish.yml +0 -60
  324. package/.prettierignore +0 -25
  325. package/.prettierrc.js +0 -14
  326. package/.release-plan.json +0 -17
  327. package/.stylelintrc.js +0 -3
  328. package/.template-lintrc.js +0 -12
  329. package/.tool-versions +0 -2
  330. package/.watchmanconfig +0 -3
  331. package/app/components/.gitkeep +0 -0
  332. package/app/components/list-content.js +0 -130
  333. package/app/controllers/.gitkeep +0 -0
  334. package/app/controllers/promise-tree.js +0 -130
  335. package/app/helpers/.gitkeep +0 -0
  336. package/app/libs/promise-assembler.js +0 -169
  337. package/app/models/.gitkeep +0 -0
  338. package/app/routes/.gitkeep +0 -0
  339. package/app/routes/model-types.js +0 -47
  340. package/app/routes/promise-tree.js +0 -48
  341. package/app/routes/records.js +0 -55
  342. package/app/routes/render-tree.js +0 -66
  343. package/app/services/adapters/websocket.js +0 -31
  344. package/app/services/layout.js +0 -39
  345. package/app/services/port.js +0 -90
  346. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  347. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  348. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  349. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  350. package/dist/chrome/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  351. package/dist/chrome/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  352. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  353. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  354. package/dist/firefox/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  355. package/dist/firefox/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  356. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  357. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  358. package/dist/websocket/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
  359. package/dist/websocket/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
  360. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  361. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  362. package/ember_debug/.eslintrc.js +0 -13
  363. package/tests/helpers/trigger-port.js +0 -6
  364. package/tests/unit/.gitkeep +0 -0
  365. /package/app/{app.js → app.ts} +0 -0
  366. /package/app/controllers/{info.js → info.ts} +0 -0
  367. /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--main {{if @collapsed "nav--collapsed overflow-hidden"}}">
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="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>
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 "nav__overflow--active"}} nav__overflow relative flex items-center justify-center cursor-pointer"
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('.nav__item');
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
- let updateVal = function () {
12
- this.set(prop, value);
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 'my-app/config/environment'
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' | 'auto';
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,3 +1,4 @@
1
+ // eslint-disable-next-line ember/no-computed-properties-in-native-classes
1
2
  import { computed } from '@ember/object';
2
3
  import Controller from '@ember/controller';
3
4
 
@@ -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
- @equal('port.adapter.name', 'chrome')
47
- isChrome;
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.pushObject(details);
71
- this.set('mixinDetails', details);
62
+ this.mixinStack.push(details);
63
+ this.mixinDetails = details;
72
64
  }
73
65
 
74
66
  @action
75
67
  popMixinDetails() {
76
- let mixinStack = this.mixinStack;
77
- let item = mixinStack.popObject();
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.set('inspectorExpanded', true);
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.set('inspectorExpanded', false);
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.set('active', bool);
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.set('navIsCollapsed', !this.navIsCollapsed);
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.set('mixinStack', []);
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 mixinStack = this.mixinStack;
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.pushObject(mixinStack.objectAt(i));
177
+ objectsToRemove.push(this.mixinStack.at(i));
182
178
  }
183
179
  objectsToRemove.forEach((item) => {
184
- mixinStack.removeObject(item);
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.get('length') > 0) {
188
- this.set('mixinDetails', mixinStack.get('lastObject'));
186
+ if (this.mixinStack.length > 0) {
187
+ this.mixinDetails = this.mixinStack.at(-1);
189
188
  } else {
190
- this.set('mixinDetails', null);
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
- @sort('model', 'sortProperties') sorted;
9
-
10
- constructor() {
11
- super(...arguments);
9
+ sortProperties = ['name'];
12
10
 
13
- this.sortProperties = ['name'];
14
- }
11
+ @sort('model', 'sortProperties') sorted;
15
12
  }
@@ -1,6 +1,10 @@
1
- import { action, computed, set } from '@ember/object';
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
- search = null;
12
- toggleDeprecationWorkflow = false;
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.set('toggleDeprecationWorkflow', e.target.checked);
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);
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line ember/no-computed-properties-in-native-classes
1
2
  import { computed } from '@ember/object';
2
3
  import Controller from '@ember/controller';
3
4
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable ember/no-computed-properties-in-native-classes */
1
2
  import Controller from '@ember/controller';
2
3
  import { action, computed } from '@ember/object';
3
4
  import { sort } from '@ember/object/computed';
@@ -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, computed, get } from '@ember/object';
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 escapeRegExp from 'ember-inspector/utils/escape-reg-exp';
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
- queryParams = ['filterValue', 'searchValue'];
12
-
13
- searchValue = '';
14
- filterValue = null;
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.get('modelType.columns').map(({ desc, name }) => ({
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
- let search = this.searchValue;
50
- let filter = this.filterValue;
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.set('filterValue', val);
71
+ this.filterValue = val;
80
72
  }
81
73
 
82
74
  @action
83
75
  inspectModel([record]) {
84
- this.set('selection', record);
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.set('sorts', newSorts);
82
+ this.sorts = newSorts;
91
83
  }
92
84
  }