@memberjunction/ng-explorer-core 6.2.0-edge.0 → 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.
- package/dist/app-routing.module.d.ts +23 -1
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +50 -14
- package/dist/app-routing.module.js.map +1 -1
- package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
- package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
- package/dist/lib/command-palette/command-palette.component.js +28 -14
- package/dist/lib/command-palette/command-palette.component.js.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
- package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
- package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
- package/dist/lib/generic/resource-container-component.d.ts +19 -5
- package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
- package/dist/lib/generic/resource-container-component.js +43 -13
- package/dist/lib/generic/resource-container-component.js.map +1 -1
- package/dist/lib/guards/entities.guard.d.ts +4 -0
- package/dist/lib/guards/entities.guard.d.ts.map +1 -1
- package/dist/lib/guards/entities.guard.js +10 -2
- package/dist/lib/guards/entities.guard.js.map +1 -1
- package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
- package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
- package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
- package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
- package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
- package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
- package/dist/lib/oauth/oauth-callback.component.js +10 -2
- package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
- package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
- package/dist/lib/profile/profile-dialog.component.js +194 -191
- package/dist/lib/profile/profile-dialog.component.js.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
- package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +186 -23
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +500 -177
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
- package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts +68 -10
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +178 -62
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/services/startup-validation.service.d.ts +4 -0
- package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
- package/dist/lib/services/startup-validation.service.js +10 -2
- package/dist/lib/services/startup-validation.service.js.map +1 -1
- package/dist/lib/services/system-validation.service.d.ts +13 -1
- package/dist/lib/services/system-validation.service.d.ts.map +1 -1
- package/dist/lib/services/system-validation.service.js +29 -5
- package/dist/lib/services/system-validation.service.js.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.js +56 -12
- package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
- package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
- package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +50 -6
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.js +95 -22
- package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +91 -9
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +257 -101
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/loading-themes.d.ts +16 -12
- package/dist/lib/shell/loading-themes.d.ts.map +1 -1
- package/dist/lib/shell/loading-themes.js +145 -137
- package/dist/lib/shell/loading-themes.js.map +1 -1
- package/dist/lib/shell/readiness-beacon.d.ts +2 -0
- package/dist/lib/shell/readiness-beacon.d.ts.map +1 -1
- package/dist/lib/shell/readiness-beacon.js +5 -1
- package/dist/lib/shell/readiness-beacon.js.map +1 -1
- package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/about-dialog.service.js +16 -4
- package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
- package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/profile-dialog.service.js +16 -4
- package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
- package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
- package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +262 -39
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +688 -292
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-query/single-query.component.d.ts +22 -2
- package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
- package/dist/lib/single-query/single-query.component.js +40 -10
- package/dist/lib/single-query/single-query.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +41 -3
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +71 -11
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
- package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +42 -12
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
- package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
- package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
- package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
- package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
- package/dist/lib/user-menu/user-menu.types.js +10 -2
- package/dist/lib/user-menu/user-menu.types.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
- package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +151 -47
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
- package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +5 -4
- package/dist/lib/user-profile/user-profile.component.js.map +1 -1
- 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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
20
|
-
|
|
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
|
package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
161
|
+
return this.ToggleAddMenu();
|
|
90
162
|
}
|
|
91
|
-
|
|
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.
|
|
172
|
+
this.ItemsChanged = true;
|
|
101
173
|
}
|
|
102
174
|
}
|
|
103
|
-
|
|
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.
|
|
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.
|
|
113
|
-
this.onClose.emit();
|
|
197
|
+
return this.CloseDialog();
|
|
114
198
|
}
|
|
115
|
-
|
|
116
|
-
this.
|
|
117
|
-
this.
|
|
118
|
-
itemsChanged: this.
|
|
199
|
+
SaveChanges() {
|
|
200
|
+
this.ShowAddMenu = false;
|
|
201
|
+
this.OnSave.emit({
|
|
202
|
+
itemsChanged: this.ItemsChanged,
|
|
119
203
|
items: this._items,
|
|
120
|
-
config: this.
|
|
204
|
+
config: this.Config,
|
|
121
205
|
});
|
|
122
206
|
}
|
|
123
|
-
|
|
124
|
-
|
|
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.
|
|
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, {
|
|
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"]}
|