ember-inspector 4.13.1 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) hide show
  1. package/.ember-cli +1 -9
  2. package/.github/workflows/build.yml +33 -112
  3. package/.github/workflows/plan-release.yml +26 -48
  4. package/.github/workflows/publish.yml +129 -31
  5. package/.prettierignore +2 -13
  6. package/.prettierrc.js +10 -4
  7. package/.release-plan.json +13 -4
  8. package/.stylelintignore +8 -0
  9. package/.stylelintrc.js +10 -1
  10. package/.template-lintrc.js +2 -1
  11. package/.tool-versions +2 -2
  12. package/.watchmanconfig +1 -1
  13. package/CHANGELOG.md +137 -0
  14. package/DEVELOPMENT.md +50 -0
  15. package/PRIVACY.md +3 -0
  16. package/README.md +14 -50
  17. package/RELEASE.md +15 -50
  18. package/app/components/app-picker.hbs +2 -2
  19. package/app/components/component-tree-item.hbs +14 -14
  20. package/app/components/component-tree-toolbar.hbs +17 -3
  21. package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
  22. package/app/components/deprecation-item-source.hbs +1 -1
  23. package/app/components/deprecation-item.hbs +1 -1
  24. package/app/components/deprecations-toolbar.hbs +1 -1
  25. package/app/components/item-types.hbs +7 -7
  26. package/app/components/list-cell.hbs +3 -3
  27. package/app/components/list-content.hbs +4 -3
  28. package/app/components/list-content.ts +96 -0
  29. package/app/components/list.hbs +3 -3
  30. package/app/components/list.js +7 -7
  31. package/app/components/model-types-toolbar.hbs +3 -3
  32. package/app/components/object-inspector/component-parents.hbs +33 -0
  33. package/app/components/object-inspector/component-parents.js +43 -0
  34. package/app/components/object-inspector/dependent-keys.hbs +4 -4
  35. package/app/components/object-inspector/errors.hbs +4 -4
  36. package/app/components/object-inspector/properties-all.hbs +1 -1
  37. package/app/components/object-inspector/properties-base.js +2 -0
  38. package/app/components/object-inspector/properties-grouped.hbs +5 -5
  39. package/app/components/object-inspector/property.hbs +36 -34
  40. package/app/components/object-inspector/property.ts +34 -17
  41. package/app/components/object-inspector/sort-properties.js +12 -4
  42. package/app/components/object-inspector/toggle.hbs +9 -0
  43. package/app/components/object-inspector/toggle.js +6 -0
  44. package/app/components/object-inspector.hbs +11 -9
  45. package/app/components/object-inspector.js +1 -1
  46. package/app/components/promise-item.hbs +11 -11
  47. package/app/components/promise-item.js +8 -6
  48. package/app/components/promise-tree-toolbar.hbs +5 -5
  49. package/app/components/records-toolbar.hbs +2 -2
  50. package/app/components/render-item.hbs +4 -4
  51. package/app/components/render-item.ts +12 -9
  52. package/app/components/render-tree-toolbar.hbs +1 -1
  53. package/app/components/route-cell-name.hbs +1 -1
  54. package/app/components/route-cell-name.js +3 -2
  55. package/app/components/route-tree-toolbar.hbs +2 -2
  56. package/app/components/scroll-container.js +2 -0
  57. package/app/components/side-nav.hbs +5 -5
  58. package/app/components/side-nav.js +1 -1
  59. package/{lib/ui/addon/components → app/components/ui}/drag-handle.hbs +4 -4
  60. package/{lib/ui/addon/components → app/components/ui}/drag-handle.js +3 -1
  61. package/{lib/ui/addon/components → app/components/ui}/empty-message.hbs +1 -1
  62. package/{lib/ui/addon/components → app/components/ui}/error-page.hbs +3 -3
  63. package/{lib/ui/addon/components → app/components/ui}/resizable-column.js +1 -1
  64. package/{lib/ui/addon/components → app/components/ui}/toolbar-clear-button.hbs +1 -1
  65. package/{lib/ui/addon/components → app/components/ui}/toolbar-reload-button.hbs +1 -1
  66. package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.hbs +2 -2
  67. package/app/computed/{debounce.js → debounce.ts} +7 -5
  68. package/app/config/environment.d.ts +5 -2
  69. package/app/controllers/app-config.js +1 -0
  70. package/app/controllers/application.js +36 -71
  71. package/app/controllers/component-tree.js +26 -7
  72. package/app/controllers/container-type.js +2 -1
  73. package/app/controllers/container-types/{index.js → index.ts} +5 -2
  74. package/app/controllers/container-types.js +3 -6
  75. package/app/controllers/deprecations.js +16 -11
  76. package/app/controllers/libraries.js +1 -0
  77. package/app/controllers/model-types.js +7 -13
  78. package/app/controllers/promise-tree.ts +149 -0
  79. package/app/controllers/records.js +18 -26
  80. package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
  81. package/app/controllers/route-tree.js +7 -5
  82. package/app/helpers/build-style.js +1 -1
  83. package/app/index.html +1 -19
  84. package/app/initializers/setup.js +1 -1
  85. package/app/libs/promise-assembler.ts +249 -0
  86. package/app/libs/resizable-columns.js +10 -10
  87. package/app/models/{promise.js → promise.ts} +72 -69
  88. package/app/{router.js → router.ts} +1 -1
  89. package/app/routes/app-detected.js +3 -5
  90. package/app/routes/application.js +9 -13
  91. package/app/routes/deprecations.js +7 -16
  92. package/app/routes/launch.js +2 -1
  93. package/app/routes/libraries.js +2 -1
  94. package/app/routes/model-type.js +2 -3
  95. package/app/routes/model-types.ts +57 -0
  96. package/app/routes/promise-tree.ts +63 -0
  97. package/app/routes/records.ts +78 -0
  98. package/app/routes/render-tree.ts +93 -0
  99. package/app/routes/route-tree.js +0 -1
  100. package/app/routes/{tab.js → tab.ts} +9 -2
  101. package/app/routes/whats-new.js +6 -4
  102. package/app/services/adapters/{basic.js → basic.ts} +36 -30
  103. package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
  104. package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
  105. package/app/services/adapters/{web-extension.js → web-extension.ts} +46 -46
  106. package/app/services/adapters/websocket.ts +40 -0
  107. package/app/services/layout.ts +124 -0
  108. package/app/services/port.ts +195 -0
  109. package/app/services/storage/{local.js → local.ts} +7 -20
  110. package/app/services/storage/{memory.js → memory.ts} +6 -21
  111. package/app/services/{storage.js → storage.ts} +25 -23
  112. package/app/styles/app.scss +1 -0
  113. package/app/styles/base.scss +6 -2
  114. package/app/styles/colors.scss +33 -31
  115. package/app/styles/component_tree.scss +56 -51
  116. package/app/styles/dropdown.scss +2 -2
  117. package/app/styles/ember-table.scss +3 -3
  118. package/app/styles/mixin.scss +26 -26
  119. package/app/styles/object_inspector.scss +30 -21
  120. package/{lib/ui/addon/styles → app/styles/ui}/_disclosure-triangle.scss +3 -1
  121. package/{lib/ui/addon/styles → app/styles/ui}/_drag-handle.scss +7 -7
  122. package/{lib/ui/addon/styles → app/styles/ui}/_empty-message.scss +1 -1
  123. package/{lib/ui/addon/styles → app/styles/ui}/_error-page.scss +8 -7
  124. package/{lib/ui/addon/styles → app/styles/ui}/_list.scss +46 -45
  125. package/{lib/ui/addon/styles → app/styles/ui}/_nav.scss +29 -27
  126. package/app/styles/ui/_object-inspector-toggle.scss +4 -0
  127. package/{lib/ui/addon/styles → app/styles/ui}/_pill.scss +4 -4
  128. package/{lib/ui/addon/styles → app/styles/ui}/_send-to-console.scss +1 -1
  129. package/{lib/ui/addon/styles → app/styles/ui}/_split.scss +26 -20
  130. package/app/styles/ui/_ui.scss +13 -0
  131. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_checkbox.scss +5 -5
  132. package/app/styles/ui/toolbar/_icon-button.scss +80 -0
  133. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_index.scss +6 -5
  134. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_radio.scss +10 -10
  135. package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_search.scss +5 -3
  136. package/app/styles/utils.scss +408 -122
  137. package/app/templates/application.hbs +22 -19
  138. package/app/templates/component-tree.hbs +4 -1
  139. package/app/templates/deprecations.hbs +2 -3
  140. package/app/templates/info.hbs +10 -10
  141. package/app/templates/promise-tree.hbs +1 -1
  142. package/app/templates/render-tree.hbs +1 -1
  143. package/app/templates/route-tree.hbs +1 -1
  144. package/app/utils/escape-reg-exp.ts +3 -2
  145. package/app/utils/nullish.ts +7 -0
  146. package/app/utils/parse-text.ts +4 -5
  147. package/app/utils/truncate.js +0 -1
  148. package/config/ember-cli-update.json +5 -3
  149. package/config/ember-try.js +117 -72
  150. package/config/environment.js +1 -1
  151. package/config/optional-features.json +2 -1
  152. package/dist/bookmarklet/load_inspector.js +31 -11
  153. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  154. package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  155. package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  156. package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  157. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +997 -156
  158. package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +560 -613
  159. package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  160. package/dist/bookmarklet/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  161. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  162. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  163. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  164. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  165. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  166. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  167. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  168. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  169. package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  170. package/dist/bookmarklet/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  171. package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +4 -841
  172. package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +4277 -5152
  173. package/dist/bookmarklet/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  174. package/dist/bookmarklet/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  175. package/dist/bookmarklet/panes-3-16-0/basic-debug.js +10 -0
  176. package/dist/bookmarklet/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  177. package/dist/bookmarklet/panes-3-16-0/bookmarklet-debug.js +10 -0
  178. package/dist/bookmarklet/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  179. package/dist/bookmarklet/panes-3-16-0/chrome-debug.js +10 -0
  180. package/dist/bookmarklet/panes-3-16-0/ember.js +166 -0
  181. package/dist/bookmarklet/panes-3-16-0/ember_debug.js +7 -11018
  182. package/dist/bookmarklet/panes-3-16-0/evented-BCTya3yE.js +62 -0
  183. package/dist/bookmarklet/panes-3-16-0/firefox-8F84zphP.js +30 -0
  184. package/dist/bookmarklet/panes-3-16-0/firefox-debug.js +10 -0
  185. package/dist/bookmarklet/panes-3-16-0/index.html +4 -23
  186. package/dist/bookmarklet/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  187. package/dist/bookmarklet/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  188. package/dist/bookmarklet/panes-3-16-0/main.js +7669 -0
  189. package/dist/bookmarklet/panes-3-16-0/port.js +108 -0
  190. package/dist/bookmarklet/panes-3-16-0/profile-node.js +60 -0
  191. package/dist/bookmarklet/panes-3-16-0/promise-assembler.js +218 -0
  192. package/dist/bookmarklet/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  193. package/dist/bookmarklet/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  194. package/dist/bookmarklet/panes-3-16-0/type-check.js +119 -0
  195. package/dist/bookmarklet/panes-3-16-0/version.js +90 -0
  196. package/dist/bookmarklet/panes-3-16-0/versions.js +4 -0
  197. package/dist/bookmarklet/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  198. package/dist/bookmarklet/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  199. package/dist/bookmarklet/panes-3-16-0/websocket-debug.js +10 -0
  200. package/dist/chrome/background.js +26 -21
  201. package/dist/chrome/boot.js +1 -1
  202. package/dist/chrome/content-script.js +12 -11
  203. package/dist/chrome/devtools.js +12 -3
  204. package/dist/chrome/manifest.json +4 -2
  205. package/dist/chrome/options.js +17 -12
  206. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  207. package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  208. package/dist/chrome/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  209. package/dist/chrome/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  210. package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +997 -156
  211. package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +560 -613
  212. package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  213. package/dist/chrome/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  214. package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  215. package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  216. package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  217. package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  218. package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  219. package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  220. package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  221. package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  222. package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  223. package/dist/chrome/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  224. package/dist/chrome/panes-3-16-0/assets/vendor.css +4 -841
  225. package/dist/chrome/panes-3-16-0/assets/vendor.js +4277 -5152
  226. package/dist/chrome/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  227. package/dist/chrome/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  228. package/dist/chrome/panes-3-16-0/basic-debug.js +10 -0
  229. package/dist/chrome/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  230. package/dist/chrome/panes-3-16-0/bookmarklet-debug.js +10 -0
  231. package/dist/chrome/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  232. package/dist/chrome/panes-3-16-0/chrome-debug.js +10 -0
  233. package/dist/chrome/panes-3-16-0/ember.js +166 -0
  234. package/dist/chrome/panes-3-16-0/ember_debug.js +7 -11018
  235. package/dist/chrome/panes-3-16-0/evented-BCTya3yE.js +62 -0
  236. package/dist/chrome/panes-3-16-0/firefox-8F84zphP.js +30 -0
  237. package/dist/chrome/panes-3-16-0/firefox-debug.js +10 -0
  238. package/dist/chrome/panes-3-16-0/index.html +4 -23
  239. package/dist/chrome/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  240. package/dist/chrome/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  241. package/dist/chrome/panes-3-16-0/main.js +7669 -0
  242. package/dist/chrome/panes-3-16-0/port.js +108 -0
  243. package/dist/chrome/panes-3-16-0/profile-node.js +60 -0
  244. package/dist/chrome/panes-3-16-0/promise-assembler.js +218 -0
  245. package/dist/chrome/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  246. package/dist/chrome/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  247. package/dist/chrome/panes-3-16-0/type-check.js +119 -0
  248. package/dist/chrome/panes-3-16-0/version.js +90 -0
  249. package/dist/chrome/panes-3-16-0/versions.js +4 -0
  250. package/dist/chrome/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  251. package/dist/chrome/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  252. package/dist/chrome/panes-3-16-0/websocket-debug.js +10 -0
  253. package/dist/chrome/scripts/in-page-script.js +19 -13
  254. package/dist/firefox/background.js +26 -21
  255. package/dist/firefox/boot.js +1 -1
  256. package/dist/firefox/content-script.js +12 -11
  257. package/dist/firefox/devtools.js +12 -3
  258. package/dist/firefox/manifest.json +4 -2
  259. package/dist/firefox/options.js +17 -12
  260. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  261. package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  262. package/dist/firefox/panes-3-16-0/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  263. package/dist/firefox/panes-3-16-0/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  264. package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +997 -156
  265. package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +560 -613
  266. package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
  267. package/dist/firefox/panes-3-16-0/assets/svg/focus-point-round.svg +9 -0
  268. package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
  269. package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
  270. package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
  271. package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
  272. package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
  273. package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
  274. package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
  275. package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
  276. package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
  277. package/dist/firefox/panes-3-16-0/assets/svg/sidebar-toggle-trailing.svg +9 -0
  278. package/dist/firefox/panes-3-16-0/assets/vendor.css +4 -841
  279. package/dist/firefox/panes-3-16-0/assets/vendor.js +4277 -5152
  280. package/dist/firefox/panes-3-16-0/base-object-HAEdWjmg.js +59 -0
  281. package/dist/firefox/panes-3-16-0/basic-B1dkgN3d.js +149 -0
  282. package/dist/firefox/panes-3-16-0/basic-debug.js +10 -0
  283. package/dist/firefox/panes-3-16-0/bookmarklet-BZWtwuX-.js +32 -0
  284. package/dist/firefox/panes-3-16-0/bookmarklet-debug.js +10 -0
  285. package/dist/firefox/panes-3-16-0/chrome-P6FSEUf1.js +10 -0
  286. package/dist/firefox/panes-3-16-0/chrome-debug.js +10 -0
  287. package/dist/firefox/panes-3-16-0/ember.js +166 -0
  288. package/dist/firefox/panes-3-16-0/ember_debug.js +7 -11018
  289. package/dist/firefox/panes-3-16-0/evented-BCTya3yE.js +62 -0
  290. package/dist/firefox/panes-3-16-0/firefox-8F84zphP.js +30 -0
  291. package/dist/firefox/panes-3-16-0/firefox-debug.js +10 -0
  292. package/dist/firefox/panes-3-16-0/index.html +4 -23
  293. package/dist/firefox/panes-3-16-0/internals-CRmXMEzb.js +12 -0
  294. package/dist/firefox/panes-3-16-0/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  295. package/dist/firefox/panes-3-16-0/main.js +7669 -0
  296. package/dist/firefox/panes-3-16-0/port.js +108 -0
  297. package/dist/firefox/panes-3-16-0/profile-node.js +60 -0
  298. package/dist/firefox/panes-3-16-0/promise-assembler.js +218 -0
  299. package/dist/firefox/panes-3-16-0/runloop-6_0lpzTA.js +1138 -0
  300. package/dist/firefox/panes-3-16-0/start-inspector-BIYQArZn.js +334 -0
  301. package/dist/firefox/panes-3-16-0/type-check.js +119 -0
  302. package/dist/firefox/panes-3-16-0/version.js +90 -0
  303. package/dist/firefox/panes-3-16-0/versions.js +4 -0
  304. package/dist/firefox/panes-3-16-0/web-extension-OWnXJ_XK.js +144 -0
  305. package/dist/firefox/panes-3-16-0/websocket-BSUvUqER.js +58 -0
  306. package/dist/firefox/panes-3-16-0/websocket-debug.js +10 -0
  307. package/dist/firefox/scripts/in-page-script.js +19 -13
  308. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
  309. package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
  310. package/dist/websocket/assets/chunk.524.aca67dc376e8cd35b522.js +40 -0
  311. package/dist/websocket/assets/chunk.582.d3d80e94c4f59dc3b65d.js +42 -0
  312. package/dist/websocket/assets/ember-inspector.css +997 -156
  313. package/dist/websocket/assets/ember-inspector.js +560 -613
  314. package/dist/websocket/assets/svg/ellipsis.svg +3 -3
  315. package/dist/websocket/assets/svg/focus-point-round.svg +9 -0
  316. package/dist/websocket/assets/svg/nav-bug.svg +1 -1
  317. package/dist/websocket/assets/svg/nav-components.svg +2 -2
  318. package/dist/websocket/assets/svg/nav-container.svg +1 -1
  319. package/dist/websocket/assets/svg/nav-data.svg +1 -1
  320. package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
  321. package/dist/websocket/assets/svg/nav-info.svg +3 -3
  322. package/dist/websocket/assets/svg/nav-promises.svg +2 -2
  323. package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
  324. package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
  325. package/dist/websocket/assets/svg/sidebar-toggle-trailing.svg +9 -0
  326. package/dist/websocket/assets/vendor.css +4 -841
  327. package/dist/websocket/assets/vendor.js +4277 -5152
  328. package/dist/websocket/base-object-HAEdWjmg.js +59 -0
  329. package/dist/websocket/basic-B1dkgN3d.js +149 -0
  330. package/dist/websocket/basic-debug.js +10 -0
  331. package/dist/websocket/bookmarklet-BZWtwuX-.js +32 -0
  332. package/dist/websocket/bookmarklet-debug.js +10 -0
  333. package/dist/websocket/chrome-P6FSEUf1.js +10 -0
  334. package/dist/websocket/chrome-debug.js +10 -0
  335. package/dist/websocket/ember.js +166 -0
  336. package/dist/websocket/ember_debug.js +7 -11018
  337. package/dist/websocket/evented-BCTya3yE.js +62 -0
  338. package/dist/websocket/firefox-8F84zphP.js +30 -0
  339. package/dist/websocket/firefox-debug.js +10 -0
  340. package/dist/websocket/index.html +4 -23
  341. package/dist/websocket/internals-CRmXMEzb.js +12 -0
  342. package/dist/websocket/load-ember-debug-in-webpage-DCWcJhQm.js +29 -0
  343. package/dist/websocket/main.js +7669 -0
  344. package/dist/websocket/port.js +108 -0
  345. package/dist/websocket/profile-node.js +60 -0
  346. package/dist/websocket/promise-assembler.js +218 -0
  347. package/dist/websocket/runloop-6_0lpzTA.js +1138 -0
  348. package/dist/websocket/start-inspector-BIYQArZn.js +334 -0
  349. package/dist/websocket/type-check.js +119 -0
  350. package/dist/websocket/version.js +90 -0
  351. package/dist/websocket/versions.js +4 -0
  352. package/dist/websocket/web-extension-OWnXJ_XK.js +144 -0
  353. package/dist/websocket/websocket-BSUvUqER.js +58 -0
  354. package/dist/websocket/websocket-debug.js +10 -0
  355. package/ember-cli-build.js +31 -140
  356. package/ember_debug/adapters/basic.js +10 -29
  357. package/ember_debug/adapters/bookmarklet.js +1 -0
  358. package/ember_debug/adapters/firefox.js +3 -3
  359. package/ember_debug/adapters/web-extension.js +6 -5
  360. package/ember_debug/adapters/websocket.js +2 -2
  361. package/ember_debug/babel.config.cjs +11 -0
  362. package/ember_debug/container-debug.js +1 -1
  363. package/ember_debug/data-debug.js +7 -8
  364. package/ember_debug/debug-port.js +1 -1
  365. package/ember_debug/deprecation-debug.js +14 -14
  366. package/ember_debug/entrypoints/basic-debug.js +10 -0
  367. package/ember_debug/entrypoints/bookmarklet-debug.js +10 -0
  368. package/ember_debug/entrypoints/chrome-debug.js +10 -0
  369. package/ember_debug/entrypoints/firefox-debug.js +10 -0
  370. package/ember_debug/entrypoints/websocket-debug.js +10 -0
  371. package/ember_debug/general-debug.js +4 -4
  372. package/ember_debug/lib/boot-ember-inspector.js +9 -0
  373. package/ember_debug/lib/get-applications.js +28 -0
  374. package/ember_debug/lib/load-ember-debug-in-webpage.js +32 -0
  375. package/ember_debug/lib/send-apps.js +14 -0
  376. package/ember_debug/lib/send-version-miss.js +38 -0
  377. package/ember_debug/lib/setup-instance-initializer.js +17 -0
  378. package/ember_debug/lib/start-inspector.js +195 -0
  379. package/ember_debug/lib/version-test.js +73 -0
  380. package/ember_debug/lib/versions.js +3 -0
  381. package/ember_debug/libs/capture-render-tree.js +1 -2
  382. package/ember_debug/libs/promise-assembler.js +5 -4
  383. package/ember_debug/libs/render-tree.js +37 -44
  384. package/ember_debug/libs/source-map.js +7 -6
  385. package/ember_debug/libs/view-inspection.js +25 -17
  386. package/ember_debug/main.js +18 -21
  387. package/ember_debug/models/profile-manager.js +6 -6
  388. package/ember_debug/models/profile-node.js +1 -1
  389. package/ember_debug/models/promise.js +2 -2
  390. package/ember_debug/object-inspector.js +74 -65
  391. package/ember_debug/package.json +27 -0
  392. package/ember_debug/port.js +5 -4
  393. package/ember_debug/promise-debug.js +5 -5
  394. package/ember_debug/render-debug.js +5 -5
  395. package/ember_debug/rollup.config.js +24 -0
  396. package/ember_debug/route-debug.js +10 -9
  397. package/ember_debug/services/session.js +2 -2
  398. package/ember_debug/utils/classify.js +1 -1
  399. package/ember_debug/utils/ember/object/internals.js +1 -11
  400. package/ember_debug/utils/ember/own-runloop.js +1 -1
  401. package/ember_debug/utils/ember/runloop.js +7 -10
  402. package/ember_debug/utils/ember-object-names.js +11 -9
  403. package/ember_debug/utils/ember.js +222 -40
  404. package/ember_debug/utils/evented.js +1 -1
  405. package/ember_debug/utils/get-object-name.js +3 -3
  406. package/ember_debug/utils/type-check.js +9 -5
  407. package/ember_debug/view-debug.js +12 -6
  408. package/eslint.config.mjs +173 -0
  409. package/gulpfile.js +1 -1
  410. package/package.json +97 -95
  411. package/patches/ember-cli-inject-live-reload.patch +16 -0
  412. package/pnpm-workspace.yaml +3 -0
  413. package/public/assets/svg/ellipsis.svg +3 -3
  414. package/public/assets/svg/focus-point-round.svg +9 -0
  415. package/public/assets/svg/nav-bug.svg +1 -1
  416. package/public/assets/svg/nav-components.svg +2 -2
  417. package/public/assets/svg/nav-container.svg +1 -1
  418. package/public/assets/svg/nav-data.svg +1 -1
  419. package/public/assets/svg/nav-deprecations.svg +3 -3
  420. package/public/assets/svg/nav-info.svg +3 -3
  421. package/public/assets/svg/nav-promises.svg +2 -2
  422. package/public/assets/svg/nav-render-performance.svg +2 -2
  423. package/public/assets/svg/nav-route-tree.svg +7 -7
  424. package/public/assets/svg/sidebar-toggle-trailing.svg +9 -0
  425. package/scripts/download-panes.js +1 -1
  426. package/skeletons/bookmarklet/load_inspector.js +31 -11
  427. package/skeletons/web-extension/background.js +26 -21
  428. package/skeletons/web-extension/boot.js +1 -1
  429. package/skeletons/web-extension/content-script.js +12 -11
  430. package/skeletons/web-extension/devtools.js +12 -3
  431. package/skeletons/web-extension/manifest.json +3 -1
  432. package/skeletons/web-extension/options.js +17 -12
  433. package/skeletons/web-extension/scripts/in-page-script.js +19 -13
  434. package/testem.js +0 -1
  435. package/tests/acceptance/app-picker-test.js +4 -4
  436. package/tests/acceptance/component-tree-test.js +96 -57
  437. package/tests/acceptance/container-test.js +0 -2
  438. package/tests/acceptance/data-test.js +14 -11
  439. package/tests/acceptance/deprecation-test.js +8 -12
  440. package/tests/acceptance/info-test.js +2 -2
  441. package/tests/acceptance/object-inspector-test.js +62 -110
  442. package/tests/acceptance/promise-test.js +1 -11
  443. package/tests/acceptance/render-tree-test.js +2 -2
  444. package/tests/acceptance/route-tree-test.js +12 -14
  445. package/tests/acceptance/whats-new-test.js +11 -11
  446. package/tests/ember_debug/container-debug-test.js +5 -14
  447. package/tests/ember_debug/deprecation-debug-test.js +15 -6
  448. package/tests/ember_debug/ember-data-test.js +7 -1
  449. package/tests/ember_debug/ember-debug-test.js +13 -13
  450. package/tests/ember_debug/object-inspector-test.js +115 -50
  451. package/tests/ember_debug/profile-manager-test.js +153 -170
  452. package/tests/ember_debug/profile-node-test.js +9 -5
  453. package/tests/ember_debug/promise-assembler-test.js +18 -10
  454. package/tests/ember_debug/promise-debug-test.js +19 -15
  455. package/tests/ember_debug/render-debug-test.js +8 -1
  456. package/tests/ember_debug/route-debug-test.js +14 -8
  457. package/tests/ember_debug/view-debug-test.js +267 -183
  458. package/tests/helpers/{index.js → index.ts} +6 -5
  459. package/tests/helpers/setup-ember-debug-test.js +22 -2
  460. package/tests/index.html +1 -2
  461. package/tests/integration/injection-test.js +37 -81
  462. package/tests/test-adapter.js +15 -15
  463. package/tests/test-helper.js +6 -4
  464. package/tests/unit/check-current-route-test.js +0 -4
  465. package/tests/unit/resizable-columns-test.js +53 -51
  466. package/tests/unit/utils/parse-text-test.js +3 -3
  467. package/tests/unit/utils/search-match-test.js +5 -5
  468. package/tests/unit/utils/type-check-test.js +27 -0
  469. package/tsconfig.json +3 -1
  470. package/types/ember-inspector/index.d.ts +2 -1
  471. package/types/global.d.ts +1 -7
  472. package/.eslintignore +0 -33
  473. package/.eslintrc.js +0 -86
  474. package/app/components/list-content.js +0 -130
  475. package/app/controllers/promise-tree.js +0 -130
  476. package/app/libs/promise-assembler.js +0 -169
  477. package/app/routes/model-types.js +0 -47
  478. package/app/routes/promise-tree.js +0 -48
  479. package/app/routes/records.js +0 -55
  480. package/app/routes/render-tree.js +0 -66
  481. package/app/services/adapters/websocket.js +0 -31
  482. package/app/services/layout.js +0 -39
  483. package/app/services/port.js +0 -90
  484. package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  485. package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  486. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  487. package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  488. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  489. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  490. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  491. package/dist/bookmarklet/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  492. package/dist/chrome/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  493. package/dist/chrome/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  494. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  495. package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  496. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  497. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  498. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  499. package/dist/chrome/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  500. package/dist/firefox/panes-3-16-0/assets/chunk.143.76a242242ec46a377266.js +0 -28
  501. package/dist/firefox/panes-3-16-0/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  502. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  503. package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  504. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff +0 -0
  505. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Bold.woff2 +0 -0
  506. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff +0 -0
  507. package/dist/firefox/panes-3-16-0/assets/fonts/Inter-Regular.woff2 +0 -0
  508. package/dist/websocket/assets/chunk.143.76a242242ec46a377266.js +0 -28
  509. package/dist/websocket/assets/chunk.178.b6064b368cf24cc346ec.js +0 -9
  510. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
  511. package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
  512. package/dist/websocket/assets/fonts/Inter-Bold.woff +0 -0
  513. package/dist/websocket/assets/fonts/Inter-Bold.woff2 +0 -0
  514. package/dist/websocket/assets/fonts/Inter-Regular.woff +0 -0
  515. package/dist/websocket/assets/fonts/Inter-Regular.woff2 +0 -0
  516. package/ember_debug/.eslintrc.js +0 -13
  517. package/ember_debug/utils/ember/debug.js +0 -20
  518. package/ember_debug/utils/ember/instrumentation.js +0 -11
  519. package/ember_debug/utils/ember/loader.js +0 -22
  520. package/ember_debug/utils/rsvp.js +0 -20
  521. package/ember_debug/vendor/loader.js +0 -54
  522. package/ember_debug/vendor/startup-wrapper.js +0 -399
  523. package/lib/ui/addon/styles/_object-inspector-toggle.scss +0 -12
  524. package/lib/ui/addon/styles/addon.scss +0 -13
  525. package/lib/ui/addon/styles/toolbar/_icon-button.scss +0 -61
  526. package/lib/ui/app/components/ui/disclosure-triangle.js +0 -1
  527. package/lib/ui/app/components/ui/disclosure.js +0 -1
  528. package/lib/ui/app/components/ui/drag-handle.js +0 -1
  529. package/lib/ui/app/components/ui/draggable-column.js +0 -1
  530. package/lib/ui/app/components/ui/empty-message.js +0 -1
  531. package/lib/ui/app/components/ui/error-page.js +0 -1
  532. package/lib/ui/app/components/ui/open-links-in-new-window.js +0 -1
  533. package/lib/ui/app/components/ui/resizable-column.js +0 -1
  534. package/lib/ui/app/components/ui/send-to-console.js +0 -1
  535. package/lib/ui/app/components/ui/toolbar-clear-button.js +0 -1
  536. package/lib/ui/app/components/ui/toolbar-divider.js +0 -1
  537. package/lib/ui/app/components/ui/toolbar-reload-button.js +0 -1
  538. package/lib/ui/app/components/ui/toolbar-search-field.js +0 -1
  539. package/lib/ui/app/components/ui/warning-message.js +0 -1
  540. package/lib/ui/index.js +0 -34
  541. package/lib/ui/package.json +0 -13
  542. package/public/assets/fonts/Inter-Bold.woff +0 -0
  543. package/public/assets/fonts/Inter-Bold.woff2 +0 -0
  544. package/public/assets/fonts/Inter-Regular.woff +0 -0
  545. package/public/assets/fonts/Inter-Regular.woff2 +0 -0
  546. package/tests/helpers/trigger-port.js +0 -6
  547. /package/app/{app.js → app.ts} +0 -0
  548. /package/{lib/ui/addon/components → app/components/ui}/disclosure-triangle.hbs +0 -0
  549. /package/{lib/ui/addon/components → app/components/ui}/disclosure.hbs +0 -0
  550. /package/{lib/ui/addon/components → app/components/ui}/disclosure.js +0 -0
  551. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.hbs +0 -0
  552. /package/{lib/ui/addon/components → app/components/ui}/draggable-column.js +0 -0
  553. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.hbs +0 -0
  554. /package/{lib/ui/addon/components → app/components/ui}/open-links-in-new-window.js +0 -0
  555. /package/{lib/ui/addon/components → app/components/ui}/resizable-column.hbs +0 -0
  556. /package/{lib/ui/addon/components → app/components/ui}/send-to-console.hbs +0 -0
  557. /package/{lib/ui/addon/components → app/components/ui}/toolbar-divider.hbs +0 -0
  558. /package/{lib/ui/addon/components → app/components/ui}/toolbar-search-field.js +0 -0
  559. /package/{lib/ui/addon/components → app/components/ui}/warning-message.hbs +0 -0
  560. /package/app/controllers/{info.js → info.ts} +0 -0
  561. /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
  562. /package/{lib/ui/addon/styles → app/styles/ui}/_goto-source.scss +0 -0
  563. /package/{lib/ui/addon/styles → app/styles/ui}/_warning.scss +0 -0
  564. /package/{lib/ui/addon/styles → app/styles/ui}/toolbar/_divider.scss +0 -0
@@ -0,0 +1,96 @@
1
+ import { action } from '@ember/object';
2
+ import { inject as service } from '@ember/service';
3
+ import Component from '@glimmer/component';
4
+ import { htmlSafe } from '@ember/template';
5
+ import { schedule } from '@ember/runloop';
6
+ import { tracked } from '@glimmer/tracking';
7
+
8
+ import type LayoutService from '../services/layout';
9
+
10
+ interface ListContentSignature {
11
+ Element: HTMLDivElement;
12
+ Args: {
13
+ /**
14
+ * Array of objects representing the columns to render
15
+ * and their corresponding widths. This array is passed
16
+ * through the template.
17
+ *
18
+ * Each item in the array has `width` and `id` properties.
19
+ */
20
+ columns: Array<{ id: string; width: number }>;
21
+ /**
22
+ * Number passed from `list`. Indicates the header height
23
+ * in pixels.
24
+ */
25
+ headerHeight: number;
26
+ };
27
+ }
28
+
29
+ /**
30
+ * Base list view config
31
+ */
32
+ export default class ListContent extends Component<ListContentSignature> {
33
+ /**
34
+ * The layout service. Used to observe the app's content height.
35
+ */
36
+ @service('layout') declare layoutService: LayoutService;
37
+
38
+ @tracked contentHeight: number | null = null;
39
+
40
+ /**
41
+ * Hook called before destruction. Clean up events listeners.
42
+ */
43
+ willDestroy() {
44
+ this.layoutService.off(
45
+ 'content-height-update',
46
+ this,
47
+ this.updateContentHeight,
48
+ );
49
+ return super.willDestroy();
50
+ }
51
+
52
+ get height() {
53
+ // In testing list-view is created before `contentHeight` is set
54
+ // which will trigger an exception
55
+ if (!this.contentHeight) {
56
+ return 1;
57
+ }
58
+ return this.contentHeight - this.args.headerHeight;
59
+ }
60
+
61
+ get style() {
62
+ return htmlSafe(`height:${this.height}px`);
63
+ }
64
+
65
+ /**
66
+ * Hook called when content element is inserted.
67
+ */
68
+ @action
69
+ elementInserted() {
70
+ // eslint-disable-next-line ember/no-runloop
71
+ schedule('afterRender', this, this.setupHeight);
72
+ }
73
+
74
+ /**
75
+ * Set up the content height and listen to any updates to that property.
76
+ */
77
+ setupHeight = () => {
78
+ this.contentHeight = this.layoutService.contentHeight;
79
+ this.layoutService.on(
80
+ 'content-height-update',
81
+ this,
82
+ this.updateContentHeight,
83
+ );
84
+ };
85
+
86
+ /**
87
+ * Triggered whenever the app's content height changes. This usually happens
88
+ * when the window is resized. Once we detect a change we update this
89
+ * component's `contentHeight` property and consequently its `height` style.
90
+ *
91
+ * @param height The app's new content height
92
+ */
93
+ updateContentHeight = (height: number) => {
94
+ this.contentHeight = height;
95
+ };
96
+ }
@@ -5,8 +5,8 @@
5
5
  {{did-update this.schemaUpdated this.schema}}
6
6
  >
7
7
  {{#if this.schema.columns.length}}
8
- <div class="list__header">
9
- <div class="list__table-container">
8
+ <div class="list-header">
9
+ <div class="list-table-container">
10
10
  <table>
11
11
  <colgroup>
12
12
  {{#each this.columns key="id" as |column|}}
@@ -14,7 +14,7 @@
14
14
  {{/each}}
15
15
  </colgroup>
16
16
  <tbody>
17
- <tr class="list__row">
17
+ <tr class="list-row">
18
18
  {{#each this.columns key="id" as |column|}}
19
19
  <ListCell class="js-header-column" @tagName="th">
20
20
  {{column.name}}
@@ -13,9 +13,6 @@ export default class ListComponent extends Component {
13
13
  /**
14
14
  * Layout service used to listen to changes to the application
15
15
  * layout such as resizing of the main nav or object inspector.
16
- *
17
- * @property layoutService
18
- * @type {Service}
19
16
  */
20
17
  @service('layout') layoutService;
21
18
 
@@ -120,6 +117,7 @@ export default class ListComponent extends Component {
120
117
  let oldSchema = this.oldSchema;
121
118
  let newSchema = this.schema;
122
119
  if (newSchema && newSchema !== oldSchema) {
120
+ // eslint-disable-next-line ember/no-runloop
123
121
  scheduleOnce('actions', this, this.setupColumns);
124
122
  }
125
123
  this.oldSchema = newSchema;
@@ -128,6 +126,7 @@ export default class ListComponent extends Component {
128
126
  @action
129
127
  elementInserted(el) {
130
128
  this.el = el;
129
+ // eslint-disable-next-line ember/no-runloop
131
130
  scheduleOnce('afterRender', this, this.setupColumns);
132
131
  this.onResize = () => {
133
132
  this.debounceColumnWidths.perform();
@@ -157,6 +156,7 @@ export default class ListComponent extends Component {
157
156
  arr.push({
158
157
  name,
159
158
  title: name,
159
+ // eslint-disable-next-line ember/no-runloop
160
160
  fn: bind(this, this.toggleColumnVisibility, id),
161
161
  });
162
162
  return arr;
@@ -166,7 +166,7 @@ export default class ListComponent extends Component {
166
166
  basicContext.show(menu, e);
167
167
  };
168
168
 
169
- const listHeader = this.el.querySelector('.list__header');
169
+ const listHeader = this.el.querySelector('.list-header');
170
170
  if (listHeader) {
171
171
  listHeader.addEventListener('contextmenu', this.showBasicContext);
172
172
  }
@@ -184,7 +184,7 @@ export default class ListComponent extends Component {
184
184
  @action
185
185
  toggleColumnVisibility(id) {
186
186
  this.resizableColumns.toggleVisibility(id);
187
- const listHeader = this.el.querySelector('.list__header');
187
+ const listHeader = this.el.querySelector('.list-header');
188
188
  if (listHeader) {
189
189
  listHeader.removeEventListener('contextmenu', this.showBasicContext);
190
190
  }
@@ -212,7 +212,7 @@ export default class ListComponent extends Component {
212
212
  * @method willDestroy
213
213
  */
214
214
  willDestroy() {
215
- const listHeader = this.el.querySelector('.list__header');
215
+ const listHeader = this.el.querySelector('.list-header');
216
216
  if (listHeader) {
217
217
  listHeader.removeEventListener('contextmenu', this.showBasicContext);
218
218
  }
@@ -228,7 +228,7 @@ export default class ListComponent extends Component {
228
228
  */
229
229
  @action
230
230
  getTableWidth() {
231
- return this.el.querySelector('.list__table-container').clientWidth;
231
+ return this.el.querySelector('.list-table-container').clientWidth;
232
232
  }
233
233
 
234
234
  /**
@@ -6,7 +6,7 @@
6
6
 
7
7
  <Ui::ToolbarDivider />
8
8
 
9
- <div class="toolbar__checkbox js-filter-hide-empty-model-types">
9
+ <div class="toolbar-checkbox js-filter-hide-empty-model-types">
10
10
  <label>
11
11
  <Input
12
12
  data-test-options-hideEmptyModelTypes
@@ -16,7 +16,7 @@
16
16
  Hide Empty Model Types
17
17
  </label>
18
18
  </div>
19
- <div class="toolbar__checkbox js-filter-order-records-by-count">
19
+ <div class="toolbar-checkbox js-filter-order-records-by-count">
20
20
  <label>
21
21
  <Input
22
22
  data-test-options-orderByRecordCount
@@ -26,7 +26,7 @@
26
26
  Order Models By Record Count
27
27
  </label>
28
28
  </div>
29
- <button class="toolbar__radio js-filter" {{on "click" @getStore}} data-test-inspect-store type="button">
29
+ <button class="toolbar-radio js-filter" {{on "click" @getStore}} data-test-inspect-store type="button">
30
30
  Inspect Store
31
31
  </button>
32
32
  </div>
@@ -0,0 +1,33 @@
1
+ <ObjectInspector::Accordion @mixin={{this.accordionMixin}} as |accordion|>
2
+ <div
3
+ class="mixin {{this.accordionMixin.type}} {{if accordion.isExpanded "mixin-state-expanded"}} {{if this.accordionMixin.properties.length "mixin-props-yes" "mixin-props-no"}}"
4
+ data-test-object-detail
5
+ >
6
+ {{#if this.accordionMixin.properties.length}}
7
+ <h2
8
+ data-test-object-detail-name
9
+ class="mixin-name sticky top-0 truncate select-none cursor-default text-base15 bg-base01"
10
+ role="button"
11
+ {{on "click" accordion.toggle}}
12
+ >
13
+ {{this.accordionMixin.name}}
14
+ </h2>
15
+ {{else}}
16
+ <h2
17
+ class="mixin-name mixin-name--no-props sticky top-0 truncate select-none text-base09 cursor-default bg-base01"
18
+ data-test-object-detail-name
19
+ >
20
+ {{this.accordionMixin.name}}
21
+ </h2>
22
+ {{/if}}
23
+ {{#if accordion.isExpanded}}
24
+ <ul class="mixin-properties m-0 text-base font-mono list-none">
25
+ {{#each this.parents as |parent|}}
26
+ <ComponentTreeItem @item={{parent}} />
27
+ {{else}}
28
+ <li class="mixin-property flex relative flex-row items-center truncate">No Properties</li>
29
+ {{/each}}
30
+ </ul>
31
+ {{/if}}
32
+ </div>
33
+ </ObjectInspector::Accordion>
@@ -0,0 +1,43 @@
1
+ import Component from '@glimmer/component';
2
+ import { RenderItem } from 'ember-inspector/controllers/component-tree';
3
+
4
+ class RenderItemNoParent extends RenderItem {
5
+ get level() {
6
+ return 0;
7
+ }
8
+
9
+ get hasChildren() {
10
+ return false;
11
+ }
12
+ }
13
+
14
+ export default class ComponentParents extends Component {
15
+ get accordionMixin() {
16
+ return {
17
+ name: 'rendered by',
18
+ expand: true,
19
+ properties: {
20
+ length: 1,
21
+ },
22
+ };
23
+ }
24
+ get parents() {
25
+ const parents = [];
26
+ let item = this.args.item?.parentItem;
27
+ while (item) {
28
+ parents.push(
29
+ new RenderItemNoParent(
30
+ item.controller,
31
+ item.parentItem,
32
+ item.renderNode,
33
+ ),
34
+ );
35
+ item = item.parentItem;
36
+ }
37
+ return parents;
38
+ }
39
+
40
+ selectComponent = (item) => {
41
+ this.args.select(item);
42
+ };
43
+ }
@@ -1,14 +1,14 @@
1
- <li class="mixin__property-dependency-list relative">
1
+ <li class="mixin-property-dependency-list relative">
2
2
  {{svg-jar "dependent-key-connection" width="20px" height="10px"}}
3
3
  <ul class="m-0 p-0 list-none">
4
4
  {{#each @keys as |dep|}}
5
5
  <li
6
- class="mixin__property-dependency-item relative text-base12 text-sm {{if dep.changed 'text-spec01'}}"
6
+ class="mixin-property-dependency-item relative text-base12 text-sm {{if dep.changed 'text-spec01'}}"
7
7
  title={{if dep.changed 'this property changed'}}
8
8
  >
9
9
  {{#if dep.child}}
10
10
  <span
11
- class="mixin__property-dependency-name subkey"
11
+ class="mixin-property-dependency-name subkey"
12
12
  data-label="object-property-name"
13
13
  >
14
14
  • -- {{dep.child}}
@@ -20,7 +20,7 @@
20
20
  height="9px"
21
21
  }}
22
22
  <span
23
- class="mixin__property-dependency-name"
23
+ class="mixin-property-dependency-name"
24
24
  data-label="object-property-name"
25
25
  >
26
26
  {{dep.name}}
@@ -1,9 +1,9 @@
1
- <div class="mixin mixin_props_no" data-test-object-inspector-errors>
2
- <h2 class="mixin__name mixin__name--errors bg-base00">
1
+ <div class="mixin mixin-props-no" data-test-object-inspector-errors>
2
+ <h2 class="mixin-name mixin-name--errors bg-base00">
3
3
  Errors
4
4
  <button
5
5
  data-test-send-errors-to-console
6
- class="send-to-console send-to-console--chevron-only ml-1"
6
+ class="send-to-console send-to-console-chevron-only ml-1"
7
7
  type="button"
8
8
  {{on "click" @traceErrors}}
9
9
  >
@@ -11,7 +11,7 @@
11
11
  Trace in the Console
12
12
  </button>
13
13
  </h2>
14
- <div class="mixin__properties m-0 text-base font-mono">
14
+ <div class="mixin-properties m-0 text-base font-mono">
15
15
  {{#each @errors as |error|}}
16
16
  <div class="py-0 px-5 mr-1 text-spec01" data-test-object-inspector-error>
17
17
  Error while computing: {{error.property}}
@@ -1,5 +1,5 @@
1
1
  {{#if this.flatPropertyList.length}}
2
- <ul class="mixin__properties m-0 text-base font-mono list-none">
2
+ <ul class="mixin-properties m-0 text-base font-mono list-none">
3
3
  <ObjectInspector::SortProperties
4
4
  @properties={{this.flatPropertyList}}
5
5
  as |sortedProperties|
@@ -9,9 +9,11 @@ export default class PropertiesBase extends Component {
9
9
  const data = {
10
10
  objectId: this.args.model.objectId,
11
11
  };
12
+
12
13
  if (name !== '...') {
13
14
  data.property = name;
14
15
  }
16
+
15
17
  this.port.send('objectInspector:sendToConsole', data);
16
18
  }
17
19
 
@@ -1,13 +1,13 @@
1
1
  {{#each @model.mixins as |mixin|}}
2
2
  <ObjectInspector::Accordion @mixin={{mixin}} as |accordion|>
3
3
  <div
4
- class="mixin {{mixin.type}} {{if accordion.isExpanded "mixin_state_expanded"}} {{if mixin.properties.length "mixin_props_yes" "mixin_props_no"}}"
4
+ class="mixin {{mixin.type}} {{if accordion.isExpanded "mixin-state-expanded"}} {{if mixin.properties.length "mixin-props-yes" "mixin-props-no"}}"
5
5
  data-test-object-detail
6
6
  >
7
7
  {{#if mixin.properties.length}}
8
8
  <h2
9
9
  data-test-object-detail-name
10
- class="mixin__name sticky top-0 truncate select-none cursor-default text-base15 bg-base01"
10
+ class="mixin-name sticky top-0 truncate select-none cursor-default text-base15 bg-base01"
11
11
  role="button"
12
12
  {{on "click" accordion.toggle}}
13
13
  >
@@ -15,14 +15,14 @@
15
15
  </h2>
16
16
  {{else}}
17
17
  <h2
18
- class="mixin__name mixin__name--no-props sticky top-0 truncate select-none text-base09 cursor-default bg-base01"
18
+ class="mixin-name mixin-name--no-props sticky top-0 truncate select-none text-base09 cursor-default bg-base01"
19
19
  data-test-object-detail-name
20
20
  >
21
21
  {{mixin.name}}
22
22
  </h2>
23
23
  {{/if}}
24
24
  {{#if accordion.isExpanded}}
25
- <ul class="mixin__properties m-0 text-base font-mono list-none">
25
+ <ul class="mixin-properties m-0 text-base font-mono list-none">
26
26
  <ObjectInspector::SortProperties
27
27
  @properties={{mixin.properties}} as |sortedProperties|
28
28
  >
@@ -36,7 +36,7 @@
36
36
  @gotoSource={{fn this.gotoSource prop}}
37
37
  />
38
38
  {{else}}
39
- <li class="mixin__property flex relative flex-row items-center truncate">No Properties</li>
39
+ <li class="mixin-property flex relative flex-row items-center truncate">No Properties</li>
40
40
  {{/each}}
41
41
  </ObjectInspector::SortProperties>
42
42
  </ul>
@@ -1,11 +1,11 @@
1
1
  <li
2
- class="{{if this.isOverridden "mixin__property-state-overridden line-through"}} mixin__property flex flex-row relative items-center truncate"
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="mixin__cp-toggle {{if this.showDependentKeys "mixin__cp-toggle--expanded"}}"
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,47 +22,49 @@
22
22
 
23
23
  {{!-- Property Icon --}}
24
24
  <span
25
- class="mixin__property-icon-container flex-shrink-0"
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="mixin__property-icon mixin__property-icon--{{this.iconInfo.type}} inline-block rounded font-mono text-md text-white text-center select-none"></span>
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
- {{!-- Property Name --}}
34
- <span
35
- class="mixin__property-name text-base14 truncate"
36
- data-test-object-property-name
37
- >
38
- {{#if this.isService}}
39
- <span
40
- title="service"
41
- class="mixin__property--group"
42
- data-test-property-name-service
43
- >
44
- {{@model.name}}
45
- </span>
46
- {{else}}
47
- {{#if this.hasDependentKeys}}
33
+ {{#unless this.isOwner}}
34
+ {{!-- Property Name --}}
35
+ <span
36
+ class="mixin-property-name text-base14 truncate"
37
+ data-test-object-property-name
38
+ >
39
+ {{#if this.isService}}
48
40
  <span
49
- title="computed"
50
- class="mixin__property--group"
41
+ title="service"
42
+ class="mixin-property--group"
43
+ data-test-property-name-service
51
44
  >
52
45
  {{@model.name}}
53
46
  </span>
54
47
  {{else}}
55
- {{@model.name}}
48
+ {{#if this.hasDependentKeys}}
49
+ <span
50
+ title="computed"
51
+ class="mixin-property--group"
52
+ >
53
+ {{@model.name}}
54
+ </span>
55
+ {{else}}
56
+ {{@model.name}}
57
+ {{/if}}
56
58
  {{/if}}
57
- {{/if}}
58
- </span>
59
+ </span>
59
60
 
60
- <span class="mr-1">: </span>
61
+ <span class="mr-1">: </span>
62
+ {{/unless}}
61
63
 
62
64
  {{#if this.isEdit}}
63
65
  {{#if this.isDate}}
64
66
  <DatePropertyField
65
- class="mixin__property-value-txt flex-1 text-base14 outline-none text-base bg-base01 js-object-property-value-date"
67
+ class="mixin-property-value-txt flex-1 text-base14 outline-none text-base bg-base01 js-object-property-value-date"
66
68
  @allowInput={{true}}
67
69
  @date={{readonly this.dateValue}}
68
70
  @dateFormat="Y-m-d"
@@ -71,7 +73,7 @@
71
73
  />
72
74
  {{else}}
73
75
  <ObjectInspector::PropertyField
74
- class="mixin__property-value-txt flex-1 text-base14 text-base bg-base01 outline-none"
76
+ class="mixin-property-value-txt flex-1 text-base14 text-base bg-base01 outline-none"
75
77
  @value={{this.txtValue}}
76
78
  @insert-newline={{this.save}}
77
79
  @escape-press={{this.finishedEditing}}
@@ -83,17 +85,17 @@
83
85
  {{#if this.canCalculate}}
84
86
  <button
85
87
  data-test-calculate
86
- class="mixin__calc-btn"
88
+ class="mixin-calc-btn"
87
89
  title="compute property"
88
90
  type="button"
89
- {{on "click" @calculate bubbles=false}}
91
+ {{on "click" (stop-propagation @calculate)}}
90
92
  >
91
93
  {{svg-jar "calculate" width="16px" height="16px"}}
92
94
  </button>
93
95
  {{/if}}
94
96
  {{#if this.isDate}}
95
97
  <span
96
- class="{{@model.value.type}} mixin__property-value truncate"
98
+ class="{{@model.value.type}} mixin-property-value truncate"
97
99
  role="button"
98
100
  {{on "click" this.dateClick}}
99
101
  data-test-object-property-value
@@ -102,7 +104,7 @@
102
104
  </span>
103
105
  {{else}}
104
106
  <span
105
- class="{{@model.value.type}} {{if this.isService "type-service"}} mixin__property-value truncate"
107
+ class="{{@model.value.type}} {{if this.isService "type-service"}} mixin-property-value truncate"
106
108
  role="button"
107
109
  {{on "click" this.valueClick}}
108
110
  data-test-object-property-value
@@ -112,13 +114,13 @@
112
114
  {{/if}}
113
115
  {{/if}}
114
116
 
115
- <span class="mixin__property-overridden-by absolute right-0 no-underline bg-spec00">
117
+ <span class="mixin-property-overridden-by absolute right-0 no-underline bg-spec00">
116
118
  (Overridden by {{@model.overridden}})
117
119
  </span>
118
120
 
119
121
  <button
120
122
  data-test-send-to-console-btn
121
- class="mixin__send-btn flex-shrink-0 send-to-console"
123
+ class="mixin-send-btn flex-shrink-0 send-to-console"
122
124
  title="Send To Console"
123
125
  type="button"
124
126
  {{on "click" @sendToConsole}}
@@ -128,7 +130,7 @@
128
130
  {{#if this.isFunction}}
129
131
  <button
130
132
  data-test-goto-source-btn
131
- class="mixin__send-btn flex-shrink-0 goto-source"
133
+ class="mixin-send-btn flex-shrink-0 goto-source"
132
134
  title="Goto Source"
133
135
  type="button"
134
136
  {{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 ObjectInspectorPropertyArgs {
9
- model: any;
10
- digDeeper: () => unknown;
11
- gotoSource: () => void;
12
- sendToConsole: () => void;
13
- saveProperty: (
14
- property: unknown,
15
- value: unknown,
16
- dataType: unknown
17
- ) => unknown;
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<ObjectInspectorPropertyArgs> {
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;
@@ -41,6 +47,10 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
41
47
  @equal('args.model.value.type', 'type-string')
42
48
  isString!: boolean;
43
49
 
50
+ get isOwner() {
51
+ return this.args.model?.value?.type === 'type-owner';
52
+ }
53
+
44
54
  get isService() {
45
55
  return this.args.model?.isService;
46
56
  }
@@ -66,10 +76,7 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
66
76
 
67
77
  @computed('args.model.dependentKeys.[]', 'isCalculated')
68
78
  get hasDependentKeys() {
69
- return (
70
- this.args.model?.dependentKeys?.length &&
71
- this.isCalculated
72
- );
79
+ return this.args.model?.dependentKeys?.length && this.isCalculated;
73
80
  }
74
81
 
75
82
  get showDependentKeys() {
@@ -113,6 +120,10 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
113
120
  return { type: 'getter', title: 'Getter' };
114
121
  }
115
122
 
123
+ if (this.isOwner) {
124
+ return { type: 'owner', title: 'Owner' };
125
+ }
126
+
116
127
  return { type: 'n/a', title: 'N/A' };
117
128
  }
118
129
 
@@ -121,8 +132,11 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
121
132
  }
122
133
 
123
134
  get cannotEdit() {
124
- if (this.args.model.name === '...' || !this.isCalculated || this.readOnly) return true;
125
- return !['type-string', 'type-number', 'type-boolean'].includes(this.args.model?.value?.type);
135
+ if (this.args.model.name === '...' || !this.isCalculated || this.readOnly)
136
+ return true;
137
+ return !['type-string', 'type-number', 'type-boolean'].includes(
138
+ this.args.model?.value?.type,
139
+ );
126
140
  }
127
141
 
128
142
  @action
@@ -143,12 +157,14 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
143
157
  return;
144
158
  }
145
159
 
160
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
146
161
  let value = this.args.model.value.inspect;
147
162
 
148
163
  if (this.isString) {
149
164
  value = this._quotedString(value);
150
165
  }
151
166
 
167
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
152
168
  this.txtValue = value;
153
169
  this.isEdit = true;
154
170
  }
@@ -168,6 +184,7 @@ export default class ObjectInspectorProperty extends Component<ObjectInspectorPr
168
184
 
169
185
  @action
170
186
  finishedEditing() {
187
+ // eslint-disable-next-line ember/no-runloop
171
188
  next(() => {
172
189
  this.isEdit = false;
173
190
  });