@memberjunction/ng-explorer-core 3.3.0 → 4.0.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 (273) hide show
  1. package/README.md +336 -1
  2. package/dist/app-routing.module.d.ts.map +1 -1
  3. package/dist/app-routing.module.js +11 -0
  4. package/dist/app-routing.module.js.map +1 -1
  5. package/dist/generic/Events.types.d.ts +174 -0
  6. package/dist/generic/Events.types.d.ts.map +1 -0
  7. package/dist/generic/Events.types.js +220 -0
  8. package/dist/generic/Events.types.js.map +1 -0
  9. package/dist/lib/app-view/application-view.component.d.ts +65 -0
  10. package/dist/lib/app-view/application-view.component.d.ts.map +1 -0
  11. package/dist/lib/app-view/application-view.component.js +611 -0
  12. package/dist/lib/app-view/application-view.component.js.map +1 -0
  13. package/dist/lib/auth-button/auth-button.component.d.ts +13 -0
  14. package/dist/lib/auth-button/auth-button.component.d.ts.map +1 -0
  15. package/dist/lib/auth-button/auth-button.component.js +36 -0
  16. package/dist/lib/auth-button/auth-button.component.js.map +1 -0
  17. package/dist/lib/base-browser-component/base-browser-component.d.ts +44 -0
  18. package/dist/lib/base-browser-component/base-browser-component.d.ts.map +1 -0
  19. package/dist/lib/base-browser-component/base-browser-component.js +195 -0
  20. package/dist/lib/base-browser-component/base-browser-component.js.map +1 -0
  21. package/dist/lib/chat-wrapper/chat-wrapper.component.d.ts +54 -0
  22. package/dist/lib/chat-wrapper/chat-wrapper.component.d.ts.map +1 -0
  23. package/dist/lib/chat-wrapper/chat-wrapper.component.js +257 -0
  24. package/dist/lib/chat-wrapper/chat-wrapper.component.js.map +1 -0
  25. package/dist/lib/command-palette/command-palette.component.d.ts +79 -0
  26. package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -0
  27. package/dist/lib/command-palette/command-palette.component.js +326 -0
  28. package/dist/lib/command-palette/command-palette.component.js.map +1 -0
  29. package/dist/lib/command-palette/command-palette.service.d.ts +49 -0
  30. package/dist/lib/command-palette/command-palette.service.d.ts.map +1 -0
  31. package/dist/lib/command-palette/command-palette.service.js +101 -0
  32. package/dist/lib/command-palette/command-palette.service.js.map +1 -0
  33. package/dist/lib/command-palette/index.d.ts +3 -0
  34. package/dist/lib/command-palette/index.d.ts.map +1 -0
  35. package/dist/lib/command-palette/index.js +3 -0
  36. package/dist/lib/command-palette/index.js.map +1 -0
  37. package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +32 -0
  38. package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts.map +1 -0
  39. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +244 -0
  40. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -0
  41. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
  42. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +14 -12
  43. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  44. package/dist/lib/data-browser-component/data-browser.component.d.ts +23 -0
  45. package/dist/lib/data-browser-component/data-browser.component.d.ts.map +1 -0
  46. package/dist/lib/data-browser-component/data-browser.component.js +267 -0
  47. package/dist/lib/data-browser-component/data-browser.component.js.map +1 -0
  48. package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts +21 -0
  49. package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts.map +1 -0
  50. package/dist/lib/expansion-panel-component/expansion-panel-component.js +158 -0
  51. package/dist/lib/expansion-panel-component/expansion-panel-component.js.map +1 -0
  52. package/dist/lib/favorites/favorites.component.d.ts +15 -0
  53. package/dist/lib/favorites/favorites.component.d.ts.map +1 -0
  54. package/dist/lib/favorites/favorites.component.js +135 -0
  55. package/dist/lib/favorites/favorites.component.js.map +1 -0
  56. package/dist/lib/files/files.component.d.ts +10 -0
  57. package/dist/lib/files/files.component.d.ts.map +1 -0
  58. package/dist/lib/files/files.component.js +41 -0
  59. package/dist/lib/files/files.component.js.map +1 -0
  60. package/dist/lib/generic/form-toolbar.d.ts.map +1 -1
  61. package/dist/lib/generic/form-toolbar.js +56 -38
  62. package/dist/lib/generic/form-toolbar.js.map +1 -1
  63. package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
  64. package/dist/lib/generic/resource-container-component.js +3 -2
  65. package/dist/lib/generic/resource-container-component.js.map +1 -1
  66. package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts +30 -0
  67. package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts.map +1 -0
  68. package/dist/lib/generic-browse-list/generic-browse-list.component.js +171 -0
  69. package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -0
  70. package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +120 -0
  71. package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +1 -0
  72. package/dist/lib/generic-browser-list/generic-browser-list.component.js +1093 -0
  73. package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -0
  74. package/dist/lib/header/MSFT_UserImageService.d.ts +12 -0
  75. package/dist/lib/header/MSFT_UserImageService.d.ts.map +1 -0
  76. package/dist/lib/header/MSFT_UserImageService.js +25 -0
  77. package/dist/lib/header/MSFT_UserImageService.js.map +1 -0
  78. package/dist/lib/header/header.component.d.ts +69 -0
  79. package/dist/lib/header/header.component.d.ts.map +1 -0
  80. package/dist/lib/header/header.component.js +342 -0
  81. package/dist/lib/header/header.component.js.map +1 -0
  82. package/dist/lib/home-component/home.component.d.ts +22 -0
  83. package/dist/lib/home-component/home.component.d.ts.map +1 -0
  84. package/dist/lib/home-component/home.component.js +194 -0
  85. package/dist/lib/home-component/home.component.js.map +1 -0
  86. package/dist/lib/home-wrapper/home-wrapper.component.d.ts +7 -0
  87. package/dist/lib/home-wrapper/home-wrapper.component.d.ts.map +1 -0
  88. package/dist/lib/home-wrapper/home-wrapper.component.js +30 -0
  89. package/dist/lib/home-wrapper/home-wrapper.component.js.map +1 -0
  90. package/dist/lib/list-view/list-view.component.d.ts +45 -0
  91. package/dist/lib/list-view/list-view.component.d.ts.map +1 -0
  92. package/dist/lib/list-view/list-view.component.js +329 -0
  93. package/dist/lib/list-view/list-view.component.js.map +1 -0
  94. package/dist/lib/navigation/navigation.component.d.ts +142 -0
  95. package/dist/lib/navigation/navigation.component.d.ts.map +1 -0
  96. package/dist/lib/navigation/navigation.component.js +1212 -0
  97. package/dist/lib/navigation/navigation.component.js.map +1 -0
  98. package/dist/lib/oauth/oauth-callback.component.d.ts +97 -0
  99. package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -0
  100. package/dist/lib/oauth/oauth-callback.component.js +408 -0
  101. package/dist/lib/oauth/oauth-callback.component.js.map +1 -0
  102. package/dist/lib/oauth/oauth.module.d.ts +14 -0
  103. package/dist/lib/oauth/oauth.module.d.ts.map +1 -0
  104. package/dist/lib/oauth/oauth.module.js +43 -0
  105. package/dist/lib/oauth/oauth.module.js.map +1 -0
  106. package/dist/lib/query-browser-component/query-browser.component.d.ts +75 -0
  107. package/dist/lib/query-browser-component/query-browser.component.d.ts.map +1 -0
  108. package/dist/lib/query-browser-component/query-browser.component.js +908 -0
  109. package/dist/lib/query-browser-component/query-browser.component.js.map +1 -0
  110. package/dist/lib/report-browser-component/report-browser.component.d.ts +22 -0
  111. package/dist/lib/report-browser-component/report-browser.component.d.ts.map +1 -0
  112. package/dist/lib/report-browser-component/report-browser.component.js +80 -0
  113. package/dist/lib/report-browser-component/report-browser.component.js.map +1 -0
  114. package/dist/lib/resource-browser/resource-browser.component.d.ts +178 -0
  115. package/dist/lib/resource-browser/resource-browser.component.d.ts.map +1 -0
  116. package/dist/lib/resource-browser/resource-browser.component.js +1012 -0
  117. package/dist/lib/resource-browser/resource-browser.component.js.map +1 -0
  118. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +0 -1
  119. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
  120. package/dist/lib/resource-wrappers/artifact-resource.component.js +20 -23
  121. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  122. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +0 -1
  123. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  124. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +36 -45
  125. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  126. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +0 -1
  127. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  128. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +98 -100
  129. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  130. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +0 -1
  131. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
  132. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +21 -24
  133. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  134. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +0 -1
  135. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  136. package/dist/lib/resource-wrappers/dashboard-resource.component.js +11 -10
  137. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  138. package/dist/lib/resource-wrappers/list-detail-resource.component.d.ts +0 -1
  139. package/dist/lib/resource-wrappers/list-detail-resource.component.d.ts.map +1 -1
  140. package/dist/lib/resource-wrappers/list-detail-resource.component.js +3 -5
  141. package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
  142. package/dist/lib/resource-wrappers/notifications-resource.component.d.ts +0 -1
  143. package/dist/lib/resource-wrappers/notifications-resource.component.d.ts.map +1 -1
  144. package/dist/lib/resource-wrappers/notifications-resource.component.js +3 -5
  145. package/dist/lib/resource-wrappers/notifications-resource.component.js.map +1 -1
  146. package/dist/lib/resource-wrappers/query-resource.component.d.ts +0 -1
  147. package/dist/lib/resource-wrappers/query-resource.component.d.ts.map +1 -1
  148. package/dist/lib/resource-wrappers/query-resource.component.js +3 -5
  149. package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
  150. package/dist/lib/resource-wrappers/record-resource.component.d.ts +0 -1
  151. package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
  152. package/dist/lib/resource-wrappers/record-resource.component.js +3 -5
  153. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  154. package/dist/lib/resource-wrappers/report-resource.component.d.ts +13 -0
  155. package/dist/lib/resource-wrappers/report-resource.component.d.ts.map +1 -0
  156. package/dist/lib/resource-wrappers/report-resource.component.js +49 -0
  157. package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -0
  158. package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts +0 -1
  159. package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts.map +1 -1
  160. package/dist/lib/resource-wrappers/resource-wrappers-loader.js +3 -33
  161. package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
  162. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +0 -1
  163. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  164. package/dist/lib/resource-wrappers/search-results-resource.component.js +3 -5
  165. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  166. package/dist/lib/resource-wrappers/view-resource.component.d.ts +0 -1
  167. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  168. package/dist/lib/resource-wrappers/view-resource.component.js +8 -13
  169. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  170. package/dist/lib/shared/custom-icon/custom-icon.component.d.ts +11 -0
  171. package/dist/lib/shared/custom-icon/custom-icon.component.d.ts.map +1 -0
  172. package/dist/lib/shared/custom-icon/custom-icon.component.js +44 -0
  173. package/dist/lib/shared/custom-icon/custom-icon.component.js.map +1 -0
  174. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +6 -0
  175. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
  176. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +62 -34
  177. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
  178. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
  179. package/dist/lib/shell/components/header/app-nav.component.js +15 -16
  180. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  181. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
  182. package/dist/lib/shell/components/header/app-switcher.component.js +36 -35
  183. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
  184. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  185. package/dist/lib/shell/components/tabs/tab-container.component.js +14 -15
  186. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  187. package/dist/lib/shell/shell.component.d.ts +59 -2
  188. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  189. package/dist/lib/shell/shell.component.js +411 -184
  190. package/dist/lib/shell/shell.component.js.map +1 -1
  191. package/dist/lib/shell/shell.module.d.ts +8 -7
  192. package/dist/lib/shell/shell.module.d.ts.map +1 -1
  193. package/dist/lib/shell/shell.module.js +12 -3
  194. package/dist/lib/shell/shell.module.js.map +1 -1
  195. package/dist/lib/single-application/single-application.component.d.ts +24 -0
  196. package/dist/lib/single-application/single-application.component.d.ts.map +1 -0
  197. package/dist/lib/single-application/single-application.component.js +122 -0
  198. package/dist/lib/single-application/single-application.component.js.map +1 -0
  199. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
  200. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +56 -61
  201. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  202. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
  203. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +3 -3
  204. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  205. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
  206. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +21 -22
  207. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  208. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  209. package/dist/lib/single-dashboard/single-dashboard.component.js +84 -83
  210. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  211. package/dist/lib/single-entity/single-entity.component.d.ts +34 -0
  212. package/dist/lib/single-entity/single-entity.component.d.ts.map +1 -0
  213. package/dist/lib/single-entity/single-entity.component.js +245 -0
  214. package/dist/lib/single-entity/single-entity.component.js.map +1 -0
  215. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  216. package/dist/lib/single-list-detail/single-list-detail.component.js +75 -72
  217. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  218. package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
  219. package/dist/lib/single-query/single-query.component.js +4 -4
  220. package/dist/lib/single-query/single-query.component.js.map +1 -1
  221. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  222. package/dist/lib/single-record/single-record.component.js +11 -11
  223. package/dist/lib/single-record/single-record.component.js.map +1 -1
  224. package/dist/lib/single-report/single-report.component.d.ts +17 -0
  225. package/dist/lib/single-report/single-report.component.d.ts.map +1 -0
  226. package/dist/lib/single-report/single-report.component.js +55 -0
  227. package/dist/lib/single-report/single-report.component.js.map +1 -0
  228. package/dist/lib/single-search-result/single-search-result.component.d.ts +2 -5
  229. package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
  230. package/dist/lib/single-search-result/single-search-result.component.js +7 -23
  231. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  232. package/dist/lib/single-view/single-view.component.d.ts +43 -0
  233. package/dist/lib/single-view/single-view.component.d.ts.map +1 -0
  234. package/dist/lib/single-view/single-view.component.js +207 -0
  235. package/dist/lib/single-view/single-view.component.js.map +1 -0
  236. package/dist/lib/style-guide-test/style-guide-test.component.d.ts +70 -0
  237. package/dist/lib/style-guide-test/style-guide-test.component.d.ts.map +1 -0
  238. package/dist/lib/style-guide-test/style-guide-test.component.js +1024 -0
  239. package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -0
  240. package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
  241. package/dist/lib/system-validation/system-validation-banner.component.js +85 -65
  242. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
  243. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts +46 -0
  244. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts.map +1 -0
  245. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +547 -0
  246. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -0
  247. package/dist/lib/user-menu/base-user-menu.d.ts +140 -0
  248. package/dist/lib/user-menu/base-user-menu.d.ts.map +1 -0
  249. package/dist/lib/user-menu/base-user-menu.js +380 -0
  250. package/dist/lib/user-menu/base-user-menu.js.map +1 -0
  251. package/dist/lib/user-menu/index.d.ts +3 -0
  252. package/dist/lib/user-menu/index.d.ts.map +1 -0
  253. package/dist/lib/user-menu/index.js +3 -0
  254. package/dist/lib/user-menu/index.js.map +1 -0
  255. package/dist/lib/user-menu/user-menu.types.d.ts +121 -0
  256. package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -0
  257. package/dist/lib/user-menu/user-menu.types.js +13 -0
  258. package/dist/lib/user-menu/user-menu.types.js.map +1 -0
  259. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  260. package/dist/lib/user-notifications/user-notifications.component.js +14 -15
  261. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  262. package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
  263. package/dist/lib/user-profile/user-profile.component.js +56 -54
  264. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  265. package/dist/module.d.ts +53 -55
  266. package/dist/module.d.ts.map +1 -1
  267. package/dist/module.js +4 -13
  268. package/dist/module.js.map +1 -1
  269. package/dist/public-api.d.ts +7 -1
  270. package/dist/public-api.d.ts.map +1 -1
  271. package/dist/public-api.js +12 -1
  272. package/dist/public-api.js.map +1 -1
  273. package/package.json +60 -62
package/README.md CHANGED
@@ -29,7 +29,7 @@ npm install @memberjunction/ng-explorer-core
29
29
 
30
30
  ## Requirements
31
31
 
32
- - Angular 18.0.2 or higher
32
+ - Angular 21 or higher
33
33
  - MemberJunction core libraries:
34
34
  - `@memberjunction/core` v2.43.0+
35
35
  - `@memberjunction/core-entities` v2.43.0+
@@ -377,6 +377,336 @@ this.navigation.openTab({
377
377
  export class MyPanelComponent { }
378
378
  ```
379
379
 
380
+ ## User Menu Plugin System
381
+
382
+ The Explorer shell includes a fully extensible user menu system that appears when clicking the user avatar in the header. This plugin architecture allows you to customize, add, or replace menu items without modifying core Explorer code.
383
+
384
+ ### Architecture Overview
385
+
386
+ The user menu system consists of several components:
387
+
388
+ - **`BaseUserMenu`**: The base class with default menu implementation, registered via `@RegisterClass`
389
+ - **`UserMenuItem`**: Interface defining menu item properties (id, label, icon, group, etc.)
390
+ - **`UserMenuContext`**: Context passed to menu handlers with user info, shell reference, and services
391
+ - **`DeveloperModeService`**: Service managing developer mode state, persisted via MJ: User Settings entity
392
+
393
+ ### Default Menu Items
394
+
395
+ The default `BaseUserMenu` implementation provides these menu items:
396
+
397
+ | ID | Label | Group | Developer Only |
398
+ |----|-------|-------|----------------|
399
+ | `profile` | Profile | primary | No |
400
+ | `toggle-dev-mode` | Toggle Developer Mode | developer | Yes |
401
+ | `log-layout` | Log Layout to Console | developer | Yes |
402
+ | `inspect-state` | Inspect Workspace State | developer | Yes |
403
+ | `reset-layout` | Reset Layout | system | No |
404
+ | `logout` | Logout | danger | No |
405
+
406
+ Menu items are organized into groups with dividers automatically inserted between groups.
407
+
408
+ ### Creating a Custom User Menu
409
+
410
+ To customize the user menu, create a subclass of `BaseUserMenu` and register it with `@RegisterClass`. Because your subclass is compiled after the base class (due to the import dependency), it automatically gets higher priority in the ClassFactory.
411
+
412
+ ```typescript
413
+ import { RegisterClass } from '@memberjunction/global';
414
+ import {
415
+ BaseUserMenu,
416
+ UserMenuItem,
417
+ UserMenuActionResult,
418
+ UserMenuContext
419
+ } from '@memberjunction/ng-explorer-core';
420
+
421
+ @RegisterClass(BaseUserMenu)
422
+ export class CustomUserMenu extends BaseUserMenu {
423
+
424
+ /**
425
+ * Override to customize menu items.
426
+ * Call super.GetMenuItems() to include default items, or return entirely new items.
427
+ */
428
+ public GetMenuItems(): UserMenuItem[] {
429
+ // Get default items
430
+ const items = super.GetMenuItems();
431
+
432
+ // Add a custom item
433
+ items.push({
434
+ id: 'my-custom-action',
435
+ label: 'My Custom Action',
436
+ icon: 'fa-solid fa-star',
437
+ group: 'primary',
438
+ order: 50,
439
+ developerOnly: false,
440
+ visible: true,
441
+ enabled: true,
442
+ tooltip: 'Perform my custom action',
443
+ shortcut: '⌘K'
444
+ });
445
+
446
+ // Remove an item by filtering
447
+ const filteredItems = items.filter(item => item.id !== 'reset-layout');
448
+
449
+ return filteredItems;
450
+ }
451
+
452
+ /**
453
+ * Handle custom menu item clicks.
454
+ * Method naming convention: Handle_<item-id-with-hyphens-replaced-by-underscores>
455
+ */
456
+ protected async Handle_my_custom_action(): Promise<UserMenuActionResult> {
457
+ // Access context for user info, shell, services, etc.
458
+ const user = this._context?.user;
459
+ console.log(`Custom action triggered by user: ${user?.Name}`);
460
+
461
+ // Perform your custom logic here
462
+ // ...
463
+
464
+ return {
465
+ success: true,
466
+ closeMenu: true, // Close the menu after action
467
+ message: 'Action completed!'
468
+ };
469
+ }
470
+ }
471
+ ```
472
+
473
+ ### UserMenuItem Interface
474
+
475
+ Each menu item has the following properties:
476
+
477
+ ```typescript
478
+ interface UserMenuItem {
479
+ /** Unique identifier for the menu item */
480
+ id: string;
481
+
482
+ /** Display text for the menu item */
483
+ label: string;
484
+
485
+ /** Font Awesome icon class (e.g., 'fa-solid fa-gear') */
486
+ icon: string;
487
+
488
+ /** Optional icon/text color (CSS color value) */
489
+ color?: string;
490
+
491
+ /** Optional CSS class for custom styling (e.g., 'danger' for red styling) */
492
+ cssClass?: string;
493
+
494
+ /** Group ID for organizing items. Items with same group are grouped together. */
495
+ group: 'primary' | 'developer' | 'system' | 'danger' | string;
496
+
497
+ /** Sort order within group (lower = higher in menu) */
498
+ order: number;
499
+
500
+ /** Whether item requires Developer role to be visible */
501
+ developerOnly: boolean;
502
+
503
+ /** Whether the item is currently visible (dynamic control) */
504
+ visible: boolean;
505
+
506
+ /** Whether the item is currently enabled/clickable */
507
+ enabled: boolean;
508
+
509
+ /** Optional tooltip text */
510
+ tooltip?: string;
511
+
512
+ /** Optional keyboard shortcut hint displayed on the right */
513
+ shortcut?: string;
514
+ }
515
+ ```
516
+
517
+ ### UserMenuContext
518
+
519
+ The context provides access to user information and shell services:
520
+
521
+ ```typescript
522
+ interface UserMenuContext {
523
+ /** Current authenticated user info */
524
+ user: UserInfo;
525
+
526
+ /** Full user entity with all fields */
527
+ userEntity: UserEntity;
528
+
529
+ /** Reference to shell component for advanced operations */
530
+ shell: Record<string, unknown>;
531
+
532
+ /** View container for opening dialogs/modals */
533
+ viewContainerRef: ViewContainerRef;
534
+
535
+ /** Whether user has Developer role */
536
+ isDeveloper: boolean;
537
+
538
+ /** Whether developer mode is currently enabled */
539
+ developerModeEnabled: boolean;
540
+
541
+ /** Current application context */
542
+ currentApplication: ApplicationInfoRef | null;
543
+
544
+ /** Workspace manager for layout operations */
545
+ workspaceManager: WorkspaceManagerRef;
546
+
547
+ /** Auth service for logout operations */
548
+ authService: AuthServiceRef;
549
+
550
+ /** Function to open settings dialog */
551
+ openSettings: () => void;
552
+ }
553
+ ```
554
+
555
+ ### Menu Options
556
+
557
+ Customize menu display options by overriding `GetOptions()`:
558
+
559
+ ```typescript
560
+ @RegisterClass(BaseUserMenu)
561
+ export class CustomUserMenu extends BaseUserMenu {
562
+
563
+ public GetOptions(): UserMenuOptions {
564
+ return {
565
+ showUserName: true, // Show user name in menu header
566
+ showUserEmail: true, // Show user email below name
567
+ menuPosition: 'below-left', // Position relative to avatar
568
+ animationStyle: 'fade' // 'fade', 'slide', or 'none'
569
+ };
570
+ }
571
+ }
572
+ ```
573
+
574
+ ### Developer Mode
575
+
576
+ The Developer Mode feature allows users with developer privileges to toggle additional debugging tools in the UI.
577
+
578
+ #### Checking Developer Status
579
+
580
+ ```typescript
581
+ import { DeveloperModeService } from '@memberjunction/ng-shared';
582
+
583
+ @Component({...})
584
+ export class MyComponent implements OnInit {
585
+
586
+ constructor(private devMode: DeveloperModeService) {}
587
+
588
+ ngOnInit() {
589
+ // Subscribe to developer mode changes
590
+ this.devMode.IsEnabled$.subscribe(enabled => {
591
+ this.showDevTools = enabled;
592
+ });
593
+
594
+ // Check if user has developer role (can enable dev mode)
595
+ if (this.devMode.IsDeveloper) {
596
+ console.log('User can toggle developer mode');
597
+ }
598
+
599
+ // Check current state synchronously
600
+ if (this.devMode.IsEnabled) {
601
+ console.log('Developer mode is currently ON');
602
+ }
603
+ }
604
+ }
605
+ ```
606
+
607
+ #### Developer Roles
608
+
609
+ Users with any of these roles can toggle developer mode:
610
+ - Developer
611
+ - Admin
612
+ - System Administrator
613
+ - Integration
614
+
615
+ The setting is persisted per-user in the `MJ: User Settings` entity with the key `Explorer.DeveloperMode`.
616
+
617
+ ### Example: Adding Organization-Specific Menu Items
618
+
619
+ ```typescript
620
+ import { RegisterClass } from '@memberjunction/global';
621
+ import { BaseUserMenu, UserMenuItem, UserMenuActionResult } from '@memberjunction/ng-explorer-core';
622
+ import { WindowService } from '@progress/kendo-angular-dialog';
623
+
624
+ @RegisterClass(BaseUserMenu)
625
+ export class AcmeUserMenu extends BaseUserMenu {
626
+
627
+ public GetMenuItems(): UserMenuItem[] {
628
+ const items = super.GetMenuItems();
629
+
630
+ // Add company-specific items
631
+ items.push(
632
+ {
633
+ id: 'help-center',
634
+ label: 'ACME Help Center',
635
+ icon: 'fa-solid fa-circle-question',
636
+ group: 'primary',
637
+ order: 25,
638
+ developerOnly: false,
639
+ visible: true,
640
+ enabled: true
641
+ },
642
+ {
643
+ id: 'submit-feedback',
644
+ label: 'Submit Feedback',
645
+ icon: 'fa-solid fa-comment',
646
+ group: 'primary',
647
+ order: 30,
648
+ developerOnly: false,
649
+ visible: true,
650
+ enabled: true
651
+ },
652
+ {
653
+ id: 'admin-console',
654
+ label: 'Admin Console',
655
+ icon: 'fa-solid fa-screwdriver-wrench',
656
+ color: '#6366f1',
657
+ group: 'system',
658
+ order: 10,
659
+ developerOnly: true, // Only visible to developers
660
+ visible: true,
661
+ enabled: this._context?.isDeveloper ?? false
662
+ }
663
+ );
664
+
665
+ return items;
666
+ }
667
+
668
+ protected async Handle_help_center(): Promise<UserMenuActionResult> {
669
+ window.open('https://help.acme.com', '_blank');
670
+ return { success: true, closeMenu: true };
671
+ }
672
+
673
+ protected async Handle_submit_feedback(): Promise<UserMenuActionResult> {
674
+ // Open feedback dialog
675
+ // You could inject WindowService and open a Kendo dialog here
676
+ return { success: true, closeMenu: true };
677
+ }
678
+
679
+ protected async Handle_admin_console(): Promise<UserMenuActionResult> {
680
+ // Navigate to admin console
681
+ window.location.href = '/admin';
682
+ return { success: true, closeMenu: false };
683
+ }
684
+ }
685
+ ```
686
+
687
+ ### Ensuring Your Custom Menu is Loaded
688
+
689
+ To ensure your custom menu class is included in the bundle and not tree-shaken:
690
+
691
+ 1. **Create a loader function** in your module:
692
+
693
+ ```typescript
694
+ // custom-user-menu.ts
695
+ export function LoadCustomUserMenu() {
696
+ // This function exists to prevent tree-shaking
697
+ }
698
+ ```
699
+
700
+ 2. **Call the loader** from your module's public API or app initialization:
701
+
702
+ ```typescript
703
+ // In your app.module.ts or public-api.ts
704
+ import { LoadCustomUserMenu } from './custom-user-menu';
705
+ LoadCustomUserMenu();
706
+ ```
707
+
708
+ This pattern ensures the `@RegisterClass` decorator executes and registers your custom implementation.
709
+
380
710
  ## Build Scripts
381
711
 
382
712
  ```json
@@ -415,9 +745,14 @@ explorer-core/
415
745
  │ │ ├── home-component/
416
746
  │ │ ├── navigation/
417
747
  │ │ ├── resource-wrappers/
748
+ │ │ ├── shell/ # Main shell component
418
749
  │ │ ├── single-dashboard/
419
750
  │ │ ├── single-entity/
420
751
  │ │ ├── single-record/
752
+ │ │ ├── user-menu/ # User menu plugin system
753
+ │ │ │ ├── base-user-menu.ts # Base class with default implementation
754
+ │ │ │ ├── user-menu.types.ts # Type definitions
755
+ │ │ │ └── index.ts # Module exports
421
756
  │ │ └── ...
422
757
  │ ├── generic/
423
758
  │ ├── shared/
@@ -1 +1 @@
1
- {"version":3,"file":"app-routing.module.d.ts","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAwB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMrH,OAAO,EAAE,aAAa,EAAiB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;;;AAIrF,qBAAa,mBAAoB,YAAW,kBAAkB;IAC5D,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAAA;KAAE,CAAM;IAGpE,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAMpD,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI;IAYjF,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAUpD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI;IAgBnE,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO;IAevF,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAmClD,OAAO,CAAC,QAAQ;CAUjB;AAED,qBAGa,gBAAiB,YAAW,OAAO,CAAC,IAAI,CAAC;IAMlD,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IARpB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,eAAe,CAA8B;gBAG3C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,UAAU;IAMhC;;;OAGG;YACW,YAAY;IAWpB,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;yCA9B5E,gBAAgB;6CAAhB,gBAAgB;CA0gB5B;AAmFD,UAAU,sBAAuB,SAAQ,mBAAmB;IAC1D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,qBAIa,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAK5B"}
1
+ {"version":3,"file":"app-routing.module.d.ts","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAwB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAOrH,OAAO,EAAE,aAAa,EAAiB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;;;AAIrF,qBAAa,mBAAoB,YAAW,kBAAkB;IAC5D,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAAA;KAAE,CAAM;IAGpE,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAMpD,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI;IAYjF,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAUpD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI;IAgBnE,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO;IAevF,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAmClD,OAAO,CAAC,QAAQ;CAUjB;AAED,qBAGa,gBAAiB,YAAW,OAAO,CAAC,IAAI,CAAC;IAMlD,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IARpB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,eAAe,CAA8B;gBAG3C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,UAAU;IAMhC;;;OAGG;YACW,YAAY;IAWpB,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;yCA9B5E,gBAAgB;6CAAhB,gBAAgB;CA0gB5B;AA8FD,UAAU,sBAAuB,SAAQ,mBAAmB;IAC1D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,qBAIa,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAK5B"}
@@ -1,6 +1,7 @@
1
1
  import { Injectable, NgModule } from '@angular/core';
2
2
  import { RouterModule } from '@angular/router';
3
3
  import { SingleRecordComponent, AuthGuardService as AuthGuard } from './public-api';
4
+ import { OAuthCallbackComponent } from './lib/oauth/oauth-callback.component';
4
5
  import { LogError, Metadata, StartupManager } from '@memberjunction/core';
5
6
  import { SYSTEM_APP_ID } from '@memberjunction/ng-shared';
6
7
  import { MJGlobal, MJEventType } from '@memberjunction/global';
@@ -566,6 +567,16 @@ export class ResourceResolver {
566
567
  }]
567
568
  }], () => [{ type: i1.SharedService }, { type: i2.Router }, { type: i3.ApplicationManager }, { type: i3.TabService }], null); })();
568
569
  const routes = [
570
+ // OAuth callback route - must be FIRST as it handles redirects from OAuth providers
571
+ // This route does NOT require AuthGuard because it's the callback from external OAuth
572
+ // The component itself handles authentication when calling the exchange endpoint
573
+ // NOTE: We use component directly instead of loadChildren because lazy loading
574
+ // doesn't work correctly when the route is defined in a library (explorer-core)
575
+ // rather than the main application.
576
+ {
577
+ path: 'oauth/callback',
578
+ component: OAuthCallbackComponent
579
+ },
569
580
  // App-scoped resource routes (new pattern)
570
581
  // These must come BEFORE app/:appName/:navItemName to be matched first
571
582
  {
@@ -1 +1 @@
1
- {"version":3,"file":"app-routing.module.js","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-routing.module.js","sourceRoot":"","sources":["../src/app-routing.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { Item } from "./Item.types";
2
+ /**
3
+ * The possible event types of an event
4
+ */
5
+ export declare const EventTypes: {
6
+ readonly BeforeAddFolder: "BeforeAddFolder";
7
+ readonly BeforeAddItem: "BeforeAddItem";
8
+ readonly BeforeDeleteFolder: "BeforeDeleteFolder";
9
+ readonly BeforeDeleteItem: "BeforeDeleteItem";
10
+ readonly BeforeUnlinkItem: "BeforeUnlinkItem";
11
+ readonly BeforeUpdateFolder: "BeforeUpdateFolder";
12
+ readonly BeforeUpdateItem: "BeforeUpdateItem";
13
+ readonly AfterAddFolder: "AfterAddFolder";
14
+ readonly AfterAddItem: "AfterAddItem";
15
+ readonly AfterDeleteFolder: "AfterDeleteFolder";
16
+ readonly AfterDeleteItem: "AfterDeleteItem";
17
+ readonly AfterUnlinkItem: "AfterUnlinkItem";
18
+ readonly AfterUpdateFolder: "AfterUpdateFolder";
19
+ readonly AfterUpdateItem: "AfterUpdateItem";
20
+ };
21
+ export type EventTypes = typeof EventTypes[keyof typeof EventTypes];
22
+ export declare class BaseEvent {
23
+ /**
24
+ * The type of {@link EventTypes} that is being triggered.
25
+ */
26
+ EventType: EventTypes;
27
+ /**
28
+ * If set to true, the child component that it should not proceed
29
+ * with the action that triggered this event.
30
+ */
31
+ Cancel: boolean;
32
+ constructor(eventType: EventTypes);
33
+ }
34
+ export declare class BeforeAddFolderEvent extends BaseEvent {
35
+ /**
36
+ * The name of the {@link Folder} to be added.
37
+ */
38
+ FolderName: string;
39
+ constructor(folderName: string);
40
+ }
41
+ export declare class BeforeAddItemEvent extends BaseEvent {
42
+ /**
43
+ * The name of the {@link Item} to be added.
44
+ */
45
+ ItemName: string;
46
+ constructor(itemName: string);
47
+ }
48
+ export declare class BeforeDeleteFolderEvent extends BaseEvent {
49
+ /**
50
+ * The {@link Item} and underlying {@link Folder} to be deleted.
51
+ */
52
+ Item: Item;
53
+ constructor(item: Item);
54
+ }
55
+ export declare class BeforeDeleteItemEvent extends BaseEvent {
56
+ /**
57
+ * The {@link Item} and its underlying data to be deleted.
58
+ * Note that the type variable for the Data property is set to any.
59
+ * The method subscribing to this event is responsible
60
+ * for casting the item to the correct type.
61
+ *
62
+ * There is no need to check if the Item's type is a Folder or a Resource,
63
+ * as it will always be of type Resource. For folder deletion events
64
+ * subscribe to the {@link BeforeDeleteFolderEvent} event.
65
+ */
66
+ Item: Item;
67
+ constructor(item: Item);
68
+ }
69
+ export declare class BeforeUnlinkItemEvent extends BaseEvent {
70
+ /**
71
+ * The {@link Item} and its underlying data to be unlinked.
72
+ * Note that the type variable for the Data property is set to any.
73
+ * The method subscribing to this event is responsible
74
+ * for casting the item to the correct type.
75
+ */
76
+ Item: Item;
77
+ constructor(item: Item);
78
+ }
79
+ export declare class BeforeUpdateFolderEvent extends BaseEvent {
80
+ /**
81
+ * The {@link Folder} to update.
82
+ */
83
+ Item: Item;
84
+ constructor(item: Item);
85
+ }
86
+ export declare class BeforeUpdateItemEvent extends BaseEvent {
87
+ /**
88
+ * The {@link Item} and its underlying data to update.
89
+ * Note that the type variable for the Data property is set to any.
90
+ * The method subscribing to this event is responsible
91
+ * for casting the item to the correct type.
92
+ *
93
+ * There is no need to check if the Item's type is a Folder or a Resource,
94
+ * as it will always be of type Resource. For folder deletion events
95
+ * subscribe to the {@link BeforeUpdateFolderEvent} event.
96
+ */
97
+ Item: Item;
98
+ constructor(item: Item);
99
+ }
100
+ export declare class AfterAddFolderEvent extends BaseEvent {
101
+ /**
102
+ * The {@link Folder} that was added.
103
+ */
104
+ Item: Item;
105
+ constructor(item: Item);
106
+ }
107
+ export declare class AfterAddItemEvent extends BaseEvent {
108
+ /**
109
+ * The {@link Item} that was added.
110
+ *
111
+ * There is no need to check if the Item's type is a Folder or a Resource,
112
+ * as it will always be of type Resource. For folder deletion events
113
+ * subscribe to the {@link AfterUpdateFolderEvent} event.
114
+ */
115
+ Item: Item;
116
+ constructor(item: Item);
117
+ }
118
+ export declare class AfterDeleteFolderEvent extends BaseEvent {
119
+ /**
120
+ * The {@link Folder} that was deleted.
121
+ */
122
+ Item: Item;
123
+ constructor(item: Item);
124
+ }
125
+ export declare class AfterDeleteItemEvent extends BaseEvent {
126
+ /**
127
+ * The {@link Item} that was deleted.
128
+ *
129
+ * There is no need to check if the Item's type is a Folder or a Resource,
130
+ * as it will always be of type Resource. For folder deletion events
131
+ * subscribe to the {@link AfterDeleteFolderEvent} event.
132
+ */
133
+ Item: Item;
134
+ constructor(item: Item);
135
+ }
136
+ export declare class AfterUnlinkItemEvent extends BaseEvent {
137
+ /**
138
+ * The {@link Item} that was deleted.
139
+ */
140
+ Item: Item;
141
+ constructor(item: Item);
142
+ }
143
+ export declare class AfterUpdateFolderEvent extends BaseEvent {
144
+ /**
145
+ * The {@link Folder} that was updated.
146
+ */
147
+ Item: Item;
148
+ constructor(item: Item);
149
+ }
150
+ export declare class AfterUpdateItemEvent extends BaseEvent {
151
+ /**
152
+ * The {@link Item} that was updated.
153
+ *
154
+ * There is no need to check if the Item's type is a Folder or a Resource,
155
+ * as it will always be of type Resource. For folder deletion events
156
+ * subscribe to the {@link AfterUpdateFolderEvent} event.
157
+ */
158
+ Item: Item;
159
+ constructor(item: Item);
160
+ }
161
+ export declare class DropdownOptionClickEvent {
162
+ /**
163
+ * The text of the dropdown option that was clicked.
164
+ */
165
+ Text: string;
166
+ /**
167
+ * Signals to the source component that another component
168
+ * has handled responding to this event, and that the source
169
+ * component should do nothing.
170
+ */
171
+ Cancel: boolean;
172
+ constructor(text: string);
173
+ }
174
+ //# sourceMappingURL=Events.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Events.types.d.ts","sourceRoot":"","sources":["../../src/generic/Events.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;CAgBb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE,qBAAa,SAAS;IAClB;;OAEG;IACI,SAAS,EAAE,UAAU,CAAC;IAC7B;;;OAGG;IACI,MAAM,EAAE,OAAO,CAAC;gBAEX,SAAS,EAAE,UAAU;CAIpC;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;OAEG;IACI,UAAU,EAAE,MAAM,CAAC;gBAEd,UAAU,EAAE,MAAM;CAIjC;AAED,qBAAa,kBAAmB,SAAQ,SAAS;IAC7C;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAC;gBAEZ,QAAQ,EAAE,MAAM;CAI/B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IAClD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;;;;;OASG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;OAKG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAKzB;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IAClD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAChD;;;;;;;;;OASG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,mBAAoB,SAAQ,SAAS;IAC9C;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,iBAAkB,SAAQ,SAAS;IAC5C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACjD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAGD,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,sBAAuB,SAAQ,SAAS;IACjD;;OAEG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C;;;;;;OAMG;IACI,IAAI,EAAE,IAAI,CAAC;gBAEN,IAAI,EAAE,IAAI;CAIzB;AAED,qBAAa,wBAAwB;IACjC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACI,MAAM,EAAE,OAAO,CAAC;gBAEX,IAAI,EAAE,MAAM;CAI3B"}