@memberjunction/ng-explorer-core 6.1.4 → 6.2.0-edge.1

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 (184) hide show
  1. package/dist/app-routing.module.d.ts +23 -1
  2. package/dist/app-routing.module.d.ts.map +1 -1
  3. package/dist/app-routing.module.js +73 -17
  4. package/dist/app-routing.module.js.map +1 -1
  5. package/dist/generated/lazy-feature-config.d.ts +1 -1
  6. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  7. package/dist/generated/lazy-feature-config.js +1 -8
  8. package/dist/generated/lazy-feature-config.js.map +1 -1
  9. package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
  10. package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
  11. package/dist/lib/command-palette/command-palette.component.js +28 -14
  12. package/dist/lib/command-palette/command-palette.component.js.map +1 -1
  13. package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
  14. package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
  15. package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
  16. package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
  17. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
  18. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
  19. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
  20. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  21. package/dist/lib/generic/resource-container-component.d.ts +19 -5
  22. package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
  23. package/dist/lib/generic/resource-container-component.js +43 -13
  24. package/dist/lib/generic/resource-container-component.js.map +1 -1
  25. package/dist/lib/guards/entities.guard.d.ts +4 -0
  26. package/dist/lib/guards/entities.guard.d.ts.map +1 -1
  27. package/dist/lib/guards/entities.guard.js +10 -2
  28. package/dist/lib/guards/entities.guard.js.map +1 -1
  29. package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
  30. package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
  31. package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
  32. package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
  33. package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
  34. package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
  35. package/dist/lib/oauth/oauth-callback.component.js +10 -2
  36. package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
  37. package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
  38. package/dist/lib/profile/profile-dialog.component.js +194 -191
  39. package/dist/lib/profile/profile-dialog.component.js.map +1 -1
  40. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
  41. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
  43. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
  45. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  46. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
  47. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +186 -23
  49. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  50. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +500 -177
  51. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  52. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
  53. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
  54. package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
  55. package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
  56. package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
  57. package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
  58. package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
  59. package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
  60. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
  61. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
  62. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
  63. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  64. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
  65. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  66. package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
  67. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  68. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
  69. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
  70. package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
  71. package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
  72. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
  73. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  74. package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
  75. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  76. package/dist/lib/resource-wrappers/view-resource.component.d.ts +68 -10
  77. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  78. package/dist/lib/resource-wrappers/view-resource.component.js +178 -62
  79. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  80. package/dist/lib/services/startup-validation.service.d.ts +4 -0
  81. package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
  82. package/dist/lib/services/startup-validation.service.js +10 -2
  83. package/dist/lib/services/startup-validation.service.js.map +1 -1
  84. package/dist/lib/services/system-validation.service.d.ts +13 -1
  85. package/dist/lib/services/system-validation.service.d.ts.map +1 -1
  86. package/dist/lib/services/system-validation.service.js +29 -5
  87. package/dist/lib/services/system-validation.service.js.map +1 -1
  88. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
  89. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
  90. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
  91. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
  92. package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
  93. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
  94. package/dist/lib/shell/components/header/app-nav.component.js +56 -12
  95. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  96. package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
  97. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
  98. package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
  99. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
  100. package/dist/lib/shell/components/record-open/record-origin-crumb.component.d.ts +7 -1
  101. package/dist/lib/shell/components/record-open/record-origin-crumb.component.d.ts.map +1 -1
  102. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +63 -9
  103. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
  104. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +30 -1
  105. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  106. package/dist/lib/shell/components/tabs/component-cache-manager.js +63 -15
  107. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  108. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +99 -9
  109. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  110. package/dist/lib/shell/components/tabs/tab-container.component.js +310 -110
  111. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  112. package/dist/lib/shell/loading-themes.d.ts +16 -12
  113. package/dist/lib/shell/loading-themes.d.ts.map +1 -1
  114. package/dist/lib/shell/loading-themes.js +145 -137
  115. package/dist/lib/shell/loading-themes.js.map +1 -1
  116. package/dist/lib/shell/readiness-beacon.d.ts +24 -0
  117. package/dist/lib/shell/readiness-beacon.d.ts.map +1 -0
  118. package/dist/lib/shell/readiness-beacon.js +40 -0
  119. package/dist/lib/shell/readiness-beacon.js.map +1 -0
  120. package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
  121. package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
  122. package/dist/lib/shell/services/about-dialog.service.js +16 -4
  123. package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
  124. package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
  125. package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
  126. package/dist/lib/shell/services/profile-dialog.service.js +16 -4
  127. package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
  128. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
  129. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
  130. package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
  131. package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
  132. package/dist/lib/shell/shell.component.d.ts +275 -40
  133. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  134. package/dist/lib/shell/shell.component.js +704 -290
  135. package/dist/lib/shell/shell.component.js.map +1 -1
  136. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
  137. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
  138. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
  139. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  140. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
  141. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
  142. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
  143. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  144. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
  145. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
  146. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
  147. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  148. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
  149. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  150. package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
  151. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  152. package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
  153. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  154. package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
  155. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  156. package/dist/lib/single-query/single-query.component.d.ts +22 -2
  157. package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
  158. package/dist/lib/single-query/single-query.component.js +40 -10
  159. package/dist/lib/single-query/single-query.component.js.map +1 -1
  160. package/dist/lib/single-record/single-record.component.d.ts +41 -3
  161. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  162. package/dist/lib/single-record/single-record.component.js +71 -11
  163. package/dist/lib/single-record/single-record.component.js.map +1 -1
  164. package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
  165. package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
  166. package/dist/lib/single-search-result/single-search-result.component.js +42 -12
  167. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  168. package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
  169. package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
  170. package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
  171. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
  172. package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
  173. package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
  174. package/dist/lib/user-menu/user-menu.types.js +10 -2
  175. package/dist/lib/user-menu/user-menu.types.js.map +1 -1
  176. package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
  177. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  178. package/dist/lib/user-notifications/user-notifications.component.js +151 -47
  179. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  180. package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
  181. package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
  182. package/dist/lib/user-profile/user-profile.component.js +5 -4
  183. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  184. package/package.json +52 -52
@@ -2,22 +2,73 @@ import { EventEmitter } from '@angular/core';
2
2
  import { DashboardConfigDetails, DashboardItem } from '../../single-dashboard.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class EditDashboardComponent {
5
+ OnSave: EventEmitter<{
6
+ itemsChanged: boolean;
7
+ items: DashboardItem[];
8
+ config: DashboardConfigDetails;
9
+ }>;
10
+ /**
11
+ * @deprecated Use {@link OnSave}.
12
+ *
13
+ * The same emitter under the old binding name, so a template still binding
14
+ * (onSave) keeps working. Must stay AFTER OnSave: class fields
15
+ * initialise in order, and the other way round this captures undefined.
16
+ */
5
17
  onSave: EventEmitter<{
6
18
  itemsChanged: boolean;
7
19
  items: DashboardItem[];
8
20
  config: DashboardConfigDetails;
9
21
  }>;
22
+ OnClose: EventEmitter<void>;
23
+ /**
24
+ * @deprecated Use {@link OnClose}.
25
+ *
26
+ * The same emitter under the old binding name, so a template still binding
27
+ * (onClose) keeps working. Must stay AFTER OnClose: class fields
28
+ * initialise in order, and the other way round this captures undefined.
29
+ */
10
30
  onClose: EventEmitter<void>;
31
+ TriggerAddItem: EventEmitter<{
32
+ ID: string;
33
+ DisplayName: string;
34
+ }>;
35
+ /**
36
+ * @deprecated Use {@link TriggerAddItem}.
37
+ *
38
+ * The same emitter under the old binding name, so a template still binding
39
+ * (triggerAddItem) keeps working. Must stay AFTER TriggerAddItem: class fields
40
+ * initialise in order, and the other way round this captures undefined.
41
+ */
11
42
  triggerAddItem: EventEmitter<{
12
43
  ID: string;
13
44
  DisplayName: string;
14
45
  }>;
15
- editMode: boolean;
16
- config: DashboardConfigDetails;
17
- items: DashboardItem[];
46
+ EditMode: boolean;
47
+ /** @deprecated Use {@link EditMode}. */
48
+ set editMode(value: boolean);
49
+ /** @deprecated Use {@link EditMode}. */
50
+ get editMode(): boolean;
51
+ Config: DashboardConfigDetails;
52
+ /** @deprecated Use {@link Config}. */
53
+ set config(value: DashboardConfigDetails);
54
+ /** @deprecated Use {@link Config}. */
55
+ get config(): DashboardConfigDetails;
56
+ Items: DashboardItem[];
57
+ /** @deprecated Use {@link Items}. */
58
+ set items(value: DashboardItem[]);
59
+ /** @deprecated Use {@link Items}. */
60
+ get items(): DashboardItem[];
18
61
  _items: DashboardItem[];
19
- itemsChanged: boolean;
20
- showAddMenu: boolean;
62
+ ItemsChanged: boolean;
63
+ /** @deprecated Use {@link ItemsChanged}. */
64
+ get itemsChanged(): boolean;
65
+ /** @deprecated Use {@link ItemsChanged}. */
66
+ set itemsChanged(value: boolean);
67
+ ShowAddMenu: boolean;
68
+ /** @deprecated Use {@link ShowAddMenu}. */
69
+ get showAddMenu(): boolean;
70
+ /** @deprecated Use {@link ShowAddMenu}. */
71
+ set showAddMenu(value: boolean);
21
72
  get ResourceTypes(): {
22
73
  ID: string;
23
74
  Name: string;
@@ -25,8 +76,20 @@ export declare class EditDashboardComponent {
25
76
  }[];
26
77
  ngOnInit(): Promise<void>;
27
78
  protected CreateDashboardItem(item: DashboardItem): DashboardItem;
79
+ RemoveItem(item: DashboardItem): void;
80
+ /** @deprecated Use {@link RemoveItem}. */
28
81
  removeItem(item: DashboardItem): void;
82
+ ToggleAddMenu(): void;
83
+ /** @deprecated Use {@link ToggleAddMenu}. */
29
84
  toggleAddMenu(): void;
85
+ OnReorder(e: {
86
+ oldIndex: number;
87
+ newIndex: number;
88
+ newCol?: number;
89
+ newRow?: number;
90
+ uniqueId?: number;
91
+ }): void;
92
+ /** @deprecated Use {@link OnReorder}. */
30
93
  onReorder(e: {
31
94
  oldIndex: number;
32
95
  newIndex: number;
@@ -34,18 +97,33 @@ export declare class EditDashboardComponent {
34
97
  newRow?: number;
35
98
  uniqueId?: number;
36
99
  }): void;
100
+ OnResize(e: {
101
+ newColSpan: number;
102
+ newRowSpan: number;
103
+ uniqueId?: number;
104
+ }): void;
105
+ /** @deprecated Use {@link OnResize}. */
37
106
  onResize(e: {
38
107
  newColSpan: number;
39
108
  newRowSpan: number;
40
109
  uniqueId?: number;
41
110
  }): void;
111
+ CloseDialog(): void;
112
+ /** @deprecated Use {@link CloseDialog}. */
42
113
  closeDialog(): void;
114
+ SaveChanges(): void;
115
+ /** @deprecated Use {@link SaveChanges}. */
43
116
  saveChanges(): void;
117
+ OnItemSelect(event: {
118
+ ID: string;
119
+ DisplayName: string;
120
+ }): void;
121
+ /** @deprecated Use {@link OnItemSelect}. */
44
122
  onItemSelect(event: {
45
123
  ID: string;
46
124
  DisplayName: string;
47
125
  }): void;
48
126
  static ɵfac: i0.ɵɵFactoryDeclaration<EditDashboardComponent, never>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<EditDashboardComponent, "app-edit-dashboard", never, { "editMode": { "alias": "editMode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "onSave": "onSave"; "onClose": "onClose"; "triggerAddItem": "triggerAddItem"; }, never, never, false, never>;
127
+ static ɵcmp: i0.ɵɵComponentDeclaration<EditDashboardComponent, "app-edit-dashboard", never, { "EditMode": { "alias": "EditMode"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; "Config": { "alias": "Config"; "required": false; }; "config": { "alias": "config"; "required": false; }; "Items": { "alias": "Items"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "OnSave": "OnSave"; "onSave": "onSave"; "OnClose": "OnClose"; "onClose": "onClose"; "TriggerAddItem": "TriggerAddItem"; "triggerAddItem": "triggerAddItem"; }, never, never, false, never>;
50
128
  }
51
129
  //# sourceMappingURL=edit-dashboard.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-dashboard.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;;AAEzF,qBAMa,sBAAsB;IACvB,MAAM;sBAAoC,OAAO;eAAS,aAAa,EAAE;gBAAU,sBAAsB;OAAM;IAC/G,OAAO,qBAA4B;IACnC,cAAc;YAA0B,MAAM;qBAAe,MAAM;OAAM;IACnE,QAAQ,EAAE,OAAO,CAAS;IAC1B,MAAM,EAAE,sBAAsB,CAAgC;IAC9D,KAAK,EAAE,aAAa,EAAE,CAAM;IACrC,MAAM,EAAE,aAAa,EAAE,CAAM;IAC7B,YAAY,EAAE,OAAO,CAAS;IAC9B,WAAW,EAAE,OAAO,CAAS;IAEpC,IAAW,aAAa,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAE9E;IAEK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa;IAcjE,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAQrC,aAAa,IAAI,IAAI;IAIrB,SAAS,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAa/G,QAAQ,CAAC,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAShF,WAAW,IAAI,IAAI;IAKnB,WAAW,IAAI,IAAI;IASnB,YAAY,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;yCArFnD,sBAAsB;2CAAtB,sBAAsB;CA2FlC"}
1
+ {"version":3,"file":"edit-dashboard.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.ts"],"names":[],"mappings":"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"}
@@ -46,21 +46,85 @@ function EditDashboardComponent_For_13_Template(rf, ctx) { if (rf & 1) {
46
46
  i0.ɵɵtextInterpolate(item_r5.title);
47
47
  } }
48
48
  export class EditDashboardComponent {
49
- onSave = new EventEmitter();
50
- onClose = new EventEmitter();
51
- triggerAddItem = new EventEmitter();
52
- editMode = false;
53
- config = new DashboardConfigDetails();
54
- items = [];
55
- _items = [];
56
- itemsChanged = false;
57
- showAddMenu = false;
49
+ OnSave = new EventEmitter();
50
+ /**
51
+ * @deprecated Use {@link OnSave}.
52
+ *
53
+ * The same emitter under the old binding name, so a template still binding
54
+ * (onSave) keeps working. Must stay AFTER OnSave: class fields
55
+ * initialise in order, and the other way round this captures undefined.
56
+ */
57
+ onSave = this.OnSave;
58
+ OnClose = new EventEmitter();
59
+ /**
60
+ * @deprecated Use {@link OnClose}.
61
+ *
62
+ * The same emitter under the old binding name, so a template still binding
63
+ * (onClose) keeps working. Must stay AFTER OnClose: class fields
64
+ * initialise in order, and the other way round this captures undefined.
65
+ */
66
+ onClose = this.OnClose;
67
+ TriggerAddItem = new EventEmitter();
68
+ /**
69
+ * @deprecated Use {@link TriggerAddItem}.
70
+ *
71
+ * The same emitter under the old binding name, so a template still binding
72
+ * (triggerAddItem) keeps working. Must stay AFTER TriggerAddItem: class fields
73
+ * initialise in order, and the other way round this captures undefined.
74
+ */
75
+ triggerAddItem = this.TriggerAddItem;
76
+ EditMode = false;
77
+ /** @deprecated Use {@link EditMode}. */
78
+ set editMode(value) {
79
+ this.EditMode = value;
80
+ }
81
+ /** @deprecated Use {@link EditMode}. */
82
+ get editMode() {
83
+ return this.EditMode;
84
+ }
85
+ Config = new DashboardConfigDetails();
86
+ /** @deprecated Use {@link Config}. */
87
+ set config(value) {
88
+ this.Config = value;
89
+ }
90
+ /** @deprecated Use {@link Config}. */
91
+ get config() {
92
+ return this.Config;
93
+ }
94
+ Items = [];
95
+ /** @deprecated Use {@link Items}. */
96
+ set items(value) {
97
+ this.Items = value;
98
+ }
99
+ /** @deprecated Use {@link Items}. */
100
+ get items() {
101
+ return this.Items;
102
+ }
103
+ _items = []; // case-violation-ok-legacy-back-compat: the PascalCase name is already taken in this scope
104
+ ItemsChanged = false;
105
+ /** @deprecated Use {@link ItemsChanged}. */
106
+ get itemsChanged() {
107
+ return this.ItemsChanged;
108
+ }
109
+ /** @deprecated Use {@link ItemsChanged}. */
110
+ set itemsChanged(value) {
111
+ this.ItemsChanged = value;
112
+ }
113
+ ShowAddMenu = false;
114
+ /** @deprecated Use {@link ShowAddMenu}. */
115
+ get showAddMenu() {
116
+ return this.ShowAddMenu;
117
+ }
118
+ /** @deprecated Use {@link ShowAddMenu}. */
119
+ set showAddMenu(value) {
120
+ this.ShowAddMenu = value;
121
+ }
58
122
  get ResourceTypes() {
59
123
  return SharedService.Instance.ResourceTypes.filter((rt) => rt.Name !== 'Dashboards' && rt.Name !== 'Records');
60
124
  }
61
125
  async ngOnInit() {
62
126
  this._items = [];
63
- for (const item of this.items) {
127
+ for (const item of this.Items) {
64
128
  const dashboardItem = this.CreateDashboardItem(item);
65
129
  this._items.push(dashboardItem);
66
130
  }
@@ -78,17 +142,25 @@ export class EditDashboardComponent {
78
142
  }
79
143
  return dashboardItem;
80
144
  }
81
- removeItem(item) {
145
+ RemoveItem(item) {
82
146
  const index = this._items.indexOf(item);
83
147
  if (index >= 0) {
84
148
  this._items.splice(index, 1);
85
- this.itemsChanged = true;
149
+ this.ItemsChanged = true;
86
150
  }
87
151
  }
152
+ /** @deprecated Use {@link RemoveItem}. */
153
+ removeItem(item) {
154
+ return this.RemoveItem(item);
155
+ }
156
+ ToggleAddMenu() {
157
+ this.ShowAddMenu = !this.ShowAddMenu;
158
+ }
159
+ /** @deprecated Use {@link ToggleAddMenu}. */
88
160
  toggleAddMenu() {
89
- this.showAddMenu = !this.showAddMenu;
161
+ return this.ToggleAddMenu();
90
162
  }
91
- onReorder(e) {
163
+ OnReorder(e) {
92
164
  const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : this._items[e.oldIndex];
93
165
  if (item) {
94
166
  if (e.oldIndex !== e.newIndex) {
@@ -97,37 +169,57 @@ export class EditDashboardComponent {
97
169
  }
98
170
  item.col = e.newCol ?? item.col;
99
171
  item.row = e.newRow ?? item.row;
100
- this.itemsChanged = true;
172
+ this.ItemsChanged = true;
101
173
  }
102
174
  }
103
- onResize(e) {
175
+ /** @deprecated Use {@link OnReorder}. */
176
+ onReorder(e) {
177
+ return this.OnReorder(e);
178
+ }
179
+ OnResize(e) {
104
180
  const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : undefined;
105
181
  if (item) {
106
182
  item.colSpan = e.newColSpan;
107
183
  item.rowSpan = e.newRowSpan;
108
- this.itemsChanged = true;
184
+ this.ItemsChanged = true;
109
185
  }
110
186
  }
187
+ /** @deprecated Use {@link OnResize}. */
188
+ onResize(e) {
189
+ return this.OnResize(e);
190
+ }
191
+ CloseDialog() {
192
+ this.ShowAddMenu = false;
193
+ this.OnClose.emit();
194
+ }
195
+ /** @deprecated Use {@link CloseDialog}. */
111
196
  closeDialog() {
112
- this.showAddMenu = false;
113
- this.onClose.emit();
197
+ return this.CloseDialog();
114
198
  }
115
- saveChanges() {
116
- this.showAddMenu = false;
117
- this.onSave.emit({
118
- itemsChanged: this.itemsChanged,
199
+ SaveChanges() {
200
+ this.ShowAddMenu = false;
201
+ this.OnSave.emit({
202
+ itemsChanged: this.ItemsChanged,
119
203
  items: this._items,
120
- config: this.config,
204
+ config: this.Config,
121
205
  });
122
206
  }
123
- onItemSelect(event) {
124
- this.showAddMenu = false;
207
+ /** @deprecated Use {@link SaveChanges}. */
208
+ saveChanges() {
209
+ return this.SaveChanges();
210
+ }
211
+ OnItemSelect(event) {
212
+ this.ShowAddMenu = false;
125
213
  if (event.ID) {
126
- this.triggerAddItem.emit(event);
214
+ this.TriggerAddItem.emit(event);
127
215
  }
128
216
  }
217
+ /** @deprecated Use {@link OnItemSelect}. */
218
+ onItemSelect(event) {
219
+ return this.OnItemSelect(event);
220
+ }
129
221
  static ɵfac = function EditDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EditDashboardComponent)(); };
130
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EditDashboardComponent, selectors: [["app-edit-dashboard"]], inputs: { editMode: "editMode", config: "config", items: "items" }, outputs: { onSave: "onSave", onClose: "onClose", triggerAddItem: "triggerAddItem" }, standalone: false, decls: 22, vars: 11, consts: [[1, "edit-dashboard-overlay"], ["Title", "Customize Dashboard", 3, "Close", "Visible", "Width", "MinHeight", "MinWidth", "Resizable", "State"], [1, "custom-dialog-body"], [1, "dialog-content"], [1, "dialog-actions"], [1, "add-dropdown-wrapper"], ["mjButton", "", "variant", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-chevron-down", "add-dropdown-arrow"], [1, "add-dropdown-panel"], [1, "mj-tile-layout"], [1, "mj-tile-item", 3, "grid-column", "grid-row", "id"], [1, "dialog-footer"], [1, "dialog-footer-actions"], ["mjButton", "", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "fa-solid", "fa-check"], [1, "add-dropdown-item"], [1, "add-dropdown-item", 3, "click"], [1, "add-dropdown-item-text"], [1, "mj-tile-item", 3, "id"], [1, "mj-tile-header"], [1, "mj-tile-header-title"], ["mjButton", "", 1, "remove-item-btn", 3, "click"], [1, "mj-tile-body"]], template: function EditDashboardComponent_Template(rf, ctx) { if (rf & 1) {
222
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EditDashboardComponent, selectors: [["app-edit-dashboard"]], inputs: { EditMode: "EditMode", editMode: "editMode", Config: "Config", config: "config", Items: "Items", items: "items" }, outputs: { OnSave: "OnSave", onSave: "onSave", OnClose: "OnClose", onClose: "onClose", TriggerAddItem: "TriggerAddItem", triggerAddItem: "triggerAddItem" }, standalone: false, decls: 22, vars: 11, consts: [[1, "edit-dashboard-overlay"], ["Title", "Customize Dashboard", 3, "Close", "Visible", "Width", "MinHeight", "MinWidth", "Resizable", "State"], [1, "custom-dialog-body"], [1, "dialog-content"], [1, "dialog-actions"], [1, "add-dropdown-wrapper"], ["mjButton", "", "variant", "primary", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-chevron-down", "add-dropdown-arrow"], [1, "add-dropdown-panel"], [1, "mj-tile-layout"], [1, "mj-tile-item", 3, "grid-column", "grid-row", "id"], [1, "dialog-footer"], [1, "dialog-footer-actions"], ["mjButton", "", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "fa-solid", "fa-check"], [1, "add-dropdown-item"], [1, "add-dropdown-item", 3, "click"], [1, "add-dropdown-item-text"], [1, "mj-tile-item", 3, "id"], [1, "mj-tile-header"], [1, "mj-tile-header-title"], ["mjButton", "", 1, "remove-item-btn", 3, "click"], [1, "mj-tile-body"]], template: function EditDashboardComponent_Template(rf, ctx) { if (rf & 1) {
131
223
  i0.ɵɵelement(0, "div", 0);
132
224
  i0.ɵɵelementStart(1, "mj-window", 1);
133
225
  i0.ɵɵlistener("Close", function EditDashboardComponent_Template_mj_window_Close_1_listener() { return ctx.closeDialog(); });
@@ -166,16 +258,28 @@ export class EditDashboardComponent {
166
258
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditDashboardComponent, [{
167
259
  type: Component,
168
260
  args: [{ standalone: false, selector: 'app-edit-dashboard', template: "<div class=\"edit-dashboard-overlay\"></div>\n<mj-window\n [Visible]=\"true\"\n [Width]=\"500\"\n [MinHeight]=\"300\"\n [MinWidth]=\"400\"\n [Resizable]=\"true\"\n (Close)=\"closeDialog()\"\n [State]=\"'maximized'\"\n Title=\"Customize Dashboard\">\n <div class=\"custom-dialog-body\">\n <div class=\"dialog-content\">\n <div class=\"dialog-actions\">\n <div class=\"add-dropdown-wrapper\">\n <button mjButton variant=\"primary\" (click)=\"toggleAddMenu()\">\n <span class=\"fa-solid fa-plus\"></span>\n Add item\n <span class=\"fa-solid fa-chevron-down add-dropdown-arrow\"></span>\n </button>\n @if (showAddMenu) {\n <div class=\"add-dropdown-panel\">\n @for (rt of ResourceTypes; track rt.Name) {\n <div class=\"add-dropdown-item\" (click)=\"onItemSelect(rt)\">\n <span class=\"add-dropdown-item-text\">{{ rt.DisplayName }}</span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n <div class=\"mj-tile-layout\"\n [style.grid-template-columns]=\"'repeat(' + config.columns + ', 1fr)'\"\n [style.grid-auto-rows]=\"config.rowHeight + 'px'\">\n @for (item of _items; track item.uniqueId) {\n <div class=\"mj-tile-item\"\n [style.grid-column]=\"item.col + ' / span ' + item.colSpan\"\n [style.grid-row]=\"'span ' + item.rowSpan\"\n [id]=\"item.uniqueId\">\n <div class=\"mj-tile-header\">\n <span class=\"mj-tile-header-title\">{{item.title}}</span>\n <button mjButton class=\"remove-item-btn\" (click)=\"removeItem(item)\">\n <span class=\"fa-solid fa-xmark\"></span>\n </button>\n </div>\n <div class=\"mj-tile-body\">\n <!-- placeholder for resource preview -->\n </div>\n </div>\n }\n </div>\n </div>\n <div class=\"dialog-footer\">\n <div class=\"dialog-footer-actions\">\n <button mjButton (click)=\"closeDialog()\" >\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n <button mjButton (click)=\"saveChanges()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n </div>\n </div>\n </div>\n</mj-window>\n", styles: [".edit-dashboard-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: var(--mj-bg-overlay, rgba(0, 0, 0, 0.5));\n z-index: 999;\n}\n\n.custom-dialog-body {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n flex: 1;\n}\n\n.custom-dialog-body .dialog-content {\n flex: 1;\n overflow: auto;\n padding: 16px;\n box-sizing: border-box;\n}\n\n.dialog-content .dialog-actions {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 12px;\n}\n\n.dialog-footer {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n width: auto;\n height: 40px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n padding: 8px 16px;\n}\n\n.dialog-footer-actions {\n display: flex;\n gap: 8px;\n padding: 0;\n}\n\n/* CSS Grid tile layout */\n.mj-tile-layout {\n display: grid;\n gap: 12px;\n background: var(--mj-bg-surface);\n}\n\n.mj-tile-item {\n border-radius: 6px;\n overflow: hidden;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n}\n\n.mj-tile-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 12px;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse, white);\n font-weight: 500;\n font-size: 14px;\n}\n\n.mj-tile-header-title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n.remove-item-btn {\n flex-shrink: 0;\n margin-left: 8px;\n}\n\n.mj-tile-body {\n flex: 1;\n overflow: auto;\n background: var(--mj-bg-surface-sunken);\n}\n\n/* Dropdown menu for Add Item */\n.add-dropdown-wrapper {\n position: relative;\n}\n\n.add-dropdown-arrow {\n font-size: 12px;\n margin-left: 4px;\n}\n\n.add-dropdown-panel {\n position: absolute;\n top: 100%;\n right: 0;\n margin-top: 4px;\n min-width: 200px;\n background: var(--mj-bg-surface-elevated);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n z-index: 100;\n overflow: hidden;\n}\n\n.add-dropdown-item {\n display: flex;\n flex-direction: column;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.15s;\n}\n\n.add-dropdown-item:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.add-dropdown-item-text {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n"] }]
169
- }], null, { onSave: [{
261
+ }], null, { OnSave: [{
262
+ type: Output
263
+ }], onSave: [{
264
+ type: Output
265
+ }], OnClose: [{
170
266
  type: Output
171
267
  }], onClose: [{
172
268
  type: Output
269
+ }], TriggerAddItem: [{
270
+ type: Output
173
271
  }], triggerAddItem: [{
174
272
  type: Output
273
+ }], EditMode: [{
274
+ type: Input
175
275
  }], editMode: [{
176
276
  type: Input
277
+ }], Config: [{
278
+ type: Input
177
279
  }], config: [{
178
280
  type: Input
281
+ }], Items: [{
282
+ type: Input
179
283
  }], items: [{
180
284
  type: Input
181
285
  }] }); })();
@@ -1 +1 @@
1
- {"version":3,"file":"edit-dashboard.component.js","sourceRoot":"","sources":["../../../../../src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.ts","../../../../../src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { DashboardConfigDetails, DashboardItem } from '../../single-dashboard.component';\n\n@Component({\n standalone: false,\n selector: 'app-edit-dashboard',\n templateUrl: './edit-dashboard.component.html',\n styleUrls: ['./edit-dashboard.component.css']\n})\nexport class EditDashboardComponent {\n @Output() onSave = new EventEmitter<{ itemsChanged: boolean; items: DashboardItem[]; config: DashboardConfigDetails }>();\n @Output() onClose = new EventEmitter<void>();\n @Output() triggerAddItem = new EventEmitter<{ ID: string; DisplayName: string }>();\n @Input() public editMode: boolean = false;\n @Input() public config: DashboardConfigDetails = new DashboardConfigDetails();\n @Input() public items: DashboardItem[] = [];\n public _items: DashboardItem[] = [];\n public itemsChanged: boolean = false;\n public showAddMenu: boolean = false;\n\n public get ResourceTypes(): { ID: string; Name: string; DisplayName: string }[] {\n return SharedService.Instance.ResourceTypes.filter((rt: { Name: string }) => rt.Name !== 'Dashboards' && rt.Name !== 'Records');\n }\n\n async ngOnInit(): Promise<void> {\n this._items = [];\n for (const item of this.items) {\n const dashboardItem = this.CreateDashboardItem(item);\n this._items.push(dashboardItem);\n }\n }\n\n protected CreateDashboardItem(item: DashboardItem): DashboardItem {\n const dashboardItem = new DashboardItem();\n if (item) {\n dashboardItem.title = item.title;\n dashboardItem.order = item.order ? item.order : 0;\n dashboardItem.col = item.col;\n dashboardItem.row = item.row;\n dashboardItem.rowSpan = item.rowSpan;\n dashboardItem.colSpan = item.colSpan;\n dashboardItem.ResourceData = new ResourceData(item.ResourceData);\n }\n return dashboardItem;\n }\n\n removeItem(item: DashboardItem): void {\n const index = this._items.indexOf(item);\n if (index >= 0) {\n this._items.splice(index, 1);\n this.itemsChanged = true;\n }\n }\n\n toggleAddMenu(): void {\n this.showAddMenu = !this.showAddMenu;\n }\n\n onReorder(e: { oldIndex: number; newIndex: number; newCol?: number; newRow?: number; uniqueId?: number }): void {\n const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : this._items[e.oldIndex];\n if (item) {\n if (e.oldIndex !== e.newIndex) {\n this._items.splice(e.oldIndex, 1);\n this._items.splice(e.newIndex, 0, item);\n }\n item.col = e.newCol ?? item.col;\n item.row = e.newRow ?? item.row;\n this.itemsChanged = true;\n }\n }\n\n onResize(e: { newColSpan: number; newRowSpan: number; uniqueId?: number }): void {\n const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : undefined;\n if (item) {\n item.colSpan = e.newColSpan;\n item.rowSpan = e.newRowSpan;\n this.itemsChanged = true;\n }\n }\n\n closeDialog(): void {\n this.showAddMenu = false;\n this.onClose.emit();\n }\n\n saveChanges(): void {\n this.showAddMenu = false;\n this.onSave.emit({\n itemsChanged: this.itemsChanged,\n items: this._items,\n config: this.config,\n });\n }\n\n onItemSelect(event: { ID: string; DisplayName: string }): void {\n this.showAddMenu = false;\n if (event.ID) {\n this.triggerAddItem.emit(event);\n }\n }\n}","<div class=\"edit-dashboard-overlay\"></div>\n<mj-window\n [Visible]=\"true\"\n [Width]=\"500\"\n [MinHeight]=\"300\"\n [MinWidth]=\"400\"\n [Resizable]=\"true\"\n (Close)=\"closeDialog()\"\n [State]=\"'maximized'\"\n Title=\"Customize Dashboard\">\n <div class=\"custom-dialog-body\">\n <div class=\"dialog-content\">\n <div class=\"dialog-actions\">\n <div class=\"add-dropdown-wrapper\">\n <button mjButton variant=\"primary\" (click)=\"toggleAddMenu()\">\n <span class=\"fa-solid fa-plus\"></span>\n Add item\n <span class=\"fa-solid fa-chevron-down add-dropdown-arrow\"></span>\n </button>\n @if (showAddMenu) {\n <div class=\"add-dropdown-panel\">\n @for (rt of ResourceTypes; track rt.Name) {\n <div class=\"add-dropdown-item\" (click)=\"onItemSelect(rt)\">\n <span class=\"add-dropdown-item-text\">{{ rt.DisplayName }}</span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n <div class=\"mj-tile-layout\"\n [style.grid-template-columns]=\"'repeat(' + config.columns + ', 1fr)'\"\n [style.grid-auto-rows]=\"config.rowHeight + 'px'\">\n @for (item of _items; track item.uniqueId) {\n <div class=\"mj-tile-item\"\n [style.grid-column]=\"item.col + ' / span ' + item.colSpan\"\n [style.grid-row]=\"'span ' + item.rowSpan\"\n [id]=\"item.uniqueId\">\n <div class=\"mj-tile-header\">\n <span class=\"mj-tile-header-title\">{{item.title}}</span>\n <button mjButton class=\"remove-item-btn\" (click)=\"removeItem(item)\">\n <span class=\"fa-solid fa-xmark\"></span>\n </button>\n </div>\n <div class=\"mj-tile-body\">\n <!-- placeholder for resource preview -->\n </div>\n </div>\n }\n </div>\n </div>\n <div class=\"dialog-footer\">\n <div class=\"dialog-footer-actions\">\n <button mjButton (click)=\"closeDialog()\" >\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n <button mjButton (click)=\"saveChanges()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n </div>\n </div>\n </div>\n</mj-window>\n"]}
1
+ {"version":3,"file":"edit-dashboard.component.js","sourceRoot":"","sources":["../../../../../src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.ts","../../../../../src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { DashboardConfigDetails, DashboardItem } from '../../single-dashboard.component';\n\n@Component({\n standalone: false,\n selector: 'app-edit-dashboard',\n templateUrl: './edit-dashboard.component.html',\n styleUrls: ['./edit-dashboard.component.css']\n})\nexport class EditDashboardComponent {\n @Output() OnSave = new EventEmitter<{ itemsChanged: boolean; items: DashboardItem[]; config: DashboardConfigDetails }>();\n\n /**\n * @deprecated Use {@link OnSave}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (onSave) keeps working. Must stay AFTER OnSave: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() onSave = this.OnSave;\n @Output() OnClose = new EventEmitter<void>();\n\n /**\n * @deprecated Use {@link OnClose}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (onClose) keeps working. Must stay AFTER OnClose: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() onClose = this.OnClose;\n @Output() TriggerAddItem = new EventEmitter<{ ID: string; DisplayName: string }>();\n\n /**\n * @deprecated Use {@link TriggerAddItem}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (triggerAddItem) keeps working. Must stay AFTER TriggerAddItem: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() triggerAddItem = this.TriggerAddItem;\n @Input() public EditMode: boolean = false;\n\n /** @deprecated Use {@link EditMode}. */\n @Input() public set editMode(value: boolean) {\n this.EditMode = value;\n }\n /** @deprecated Use {@link EditMode}. */\n public get editMode(): boolean {\n return this.EditMode;\n }\n @Input() public Config: DashboardConfigDetails = new DashboardConfigDetails();\n\n /** @deprecated Use {@link Config}. */\n @Input() public set config(value: DashboardConfigDetails) {\n this.Config = value;\n }\n /** @deprecated Use {@link Config}. */\n public get config(): DashboardConfigDetails {\n return this.Config;\n }\n @Input() public Items: DashboardItem[] = [];\n\n /** @deprecated Use {@link Items}. */\n @Input() public set items(value: DashboardItem[]) {\n this.Items = value;\n }\n /** @deprecated Use {@link Items}. */\n public get items(): DashboardItem[] {\n return this.Items;\n }\n public _items: DashboardItem[] = []; // case-violation-ok-legacy-back-compat: the PascalCase name is already taken in this scope\n public ItemsChanged: boolean = false;\n\n /** @deprecated Use {@link ItemsChanged}. */\n public get itemsChanged(): boolean {\n return this.ItemsChanged;\n }\n /** @deprecated Use {@link ItemsChanged}. */\n public set itemsChanged(value: boolean) {\n this.ItemsChanged = value;\n }\n public ShowAddMenu: boolean = false;\n\n /** @deprecated Use {@link ShowAddMenu}. */\n public get showAddMenu(): boolean {\n return this.ShowAddMenu;\n }\n /** @deprecated Use {@link ShowAddMenu}. */\n public set showAddMenu(value: boolean) {\n this.ShowAddMenu = value;\n }\n\n public get ResourceTypes(): { ID: string; Name: string; DisplayName: string }[] {\n return SharedService.Instance.ResourceTypes.filter((rt: { Name: string }) => rt.Name !== 'Dashboards' && rt.Name !== 'Records');\n }\n\n async ngOnInit(): Promise<void> {\n this._items = [];\n for (const item of this.Items) {\n const dashboardItem = this.CreateDashboardItem(item);\n this._items.push(dashboardItem);\n }\n }\n\n protected CreateDashboardItem(item: DashboardItem): DashboardItem {\n const dashboardItem = new DashboardItem();\n if (item) {\n dashboardItem.title = item.title;\n dashboardItem.order = item.order ? item.order : 0;\n dashboardItem.col = item.col;\n dashboardItem.row = item.row;\n dashboardItem.rowSpan = item.rowSpan;\n dashboardItem.colSpan = item.colSpan;\n dashboardItem.ResourceData = new ResourceData(item.ResourceData);\n }\n return dashboardItem;\n }\n\n RemoveItem(item: DashboardItem): void {\n const index = this._items.indexOf(item);\n if (index >= 0) {\n this._items.splice(index, 1);\n this.ItemsChanged = true;\n }\n }\n\n /** @deprecated Use {@link RemoveItem}. */\n removeItem(item: DashboardItem): void {\n return this.RemoveItem(item);\n }\n\n ToggleAddMenu(): void {\n this.ShowAddMenu = !this.ShowAddMenu;\n }\n\n /** @deprecated Use {@link ToggleAddMenu}. */\n toggleAddMenu(): void {\n return this.ToggleAddMenu();\n }\n\n OnReorder(e: { oldIndex: number; newIndex: number; newCol?: number; newRow?: number; uniqueId?: number }): void {\n const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : this._items[e.oldIndex];\n if (item) {\n if (e.oldIndex !== e.newIndex) {\n this._items.splice(e.oldIndex, 1);\n this._items.splice(e.newIndex, 0, item);\n }\n item.col = e.newCol ?? item.col;\n item.row = e.newRow ?? item.row;\n this.ItemsChanged = true;\n }\n }\n\n /** @deprecated Use {@link OnReorder}. */\n onReorder(e: { oldIndex: number; newIndex: number; newCol?: number; newRow?: number; uniqueId?: number }): void {\n return this.OnReorder(e);\n }\n\n OnResize(e: { newColSpan: number; newRowSpan: number; uniqueId?: number }): void {\n const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : undefined;\n if (item) {\n item.colSpan = e.newColSpan;\n item.rowSpan = e.newRowSpan;\n this.ItemsChanged = true;\n }\n }\n\n /** @deprecated Use {@link OnResize}. */\n onResize(e: { newColSpan: number; newRowSpan: number; uniqueId?: number }): void {\n return this.OnResize(e);\n }\n\n CloseDialog(): void {\n this.ShowAddMenu = false;\n this.OnClose.emit();\n }\n\n /** @deprecated Use {@link CloseDialog}. */\n closeDialog(): void {\n return this.CloseDialog();\n }\n\n SaveChanges(): void {\n this.ShowAddMenu = false;\n this.OnSave.emit({\n itemsChanged: this.ItemsChanged,\n items: this._items,\n config: this.Config,\n });\n }\n\n /** @deprecated Use {@link SaveChanges}. */\n saveChanges(): void {\n return this.SaveChanges();\n }\n\n OnItemSelect(event: { ID: string; DisplayName: string }): void {\n this.ShowAddMenu = false;\n if (event.ID) {\n this.TriggerAddItem.emit(event);\n }\n }\n\n /** @deprecated Use {@link OnItemSelect}. */\n onItemSelect(event: { ID: string; DisplayName: string }): void {\n return this.OnItemSelect(event);\n }\n}","<div class=\"edit-dashboard-overlay\"></div>\n<mj-window\n [Visible]=\"true\"\n [Width]=\"500\"\n [MinHeight]=\"300\"\n [MinWidth]=\"400\"\n [Resizable]=\"true\"\n (Close)=\"closeDialog()\"\n [State]=\"'maximized'\"\n Title=\"Customize Dashboard\">\n <div class=\"custom-dialog-body\">\n <div class=\"dialog-content\">\n <div class=\"dialog-actions\">\n <div class=\"add-dropdown-wrapper\">\n <button mjButton variant=\"primary\" (click)=\"toggleAddMenu()\">\n <span class=\"fa-solid fa-plus\"></span>\n Add item\n <span class=\"fa-solid fa-chevron-down add-dropdown-arrow\"></span>\n </button>\n @if (showAddMenu) {\n <div class=\"add-dropdown-panel\">\n @for (rt of ResourceTypes; track rt.Name) {\n <div class=\"add-dropdown-item\" (click)=\"onItemSelect(rt)\">\n <span class=\"add-dropdown-item-text\">{{ rt.DisplayName }}</span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n <div class=\"mj-tile-layout\"\n [style.grid-template-columns]=\"'repeat(' + config.columns + ', 1fr)'\"\n [style.grid-auto-rows]=\"config.rowHeight + 'px'\">\n @for (item of _items; track item.uniqueId) {\n <div class=\"mj-tile-item\"\n [style.grid-column]=\"item.col + ' / span ' + item.colSpan\"\n [style.grid-row]=\"'span ' + item.rowSpan\"\n [id]=\"item.uniqueId\">\n <div class=\"mj-tile-header\">\n <span class=\"mj-tile-header-title\">{{item.title}}</span>\n <button mjButton class=\"remove-item-btn\" (click)=\"removeItem(item)\">\n <span class=\"fa-solid fa-xmark\"></span>\n </button>\n </div>\n <div class=\"mj-tile-body\">\n <!-- placeholder for resource preview -->\n </div>\n </div>\n }\n </div>\n </div>\n <div class=\"dialog-footer\">\n <div class=\"dialog-footer-actions\">\n <button mjButton (click)=\"closeDialog()\" >\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n <button mjButton (click)=\"saveChanges()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n </div>\n </div>\n </div>\n</mj-window>\n"]}