@memberjunction/ng-explorer-core 5.22.0 → 5.23.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 (73) hide show
  1. package/dist/generated/lazy-feature-config.d.ts +1 -1
  2. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  3. package/dist/generated/lazy-feature-config.js +3 -2
  4. package/dist/generated/lazy-feature-config.js.map +1 -1
  5. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +49 -49
  6. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  7. package/dist/lib/generic/form-toolbar.js +10 -10
  8. package/dist/lib/generic/form-toolbar.js.map +1 -1
  9. package/dist/lib/oauth/oauth-callback.component.js +6 -6
  10. package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
  11. package/dist/lib/oauth/oauth.module.d.ts +2 -3
  12. package/dist/lib/oauth/oauth.module.d.ts.map +1 -1
  13. package/dist/lib/oauth/oauth.module.js +0 -4
  14. package/dist/lib/oauth/oauth.module.js.map +1 -1
  15. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +6 -25
  16. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  17. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +30 -124
  18. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  19. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +7 -23
  20. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  21. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +50 -142
  22. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  23. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +3 -19
  24. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
  25. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +16 -98
  26. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  27. package/dist/lib/resource-wrappers/view-resource.component.d.ts +13 -11
  28. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  29. package/dist/lib/resource-wrappers/view-resource.component.js +80 -89
  30. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  31. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
  32. package/dist/lib/shell/components/header/app-nav.component.js +18 -3
  33. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  34. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +38 -16
  35. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  36. package/dist/lib/shell/components/tabs/component-cache-manager.js +57 -35
  37. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  38. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +33 -0
  39. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  40. package/dist/lib/shell/components/tabs/tab-container.component.js +99 -16
  41. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  42. package/dist/lib/shell/services/settings-dialog.service.d.ts +8 -8
  43. package/dist/lib/shell/services/settings-dialog.service.d.ts.map +1 -1
  44. package/dist/lib/shell/services/settings-dialog.service.js +20 -26
  45. package/dist/lib/shell/services/settings-dialog.service.js.map +1 -1
  46. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  47. package/dist/lib/shell/shell.component.js +17 -16
  48. package/dist/lib/shell/shell.component.js.map +1 -1
  49. package/dist/lib/shell/shell.module.d.ts +4 -5
  50. package/dist/lib/shell/shell.module.d.ts.map +1 -1
  51. package/dist/lib/shell/shell.module.js +4 -8
  52. package/dist/lib/shell/shell.module.js.map +1 -1
  53. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +72 -71
  54. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  55. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +11 -11
  56. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  57. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +36 -12
  58. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
  59. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +78 -50
  60. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  61. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +12 -5
  62. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  63. package/dist/lib/single-dashboard/single-dashboard.component.js +44 -55
  64. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  65. package/dist/lib/single-list-detail/single-list-detail.component.d.ts +10 -2
  66. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  67. package/dist/lib/single-list-detail/single-list-detail.component.js +313 -243
  68. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  69. package/dist/module.d.ts +23 -34
  70. package/dist/module.d.ts.map +1 -1
  71. package/dist/module.js +33 -74
  72. package/dist/module.js.map +1 -1
  73. package/package.json +37 -47
@@ -3,24 +3,47 @@ import { ResourceData } from '@memberjunction/core-entities';
3
3
  import { SharedService } from '@memberjunction/ng-shared';
4
4
  import { DashboardConfigDetails, DashboardItem } from '../../single-dashboard.component';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@progress/kendo-angular-dialog";
7
- import * as i2 from "@progress/kendo-angular-buttons";
8
- import * as i3 from "@progress/kendo-angular-layout";
9
- function EditDashboardComponent_For_10_Template(rf, ctx) { if (rf & 1) {
6
+ import * as i1 from "@memberjunction/ng-ui-components";
7
+ const _forTrack0 = ($index, $item) => $item.uniqueId;
8
+ const _forTrack1 = ($index, $item) => $item.Name;
9
+ function EditDashboardComponent_Conditional_10_For_2_Template(rf, ctx) { if (rf & 1) {
10
10
  const _r1 = i0.ɵɵgetCurrentView();
11
- i0.ɵɵelementStart(0, "kendo-tilelayout-item", 8)(1, "kendo-tilelayout-item-header");
11
+ i0.ɵɵelementStart(0, "div", 18);
12
+ i0.ɵɵlistener("click", function EditDashboardComponent_Conditional_10_For_2_Template_div_click_0_listener() { const rt_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onItemSelect(rt_r2)); });
13
+ i0.ɵɵelementStart(1, "span", 19);
12
14
  i0.ɵɵtext(2);
13
- i0.ɵɵelementStart(3, "button", 14);
14
- i0.ɵɵlistener("click", function EditDashboardComponent_For_10_Template_button_click_3_listener() { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.removeItem(item_r2)); });
15
- i0.ɵɵtext(4, "X");
16
15
  i0.ɵɵelementEnd()();
17
- i0.ɵɵelement(5, "kendo-tilelayout-item-body");
18
- i0.ɵɵelementEnd();
19
16
  } if (rf & 2) {
20
- const item_r2 = ctx.$implicit;
21
- i0.ɵɵproperty("col", item_r2.col)("colSpan", item_r2.colSpan)("rowSpan", item_r2.rowSpan)("id", item_r2.uniqueId);
17
+ const rt_r2 = ctx.$implicit;
22
18
  i0.ɵɵadvance(2);
23
- i0.ɵɵtextInterpolate1(" ", item_r2.title, " ");
19
+ i0.ɵɵtextInterpolate(rt_r2.DisplayName);
20
+ } }
21
+ function EditDashboardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "div", 9);
23
+ i0.ɵɵrepeaterCreate(1, EditDashboardComponent_Conditional_10_For_2_Template, 3, 1, "div", 17, _forTrack1);
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const ctx_r2 = i0.ɵɵnextContext();
27
+ i0.ɵɵadvance();
28
+ i0.ɵɵrepeater(ctx_r2.ResourceTypes);
29
+ } }
30
+ function EditDashboardComponent_For_13_Template(rf, ctx) { if (rf & 1) {
31
+ const _r4 = i0.ɵɵgetCurrentView();
32
+ i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "span", 22);
33
+ i0.ɵɵtext(3);
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementStart(4, "button", 23);
36
+ i0.ɵɵlistener("click", function EditDashboardComponent_For_13_Template_button_click_4_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.removeItem(item_r5)); });
37
+ i0.ɵɵelement(5, "span", 15);
38
+ i0.ɵɵelementEnd()();
39
+ i0.ɵɵelement(6, "div", 24);
40
+ i0.ɵɵelementEnd();
41
+ } if (rf & 2) {
42
+ const item_r5 = ctx.$implicit;
43
+ i0.ɵɵstyleProp("grid-column", item_r5.col + " / span " + item_r5.colSpan)("grid-row", "span " + item_r5.rowSpan);
44
+ i0.ɵɵproperty("id", item_r5.uniqueId);
45
+ i0.ɵɵadvance(3);
46
+ i0.ɵɵtextInterpolate(item_r5.title);
24
47
  } }
25
48
  export class EditDashboardComponent {
26
49
  onSave = new EventEmitter();
@@ -31,10 +54,10 @@ export class EditDashboardComponent {
31
54
  items = [];
32
55
  _items = [];
33
56
  itemsChanged = false;
57
+ showAddMenu = false;
34
58
  get ResourceTypes() {
35
59
  return SharedService.Instance.ResourceTypes.filter((rt) => rt.Name !== 'Dashboards' && rt.Name !== 'Records');
36
60
  }
37
- resourceType = null;
38
61
  async ngOnInit() {
39
62
  this._items = [];
40
63
  for (const item of this.items) {
@@ -55,40 +78,42 @@ export class EditDashboardComponent {
55
78
  }
56
79
  return dashboardItem;
57
80
  }
58
- removeItem(e) {
59
- // remove the selected item from the dashboard
60
- const index = this._items.indexOf(e);
81
+ removeItem(item) {
82
+ const index = this._items.indexOf(item);
61
83
  if (index >= 0) {
62
84
  this._items.splice(index, 1);
63
85
  this.itemsChanged = true;
64
86
  }
65
87
  }
88
+ toggleAddMenu() {
89
+ this.showAddMenu = !this.showAddMenu;
90
+ }
66
91
  onReorder(e) {
67
- const item = this._items.find(i => i.uniqueId === parseInt(e.item.elem.nativeElement.id));
92
+ const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : this._items[e.oldIndex];
68
93
  if (item) {
69
- // move the item in our config state to the new index
70
94
  if (e.oldIndex !== e.newIndex) {
71
95
  this._items.splice(e.oldIndex, 1);
72
96
  this._items.splice(e.newIndex, 0, item);
73
97
  }
74
- //item.order = e.item.order;
75
- item.col = e.newCol ? e.newCol : item.col;
76
- item.row = e.newRow ? e.newRow : item.row;
98
+ item.col = e.newCol ?? item.col;
99
+ item.row = e.newRow ?? item.row;
77
100
  this.itemsChanged = true;
78
101
  }
79
102
  }
80
103
  onResize(e) {
81
- const item = this._items.find(i => i.uniqueId === parseInt(e.item.elem.nativeElement.id));
104
+ const item = e.uniqueId != null ? this._items.find(i => i.uniqueId === e.uniqueId) : undefined;
82
105
  if (item) {
83
106
  item.colSpan = e.newColSpan;
84
107
  item.rowSpan = e.newRowSpan;
85
108
  this.itemsChanged = true;
86
109
  }
87
110
  }
88
- closeDialog(event = null) {
111
+ closeDialog() {
112
+ this.showAddMenu = false;
89
113
  this.onClose.emit();
90
114
  }
91
115
  saveChanges() {
116
+ this.showAddMenu = false;
92
117
  this.onSave.emit({
93
118
  itemsChanged: this.itemsChanged,
94
119
  items: this._items,
@@ -96,48 +121,51 @@ export class EditDashboardComponent {
96
121
  });
97
122
  }
98
123
  onItemSelect(event) {
124
+ this.showAddMenu = false;
99
125
  if (event.ID) {
100
126
  this.triggerAddItem.emit(event);
101
127
  }
102
128
  }
103
129
  static ɵfac = function EditDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EditDashboardComponent)(); };
104
- 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: 19, vars: 11, consts: [[1, "k-overlay"], ["title", "Customize Dashboard", 1, "kendo-window-hide-restore", 3, "close", "width", "minHeight", "minWidth", "resizable", "state"], [1, "k-d-flex", "k-flex-col", "k-justify-content-between", "k-h-full", "custom-dialog-body"], [1, "dialog-content"], [1, "dialog-actions"], ["themeColor", "primary", 1, "k-m-2", 3, "itemClick", "data", "textField"], [1, "fa-solid", "fa-plus"], [3, "resize", "reorder", "columns", "rowHeight", "resizable", "reorderable"], [3, "col", "colSpan", "rowSpan", "id"], [1, "dialog-footer"], [1, "k-card-footer", "!k-border-none"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "fa-solid", "fa-check"], ["kendoButton", "", 1, "k-float-right", 3, "click"]], template: function EditDashboardComponent_Template(rf, ctx) { if (rf & 1) {
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) {
105
131
  i0.ɵɵelement(0, "div", 0);
106
- i0.ɵɵelementStart(1, "kendo-window", 1);
107
- i0.ɵɵlistener("close", function EditDashboardComponent_Template_kendo_window_close_1_listener($event) { return ctx.closeDialog($event); });
108
- i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "kendo-dropdownbutton", 5);
109
- i0.ɵɵlistener("itemClick", function EditDashboardComponent_Template_kendo_dropdownbutton_itemClick_5_listener($event) { return ctx.onItemSelect($event); });
110
- i0.ɵɵelement(6, "span", 6);
111
- i0.ɵɵtext(7, " Add item ");
132
+ i0.ɵɵelementStart(1, "mj-window", 1);
133
+ i0.ɵɵlistener("Close", function EditDashboardComponent_Template_mj_window_Close_1_listener() { return ctx.closeDialog(); });
134
+ i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5)(6, "button", 6);
135
+ i0.ɵɵlistener("click", function EditDashboardComponent_Template_button_click_6_listener() { return ctx.toggleAddMenu(); });
136
+ i0.ɵɵelement(7, "span", 7);
137
+ i0.ɵɵtext(8, " Add item ");
138
+ i0.ɵɵelement(9, "span", 8);
139
+ i0.ɵɵelementEnd();
140
+ i0.ɵɵconditionalCreate(10, EditDashboardComponent_Conditional_10_Template, 3, 0, "div", 9);
112
141
  i0.ɵɵelementEnd()();
113
- i0.ɵɵelementStart(8, "kendo-tilelayout", 7);
114
- i0.ɵɵlistener("resize", function EditDashboardComponent_Template_kendo_tilelayout_resize_8_listener($event) { return ctx.onResize($event); })("reorder", function EditDashboardComponent_Template_kendo_tilelayout_reorder_8_listener($event) { return ctx.onReorder($event); });
115
- i0.ɵɵrepeaterCreate(9, EditDashboardComponent_For_10_Template, 6, 5, "kendo-tilelayout-item", 8, i0.ɵɵrepeaterTrackByIdentity);
142
+ i0.ɵɵelementStart(11, "div", 10);
143
+ i0.ɵɵrepeaterCreate(12, EditDashboardComponent_For_13_Template, 7, 6, "div", 11, _forTrack0);
116
144
  i0.ɵɵelementEnd()();
117
- i0.ɵɵelementStart(11, "div", 9)(12, "div", 10)(13, "button", 11);
118
- i0.ɵɵlistener("click", function EditDashboardComponent_Template_button_click_13_listener($event) { return ctx.closeDialog($event); });
119
- i0.ɵɵelement(14, "span", 12);
120
- i0.ɵɵtext(15, " Cancel ");
145
+ i0.ɵɵelementStart(14, "div", 12)(15, "div", 13)(16, "button", 14);
146
+ i0.ɵɵlistener("click", function EditDashboardComponent_Template_button_click_16_listener() { return ctx.closeDialog(); });
147
+ i0.ɵɵelement(17, "span", 15);
148
+ i0.ɵɵtext(18, " Cancel ");
121
149
  i0.ɵɵelementEnd();
122
- i0.ɵɵelementStart(16, "button", 11);
123
- i0.ɵɵlistener("click", function EditDashboardComponent_Template_button_click_16_listener() { return ctx.saveChanges(); });
124
- i0.ɵɵelement(17, "span", 13);
125
- i0.ɵɵtext(18, " Save ");
150
+ i0.ɵɵelementStart(19, "button", 14);
151
+ i0.ɵɵlistener("click", function EditDashboardComponent_Template_button_click_19_listener() { return ctx.saveChanges(); });
152
+ i0.ɵɵelement(20, "span", 16);
153
+ i0.ɵɵtext(21, " Save ");
126
154
  i0.ɵɵelementEnd()()()()();
127
155
  } if (rf & 2) {
128
156
  i0.ɵɵadvance();
129
- i0.ɵɵproperty("width", 500)("minHeight", 300)("minWidth", 400)("resizable", true)("state", "maximized");
130
- i0.ɵɵadvance(4);
131
- i0.ɵɵproperty("data", ctx.ResourceTypes)("textField", "DisplayName");
132
- i0.ɵɵadvance(3);
133
- i0.ɵɵproperty("columns", ctx.config.columns)("rowHeight", ctx.config.rowHeight)("resizable", true)("reorderable", true);
157
+ i0.ɵɵproperty("Visible", true)("Width", 500)("MinHeight", 300)("MinWidth", 400)("Resizable", true)("State", "maximized");
158
+ i0.ɵɵadvance(9);
159
+ i0.ɵɵconditional(ctx.showAddMenu ? 10 : -1);
160
+ i0.ɵɵadvance();
161
+ i0.ɵɵstyleProp("grid-template-columns", "repeat(" + ctx.config.columns + ", 1fr)")("grid-auto-rows", ctx.config.rowHeight + "px");
134
162
  i0.ɵɵadvance();
135
163
  i0.ɵɵrepeater(ctx._items);
136
- } }, dependencies: [i1.WindowComponent, i2.ButtonComponent, i2.DropDownButtonComponent, i3.TileLayoutComponent, i3.TileLayoutItemBodyComponent, i3.TileLayoutItemComponent, i3.TileLayoutItemHeaderComponent], styles: [".dialog-content[_ngcontent-%COMP%] .dialog-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n}\n.dialog-footer[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n width: auto;\n height: 40px;\n border-top: 1px solid rgba(0, 0, 0, 0.08);\n background: var(--mj-bg-surface);\n padding: 8px 16px;\n}\n.custom-dialog-body[_ngcontent-%COMP%] {\nflex: 1;\n}\n.custom-dialog-body[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 16px;\n box-sizing: border-box;\n}\n.dialog-footer[_ngcontent-%COMP%] .k-card-footer[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 0;\n}\n .kendo-window-hide-restore .k-window-content {\n padding: 0;\n}\n.custom-dialog-body[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] .k-tilelayout[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n}"] });
164
+ } }, dependencies: [i1.MJButtonDirective, i1.MJWindowComponent], styles: [".edit-dashboard-overlay[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n flex: 1;\n}\n\n.custom-dialog-body[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 16px;\n box-sizing: border-box;\n}\n\n.dialog-content[_ngcontent-%COMP%] .dialog-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: 12px;\n}\n\n.dialog-footer[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 0;\n}\n\n\n\n.mj-tile-layout[_ngcontent-%COMP%] {\n display: grid;\n gap: 12px;\n background: var(--mj-bg-surface);\n}\n\n.mj-tile-item[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n.remove-item-btn[_ngcontent-%COMP%] {\n flex-shrink: 0;\n margin-left: 8px;\n}\n\n.mj-tile-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n background: var(--mj-bg-surface-sunken);\n}\n\n\n\n.add-dropdown-wrapper[_ngcontent-%COMP%] {\n position: relative;\n}\n\n.add-dropdown-arrow[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-left: 4px;\n}\n\n.add-dropdown-panel[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.add-dropdown-item-text[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}"] });
137
165
  }
138
166
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditDashboardComponent, [{
139
167
  type: Component,
140
- args: [{ standalone: false, selector: 'app-edit-dashboard', template: "<div class=\"k-overlay\"></div>\n<kendo-window\n class=\"kendo-window-hide-restore\"\n [width]=\"500\"\n [minHeight]=\"300\"\n [minWidth]=\"400\"\n [resizable]=\"true\"\n (close)=\"closeDialog($event)\"\n [state]=\"'maximized'\"\n title=\"Customize Dashboard\">\n <div class=\"k-d-flex k-flex-col k-justify-content-between k-h-full custom-dialog-body\">\n <div class=\"dialog-content \">\n <div class=\"dialog-actions\">\n <kendo-dropdownbutton class=\"k-m-2\" themeColor=\"primary\" [data]=\"ResourceTypes\" [textField]=\"'DisplayName'\" (itemClick)=\"onItemSelect($event)\">\n <span class=\"fa-solid fa-plus\"></span> Add item\n </kendo-dropdownbutton>\n </div>\n <kendo-tilelayout\n [columns]=\"config.columns\"\n [rowHeight]=\"config.rowHeight\"\n [resizable]=\"true\"\n [reorderable]=\"true\"\n (resize)=\"onResize($event)\"\n (reorder)=\"onReorder($event)\"\n >\n @for (item of _items; track item) {\n <kendo-tilelayout-item [col]=\"item.col\" [colSpan]=\"item.colSpan\" [rowSpan]=\"item.rowSpan\" [id]=\"item.uniqueId\">\n <kendo-tilelayout-item-header>\n {{item.title}}\n <button kendoButton class=\"k-float-right\" (click)=\"removeItem(item)\">X</button>\n </kendo-tilelayout-item-header>\n <kendo-tilelayout-item-body>\n <!-- <div class=\"overlay\"></div> -->\n <!-- <app-resource [Data]=\"item.ResourceData\" [isVisible]=\"false\"></app-resource> -->\n </kendo-tilelayout-item-body>\n </kendo-tilelayout-item>\n }\n </kendo-tilelayout>\n\n </div>\n <div class=\"dialog-footer\">\n <div class=\"k-card-footer !k-border-none\">\n <button kendoButton (click)=\"closeDialog($event)\" >\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n <button kendoButton (click)=\"saveChanges()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n </div>\n </div>\n </div>\n</kendo-window>", styles: [".dialog-content .dialog-actions {\n display: flex;\n justify-content: flex-end;\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 rgba(0, 0, 0, 0.08);\n background: var(--mj-bg-surface);\n padding: 8px 16px;\n}\n.custom-dialog-body {\nflex: 1;\n}\n.custom-dialog-body .dialog-content {\n flex: 1;\n overflow: auto;\n padding: 16px;\n box-sizing: border-box;\n}\n.dialog-footer .k-card-footer {\n display: flex;\n gap: 8px;\n padding: 0;\n}\n::ng-deep .kendo-window-hide-restore .k-window-content {\n padding: 0;\n}\n.custom-dialog-body .dialog-content .k-tilelayout {\n background: var(--mj-bg-surface);\n}\n"] }]
168
+ 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"] }]
141
169
  }], null, { onSave: [{
142
170
  type: Output
143
171
  }], onClose: [{
@@ -151,5 +179,5 @@ export class EditDashboardComponent {
151
179
  }], items: [{
152
180
  type: Input
153
181
  }] }); })();
154
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditDashboardComponent, { className: "EditDashboardComponent", filePath: "src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.ts", lineNumber: 13 }); })();
182
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditDashboardComponent, { className: "EditDashboardComponent", filePath: "src/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.ts", lineNumber: 12 }); })();
155
183
  //# sourceMappingURL=edit-dashboard.component.js.map
@@ -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 { TileLayoutReorderEvent, TileLayoutResizeEvent } from '@progress/kendo-angular-layout';\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<any>();\n @Output() onClose = new EventEmitter<any>();\n @Output() triggerAddItem = new EventEmitter<any>();\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\n public get ResourceTypes(): any[] {\n return SharedService.Instance.ResourceTypes.filter((rt: any) => rt.Name !== 'Dashboards' && rt.Name !== 'Records');\n }\n public resourceType: any = null;\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: any): 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(e: any): void {\n // remove the selected item from the dashboard\n const index = this._items.indexOf(e);\n if (index >= 0) {\n this._items.splice(index, 1);\n this.itemsChanged = true;\n }\n }\n\n onReorder(e: TileLayoutReorderEvent): void {\n const item = this._items.find(i => i.uniqueId === parseInt(e.item.elem.nativeElement.id));\n if (item) {\n // move the item in our config state to the new index\n if (e.oldIndex !== e.newIndex) {\n this._items.splice(e.oldIndex, 1);\n this._items.splice(e.newIndex, 0, item); \n }\n //item.order = e.item.order;\n item.col = e.newCol ? e.newCol : item.col;\n item.row = e.newRow ? e.newRow : item.row;\n this.itemsChanged = true;\n }\n }\n \n onResize(e: TileLayoutResizeEvent): void {\n const item = this._items.find(i => i.uniqueId === parseInt(e.item.elem.nativeElement.id));\n if (item) {\n item.colSpan = e.newColSpan;\n item.rowSpan = e.newRowSpan;\n this.itemsChanged = true;\n }\n }\n\n closeDialog(event: any = null): void {\n this.onClose.emit();\n }\n\n saveChanges() {\n this.onSave.emit({\n itemsChanged: this.itemsChanged,\n items: this._items,\n config: this.config,\n });\n }\n\n onItemSelect(event: any) {\n if(event.ID){\n this.triggerAddItem.emit(event);\n }\n }\n}","<div class=\"k-overlay\"></div>\n<kendo-window\n class=\"kendo-window-hide-restore\"\n [width]=\"500\"\n [minHeight]=\"300\"\n [minWidth]=\"400\"\n [resizable]=\"true\"\n (close)=\"closeDialog($event)\"\n [state]=\"'maximized'\"\n title=\"Customize Dashboard\">\n <div class=\"k-d-flex k-flex-col k-justify-content-between k-h-full custom-dialog-body\">\n <div class=\"dialog-content \">\n <div class=\"dialog-actions\">\n <kendo-dropdownbutton class=\"k-m-2\" themeColor=\"primary\" [data]=\"ResourceTypes\" [textField]=\"'DisplayName'\" (itemClick)=\"onItemSelect($event)\">\n <span class=\"fa-solid fa-plus\"></span> Add item\n </kendo-dropdownbutton>\n </div>\n <kendo-tilelayout\n [columns]=\"config.columns\"\n [rowHeight]=\"config.rowHeight\"\n [resizable]=\"true\"\n [reorderable]=\"true\"\n (resize)=\"onResize($event)\"\n (reorder)=\"onReorder($event)\"\n >\n @for (item of _items; track item) {\n <kendo-tilelayout-item [col]=\"item.col\" [colSpan]=\"item.colSpan\" [rowSpan]=\"item.rowSpan\" [id]=\"item.uniqueId\">\n <kendo-tilelayout-item-header>\n {{item.title}}\n <button kendoButton class=\"k-float-right\" (click)=\"removeItem(item)\">X</button>\n </kendo-tilelayout-item-header>\n <kendo-tilelayout-item-body>\n <!-- <div class=\"overlay\"></div> -->\n <!-- <app-resource [Data]=\"item.ResourceData\" [isVisible]=\"false\"></app-resource> -->\n </kendo-tilelayout-item-body>\n </kendo-tilelayout-item>\n }\n </kendo-tilelayout>\n\n </div>\n <div class=\"dialog-footer\">\n <div class=\"k-card-footer !k-border-none\">\n <button kendoButton (click)=\"closeDialog($event)\" >\n <span class=\"fa-solid fa-xmark\"></span>\n Cancel\n </button>\n <button kendoButton (click)=\"saveChanges()\">\n <span class=\"fa-solid fa-check\"></span>\n Save\n </button>\n </div>\n </div>\n </div>\n</kendo-window>"]}
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,5 +1,4 @@
1
1
  import { ElementRef, EventEmitter, OnInit } from '@angular/core';
2
- import { TileLayoutReorderEvent, TileLayoutResizeEvent } from "@progress/kendo-angular-layout";
3
2
  import { ResourceData } from '@memberjunction/core-entities';
4
3
  import { MJDashboardEntityExtended, MJResourceTypeEntity } from '@memberjunction/core-entities';
5
4
  import { SharedService } from '@memberjunction/ng-shared';
@@ -28,7 +27,6 @@ export declare class SingleDashboardComponent extends BaseDashboard implements O
28
27
  selectedResource: MJResourceTypeEntity | null;
29
28
  selectedDashboardItem: DashboardItem | null;
30
29
  private saveChangesSubject;
31
- private selectedComponent;
32
30
  private editOnLoad;
33
31
  private recentAccessService;
34
32
  get contentLoading(): boolean;
@@ -57,11 +55,20 @@ export declare class SingleDashboardComponent extends BaseDashboard implements O
57
55
  deleteDashboardItem(item: DashboardItem): Promise<void>;
58
56
  getIsEditingItemBodyStyle(): string;
59
57
  getIsEditingItemHeaderStyle(): string;
60
- onReorder(e: TileLayoutReorderEvent): void;
61
- onResize(e: TileLayoutResizeEvent): void;
58
+ onReorder(e: {
59
+ oldIndex: number;
60
+ newIndex: number;
61
+ newCol?: number;
62
+ newRow?: number;
63
+ uniqueId?: number;
64
+ }): void;
65
+ onResize(e: {
66
+ newColSpan: number;
67
+ newRowSpan: number;
68
+ uniqueId?: number;
69
+ }): void;
62
70
  onMouseEnter(e: MouseEvent): void;
63
71
  onMouseOut(e: MouseEvent): void;
64
- getSelectedComponentStyle(component: SingleDashboardComponent): string;
65
72
  /**
66
73
  * Get the appropriate icon for a resource type
67
74
  * @param resourceType The type of resource
@@ -1 +1 @@
1
- {"version":3,"file":"single-dashboard.component.d.ts","sourceRoot":"","sources":["../../../src/lib/single-dashboard/single-dashboard.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"single-dashboard.component.d.ts","sourceRoot":"","sources":["../../../src/lib/single-dashboard/single-dashboard.component.ts"],"names":[],"mappings":"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"}