@memberjunction/ng-explorer-core 2.51.0 → 2.53.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.
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +2 -0
- package/dist/app-routing.module.js.map +1 -1
- package/dist/lib/app-view/application-view.component.js +108 -76
- package/dist/lib/app-view/application-view.component.js.map +1 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +38 -37
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +2 -2
- package/dist/lib/data-browser-component/data-browser.component.js +99 -60
- package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
- package/dist/lib/favorites/favorites.component.js +2 -2
- package/dist/lib/generic/resource-container-component.js +5 -5
- package/dist/lib/generic/resource-container-component.js.map +1 -1
- package/dist/lib/generic-browse-list/generic-browse-list.component.js +57 -58
- package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +7 -0
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +1 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +475 -143
- package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
- package/dist/lib/header/header.component.d.ts +6 -0
- package/dist/lib/header/header.component.d.ts.map +1 -1
- package/dist/lib/header/header.component.js +98 -41
- package/dist/lib/header/header.component.js.map +1 -1
- package/dist/lib/home-component/home.component.d.ts +5 -0
- package/dist/lib/home-component/home.component.d.ts.map +1 -1
- package/dist/lib/home-component/home.component.js +137 -33
- package/dist/lib/home-component/home.component.js.map +1 -1
- package/dist/lib/list-view/list-view.component.js +55 -28
- package/dist/lib/list-view/list-view.component.js.map +1 -1
- package/dist/lib/navigation/navigation.component.js +33 -42
- package/dist/lib/navigation/navigation.component.js.map +1 -1
- package/dist/lib/query-browser-component/query-browser.component.js +2 -2
- package/dist/lib/report-browser-component/report-browser.component.js +2 -2
- package/dist/lib/resource-browser/resource-browser.component.js +297 -177
- package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +4 -5
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +4 -5
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/services/startup-validation.service.d.ts +25 -0
- package/dist/lib/services/startup-validation.service.d.ts.map +1 -0
- package/dist/lib/services/startup-validation.service.js +85 -0
- package/dist/lib/services/startup-validation.service.js.map +1 -0
- package/dist/lib/services/system-validation.service.d.ts +40 -0
- package/dist/lib/services/system-validation.service.d.ts.map +1 -0
- package/dist/lib/services/system-validation.service.js +68 -0
- package/dist/lib/services/system-validation.service.js.map +1 -0
- package/dist/lib/single-application/single-application.component.js +2 -2
- package/dist/lib/single-entity/single-entity.component.js +2 -2
- package/dist/lib/single-list-detail/single-list-detail.component.js +2 -2
- package/dist/lib/single-query/single-query.component.js +4 -5
- package/dist/lib/single-query/single-query.component.js.map +1 -1
- package/dist/lib/single-report/single-report.component.js +4 -5
- package/dist/lib/single-report/single-report.component.js.map +1 -1
- package/dist/lib/single-view/single-view.component.js +7 -8
- package/dist/lib/single-view/single-view.component.js.map +1 -1
- package/dist/lib/style-guide-test/style-guide-test.component.d.ts +70 -0
- package/dist/lib/style-guide-test/style-guide-test.component.d.ts.map +1 -0
- package/dist/lib/style-guide-test/style-guide-test.component.js +1017 -0
- package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -0
- package/dist/lib/system-validation/system-validation-banner.component.d.ts +16 -0
- package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -0
- package/dist/lib/system-validation/system-validation-banner.component.js +156 -0
- package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -0
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +24 -26
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +141 -91
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/module.d.ts +42 -40
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +38 -10
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +4 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +25 -25
|
@@ -12,174 +12,399 @@ import * as i4 from "@progress/kendo-angular-dialog";
|
|
|
12
12
|
import * as i5 from "@progress/kendo-angular-indicators";
|
|
13
13
|
import * as i6 from "@progress/kendo-angular-buttons";
|
|
14
14
|
import * as i7 from "@progress/kendo-angular-inputs";
|
|
15
|
-
import * as i8 from "@progress/kendo-angular-
|
|
16
|
-
import * as i9 from "@
|
|
15
|
+
import * as i8 from "@progress/kendo-angular-label";
|
|
16
|
+
import * as i9 from "@progress/kendo-angular-layout";
|
|
17
|
+
import * as i10 from "@memberjunction/ng-entity-form-dialog";
|
|
17
18
|
const _c0 = ["entityFormDialog"];
|
|
18
19
|
function GenericBrowserListComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
19
20
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
20
|
-
i0.ɵɵelementStart(0, "span",
|
|
21
|
+
i0.ɵɵelementStart(0, "span", 28);
|
|
21
22
|
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_4_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.goToParent()); });
|
|
23
|
+
i0.ɵɵelement(1, "span", 29);
|
|
22
24
|
i0.ɵɵelementEnd();
|
|
23
|
-
i0.ɵɵelement(1, "span", 22);
|
|
24
25
|
} }
|
|
25
|
-
function
|
|
26
|
-
i0.ɵɵ
|
|
26
|
+
function GenericBrowserListComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
28
|
+
i0.ɵɵelement(1, "span", 30);
|
|
29
|
+
i0.ɵɵtext(2, " Current Folder ");
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
27
31
|
} }
|
|
28
|
-
function
|
|
29
|
-
i0.ɵɵelement(0, "
|
|
32
|
+
function GenericBrowserListComponent_ng_template_20_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelement(0, "i", 31);
|
|
30
34
|
} }
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
i0.ɵɵ
|
|
34
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_22_Conditional_0_ng_template_6_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const dataItem_r8 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editItem(dataItem_r8)); });
|
|
35
|
-
i0.ɵɵelement(1, "span", 38);
|
|
35
|
+
function GenericBrowserListComponent_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
37
|
+
i0.ɵɵelement(1, "kendo-loader", 33);
|
|
36
38
|
i0.ɵɵelementEnd();
|
|
37
39
|
} }
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
i0.ɵɵ
|
|
41
|
-
i0.ɵɵtemplate(1, GenericBrowserListComponent_Conditional_22_Conditional_0_ng_template_6_Conditional_1_Template, 2, 0, "button", 35);
|
|
42
|
-
i0.ɵɵelementStart(2, "button", 36);
|
|
43
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_22_Conditional_0_ng_template_6_Template_button_click_2_listener() { const dataItem_r8 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteItem(dataItem_r8)); });
|
|
44
|
-
i0.ɵɵelement(3, "span", 37);
|
|
40
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "div", 43)(1, "span", 44);
|
|
42
|
+
i0.ɵɵtext(2);
|
|
45
43
|
i0.ɵɵelementEnd()();
|
|
46
44
|
} if (rf & 2) {
|
|
45
|
+
const dataItem_r6 = ctx.$implicit;
|
|
46
|
+
i0.ɵɵadvance(2);
|
|
47
|
+
i0.ɵɵtextInterpolate(dataItem_r6.Name);
|
|
48
|
+
} }
|
|
49
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵelementStart(0, "span", 45);
|
|
51
|
+
i0.ɵɵtext(1);
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
} if (rf & 2) {
|
|
54
|
+
const dataItem_r7 = i0.ɵɵnextContext().$implicit;
|
|
47
55
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
48
56
|
i0.ɵɵadvance();
|
|
49
|
-
i0.ɵɵ
|
|
57
|
+
i0.ɵɵtextInterpolate(ctx_r2.getFormattedDate(ctx_r2.getItemProperty(dataItem_r7, "LastOpened")));
|
|
50
58
|
} }
|
|
51
|
-
function
|
|
52
|
-
|
|
53
|
-
i0.ɵɵelementStart(0, "kendo-grid", 27);
|
|
54
|
-
i0.ɵɵlistener("cellClick", function GenericBrowserListComponent_Conditional_22_Conditional_0_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCellItemClicked($event)); });
|
|
55
|
-
i0.ɵɵelement(1, "kendo-grid-column", 28)(2, "kendo-grid-column", 29)(3, "kendo-grid-column", 30)(4, "kendo-grid-column", 31);
|
|
56
|
-
i0.ɵɵelementStart(5, "kendo-grid-column", 32);
|
|
57
|
-
i0.ɵɵtemplate(6, GenericBrowserListComponent_Conditional_22_Conditional_0_ng_template_6_Template, 4, 1, "ng-template", 33);
|
|
58
|
-
i0.ɵɵelementEnd()();
|
|
59
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Conditional_0_Template, 2, 1, "span", 45);
|
|
59
61
|
} if (rf & 2) {
|
|
60
|
-
const
|
|
61
|
-
i0.ɵɵ
|
|
62
|
+
const dataItem_r7 = ctx.$implicit;
|
|
63
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
64
|
+
i0.ɵɵconditional(ctx_r2.getItemProperty(dataItem_r7, "LastOpened") ? 0 : -1);
|
|
65
|
+
} }
|
|
66
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
i0.ɵɵtext(0);
|
|
68
|
+
} if (rf & 2) {
|
|
69
|
+
const dataItem_r8 = ctx.$implicit;
|
|
70
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
71
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.getItemProperty(dataItem_r8, "ModifiedBy") || "", " ");
|
|
72
|
+
} }
|
|
73
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
+
i0.ɵɵelement(0, "kendo-chip", 46);
|
|
62
75
|
} }
|
|
63
|
-
function
|
|
76
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
+
i0.ɵɵelement(0, "kendo-chip", 47);
|
|
78
|
+
} if (rf & 2) {
|
|
79
|
+
const dataItem_r9 = i0.ɵɵnextContext().$implicit;
|
|
80
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
81
|
+
i0.ɵɵproperty("label", ctx_r2.getResourceTypeLabel(dataItem_r9));
|
|
82
|
+
} }
|
|
83
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Conditional_0_Template, 1, 0, "kendo-chip", 46)(1, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Conditional_1_Template, 1, 1, "kendo-chip", 47);
|
|
85
|
+
} if (rf & 2) {
|
|
86
|
+
const dataItem_r9 = ctx.$implicit;
|
|
87
|
+
i0.ɵɵconditional(dataItem_r9.Type === "Folder" ? 0 : dataItem_r9.Type === "Resource" ? 1 : -1);
|
|
88
|
+
} }
|
|
89
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
64
90
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
65
|
-
i0.ɵɵelementStart(0, "button",
|
|
66
|
-
i0.ɵɵlistener("click", function
|
|
67
|
-
i0.ɵɵelement(1, "span",
|
|
91
|
+
i0.ɵɵelementStart(0, "button", 52);
|
|
92
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_1_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const dataItem_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.SetFavoriteStatus(dataItem_r11); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
93
|
+
i0.ɵɵelement(1, "span", 8);
|
|
68
94
|
i0.ɵɵelementEnd();
|
|
95
|
+
} if (rf & 2) {
|
|
96
|
+
const dataItem_r11 = i0.ɵɵnextContext().$implicit;
|
|
97
|
+
i0.ɵɵproperty("title", dataItem_r11.Favorite ? "Remove from favorites" : "Add to favorites");
|
|
98
|
+
i0.ɵɵadvance();
|
|
99
|
+
i0.ɵɵproperty("ngClass", dataItem_r11.Favorite ? "fa-solid fa-star" : "fa-regular fa-star");
|
|
69
100
|
} }
|
|
70
|
-
function
|
|
101
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
71
102
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
72
|
-
i0.ɵɵelementStart(0, "button",
|
|
73
|
-
i0.ɵɵlistener("click", function
|
|
74
|
-
i0.ɵɵelement(1, "span",
|
|
103
|
+
i0.ɵɵelementStart(0, "button", 53);
|
|
104
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const dataItem_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editItem(dataItem_r11)); });
|
|
105
|
+
i0.ɵɵelement(1, "span", 54);
|
|
75
106
|
i0.ɵɵelementEnd();
|
|
76
107
|
} }
|
|
77
|
-
function
|
|
108
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
78
109
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
79
|
-
i0.ɵɵelementStart(0, "button",
|
|
80
|
-
i0.ɵɵlistener("click", function
|
|
81
|
-
i0.ɵɵelement(1, "span",
|
|
110
|
+
i0.ɵɵelementStart(0, "button", 55);
|
|
111
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const dataItem_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteItem(dataItem_r11)); });
|
|
112
|
+
i0.ɵɵelement(1, "span", 56);
|
|
82
113
|
i0.ɵɵelementEnd();
|
|
83
114
|
} }
|
|
84
|
-
function
|
|
85
|
-
i0.ɵɵ
|
|
115
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
117
|
+
i0.ɵɵelementStart(0, "button", 57);
|
|
118
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const dataItem_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.unlinkItem(dataItem_r11)); });
|
|
119
|
+
i0.ɵɵelement(1, "span", 58);
|
|
120
|
+
i0.ɵɵelementEnd();
|
|
121
|
+
} }
|
|
122
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
124
|
+
i0.ɵɵtemplate(1, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_1_Template, 2, 2, "button", 48)(2, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_2_Template, 2, 0, "button", 49)(3, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_3_Template, 2, 0, "button", 50)(4, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_4_Template, 2, 0, "button", 51);
|
|
125
|
+
i0.ɵɵelementEnd();
|
|
86
126
|
} if (rf & 2) {
|
|
87
|
-
const
|
|
127
|
+
const dataItem_r11 = ctx.$implicit;
|
|
88
128
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
89
|
-
i0.ɵɵ
|
|
129
|
+
i0.ɵɵadvance();
|
|
130
|
+
i0.ɵɵconditional(dataItem_r11.Favorite !== undefined ? 1 : -1);
|
|
131
|
+
i0.ɵɵadvance();
|
|
132
|
+
i0.ɵɵconditional(!ctx_r2.disableEditButton && (!dataItem_r11.IsLink || dataItem_r11.LinkPermissionLevel === "Owner" || dataItem_r11.LinkPermissionLevel === "Edit") ? 2 : -1);
|
|
133
|
+
i0.ɵɵadvance();
|
|
134
|
+
i0.ɵɵconditional(!dataItem_r11.IsLink || dataItem_r11.LinkPermissionLevel === "Owner" ? 3 : dataItem_r11.IsLink ? 4 : -1);
|
|
90
135
|
} }
|
|
91
|
-
function
|
|
92
|
-
i0.ɵɵ
|
|
136
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
138
|
+
i0.ɵɵelementStart(0, "kendo-grid", 35);
|
|
139
|
+
i0.ɵɵlistener("cellClick", function GenericBrowserListComponent_Conditional_29_Conditional_0_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCellItemClicked($event)); });
|
|
140
|
+
i0.ɵɵelementStart(1, "kendo-grid-column", 36);
|
|
141
|
+
i0.ɵɵtemplate(2, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_2_Template, 3, 1, "ng-template", 37);
|
|
142
|
+
i0.ɵɵelementEnd();
|
|
143
|
+
i0.ɵɵelement(3, "kendo-grid-column", 38);
|
|
144
|
+
i0.ɵɵelementStart(4, "kendo-grid-column", 39);
|
|
145
|
+
i0.ɵɵtemplate(5, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Template, 1, 1, "ng-template", 37);
|
|
146
|
+
i0.ɵɵelementEnd();
|
|
147
|
+
i0.ɵɵelementStart(6, "kendo-grid-column", 40);
|
|
148
|
+
i0.ɵɵtemplate(7, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_7_Template, 1, 1, "ng-template", 37);
|
|
149
|
+
i0.ɵɵelementEnd();
|
|
150
|
+
i0.ɵɵelementStart(8, "kendo-grid-column", 41);
|
|
151
|
+
i0.ɵɵtemplate(9, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Template, 2, 1, "ng-template", 37);
|
|
152
|
+
i0.ɵɵelementEnd();
|
|
153
|
+
i0.ɵɵelementStart(10, "kendo-grid-column", 42);
|
|
154
|
+
i0.ɵɵtemplate(11, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Template, 5, 3, "ng-template", 37);
|
|
155
|
+
i0.ɵɵelementEnd()();
|
|
93
156
|
} if (rf & 2) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
157
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
158
|
+
i0.ɵɵproperty("kendoGridBinding", ctx_r2.items);
|
|
159
|
+
} }
|
|
160
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
162
|
+
i0.ɵɵelementStart(0, "div", 59)(1, "div", 61);
|
|
163
|
+
i0.ɵɵelement(2, "span", 62);
|
|
164
|
+
i0.ɵɵelementEnd();
|
|
165
|
+
i0.ɵɵelementStart(3, "h3");
|
|
166
|
+
i0.ɵɵtext(4, "No items found");
|
|
167
|
+
i0.ɵɵelementEnd();
|
|
168
|
+
i0.ɵɵelementStart(5, "p");
|
|
169
|
+
i0.ɵɵtext(6, "This folder is empty or no items match your search criteria.");
|
|
170
|
+
i0.ɵɵelementEnd();
|
|
171
|
+
i0.ɵɵelementStart(7, "kendo-button", 63);
|
|
172
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_0_Template_kendo_button_click_7_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick({ text: "Folder" })); });
|
|
173
|
+
i0.ɵɵelementStart(8, "span", 64);
|
|
174
|
+
i0.ɵɵelement(9, "i", 65);
|
|
175
|
+
i0.ɵɵtext(10, " Create Your First Item ");
|
|
176
|
+
i0.ɵɵelementEnd()()();
|
|
177
|
+
} }
|
|
178
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
179
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
180
|
+
i0.ɵɵelementStart(0, "button", 52);
|
|
181
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r18); const item_r17 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(4); ctx_r2.SetFavoriteStatus(item_r17); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
182
|
+
i0.ɵɵelement(1, "span", 8);
|
|
183
|
+
i0.ɵɵelementEnd();
|
|
184
|
+
} if (rf & 2) {
|
|
185
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
186
|
+
i0.ɵɵproperty("title", item_r17.Favorite ? "Remove from favorites" : "Add to favorites");
|
|
187
|
+
i0.ɵɵadvance();
|
|
188
|
+
i0.ɵɵproperty("ngClass", item_r17.Favorite ? "fa-solid fa-star" : "fa-regular fa-star");
|
|
189
|
+
} }
|
|
190
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
192
|
+
i0.ɵɵelementStart(0, "button", 53);
|
|
193
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_3_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r19); const item_r17 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(4); ctx_r2.editItem(item_r17); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
194
|
+
i0.ɵɵelement(1, "span", 54);
|
|
195
|
+
i0.ɵɵelementEnd();
|
|
196
|
+
} }
|
|
197
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
198
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
199
|
+
i0.ɵɵelementStart(0, "button", 55);
|
|
200
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_4_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r20); const item_r17 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(4); ctx_r2.deleteItem(item_r17); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
201
|
+
i0.ɵɵelement(1, "span", 56);
|
|
202
|
+
i0.ɵɵelementEnd();
|
|
97
203
|
} }
|
|
98
|
-
function
|
|
99
|
-
const
|
|
100
|
-
i0.ɵɵelementStart(0, "
|
|
101
|
-
i0.ɵɵ
|
|
204
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
205
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
206
|
+
i0.ɵɵelementStart(0, "button", 57);
|
|
207
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_5_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r21); const item_r17 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(4); ctx_r2.unlinkItem(item_r17); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
208
|
+
i0.ɵɵelement(1, "span", 58);
|
|
102
209
|
i0.ɵɵelementEnd();
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
i0.ɵɵ
|
|
106
|
-
i0.ɵɵ
|
|
210
|
+
} }
|
|
211
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
212
|
+
i0.ɵɵelementStart(0, "div", 69);
|
|
213
|
+
i0.ɵɵelement(1, "span", 72)(2, "span", 73);
|
|
214
|
+
i0.ɵɵelementEnd();
|
|
215
|
+
} if (rf & 2) {
|
|
216
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
217
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
218
|
+
i0.ɵɵproperty("title", item_r17.Name + " (Shared)");
|
|
219
|
+
i0.ɵɵadvance();
|
|
220
|
+
i0.ɵɵproperty("ngClass", ctx_r2.getIconForResourceType(item_r17));
|
|
221
|
+
} }
|
|
222
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
223
|
+
i0.ɵɵelement(0, "span", 70);
|
|
224
|
+
} if (rf & 2) {
|
|
225
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
226
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
227
|
+
i0.ɵɵproperty("ngClass", ctx_r2.getIconForResourceType(item_r17))("title", item_r17.Name);
|
|
228
|
+
} }
|
|
229
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
230
|
+
i0.ɵɵelementStart(0, "div", 74);
|
|
231
|
+
i0.ɵɵelement(1, "span", 75);
|
|
232
|
+
i0.ɵɵelementStart(2, "span");
|
|
233
|
+
i0.ɵɵtext(3);
|
|
234
|
+
i0.ɵɵelementEnd()();
|
|
235
|
+
} if (rf & 2) {
|
|
236
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
237
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
238
|
+
i0.ɵɵadvance(3);
|
|
239
|
+
i0.ɵɵtextInterpolate(ctx_r2.getFormattedDate(ctx_r2.getItemProperty(item_r17, "LastOpened")));
|
|
240
|
+
} }
|
|
241
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
242
|
+
i0.ɵɵelementStart(0, "div", 74);
|
|
243
|
+
i0.ɵɵelement(1, "span", 76);
|
|
244
|
+
i0.ɵɵelementStart(2, "span");
|
|
245
|
+
i0.ɵɵtext(3);
|
|
246
|
+
i0.ɵɵelementEnd()();
|
|
247
|
+
} if (rf & 2) {
|
|
248
|
+
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
249
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
250
|
+
i0.ɵɵadvance(3);
|
|
251
|
+
i0.ɵɵtextInterpolate(ctx_r2.getItemProperty(item_r17, "ModifiedBy"));
|
|
252
|
+
} }
|
|
253
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
254
|
+
i0.ɵɵelementStart(0, "div", 71);
|
|
255
|
+
i0.ɵɵtemplate(1, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Conditional_1_Template, 4, 1, "div", 74)(2, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Conditional_2_Template, 4, 1, "div", 74);
|
|
256
|
+
i0.ɵɵelementEnd();
|
|
257
|
+
} if (rf & 2) {
|
|
258
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
259
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
260
|
+
i0.ɵɵadvance();
|
|
261
|
+
i0.ɵɵconditional(ctx_r2.getItemProperty(item_r17, "LastOpened") ? 1 : -1);
|
|
262
|
+
i0.ɵɵadvance();
|
|
263
|
+
i0.ɵɵconditional(ctx_r2.getItemProperty(item_r17, "ModifiedBy") ? 2 : -1);
|
|
264
|
+
} }
|
|
265
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
266
|
+
i0.ɵɵelement(0, "kendo-chip", 46);
|
|
267
|
+
} }
|
|
268
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
269
|
+
i0.ɵɵelement(0, "kendo-chip", 47);
|
|
270
|
+
} if (rf & 2) {
|
|
271
|
+
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
272
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
273
|
+
i0.ɵɵproperty("label", ctx_r2.getResourceTypeLabel(item_r17));
|
|
274
|
+
} }
|
|
275
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
276
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
277
|
+
i0.ɵɵelementStart(0, "kendo-card", 67);
|
|
278
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Template_kendo_card_click_0_listener() { const item_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.itemClick(item_r17)); });
|
|
279
|
+
i0.ɵɵelementStart(1, "div", 68);
|
|
280
|
+
i0.ɵɵtemplate(2, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_2_Template, 2, 2, "button", 48)(3, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_3_Template, 2, 0, "button", 49)(4, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_4_Template, 2, 0, "button", 50)(5, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_5_Template, 2, 0, "button", 51);
|
|
281
|
+
i0.ɵɵelementEnd();
|
|
282
|
+
i0.ɵɵelementStart(6, "kendo-card-body");
|
|
283
|
+
i0.ɵɵtemplate(7, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_7_Template, 3, 2, "div", 69)(8, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_8_Template, 1, 2, "span", 70);
|
|
284
|
+
i0.ɵɵelementStart(9, "h3");
|
|
107
285
|
i0.ɵɵtext(10);
|
|
108
286
|
i0.ɵɵelementEnd();
|
|
109
|
-
i0.ɵɵelementStart(11, "p"
|
|
287
|
+
i0.ɵɵelementStart(11, "p");
|
|
110
288
|
i0.ɵɵtext(12);
|
|
111
|
-
i0.ɵɵelementEnd()
|
|
289
|
+
i0.ɵɵelementEnd();
|
|
290
|
+
i0.ɵɵtemplate(13, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Template, 3, 2, "div", 71)(14, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_14_Template, 1, 0, "kendo-chip", 46)(15, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_15_Template, 1, 1, "kendo-chip", 47);
|
|
291
|
+
i0.ɵɵelementEnd()();
|
|
112
292
|
} if (rf & 2) {
|
|
113
|
-
const
|
|
114
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
293
|
+
const item_r17 = ctx.$implicit;
|
|
294
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
115
295
|
i0.ɵɵadvance(2);
|
|
116
|
-
i0.ɵɵconditional(
|
|
296
|
+
i0.ɵɵconditional(item_r17.Favorite !== undefined ? 2 : -1);
|
|
297
|
+
i0.ɵɵadvance();
|
|
298
|
+
i0.ɵɵconditional(!ctx_r2.disableEditButton && (!item_r17.IsLink || item_r17.LinkPermissionLevel === "Owner" || item_r17.LinkPermissionLevel === "Edit") ? 3 : -1);
|
|
117
299
|
i0.ɵɵadvance();
|
|
118
|
-
i0.ɵɵconditional(!
|
|
300
|
+
i0.ɵɵconditional(!item_r17.IsLink || item_r17.LinkPermissionLevel === "Owner" ? 4 : item_r17.IsLink ? 5 : -1);
|
|
119
301
|
i0.ɵɵadvance(3);
|
|
120
|
-
i0.ɵɵconditional(
|
|
121
|
-
i0.ɵɵadvance(
|
|
122
|
-
i0.ɵɵtextInterpolate(
|
|
302
|
+
i0.ɵɵconditional(item_r17.IsLink ? 7 : 8);
|
|
303
|
+
i0.ɵɵadvance(3);
|
|
304
|
+
i0.ɵɵtextInterpolate(item_r17.Name);
|
|
123
305
|
i0.ɵɵadvance(2);
|
|
124
|
-
i0.ɵɵtextInterpolate(
|
|
306
|
+
i0.ɵɵtextInterpolate(item_r17.Description || "No description available");
|
|
307
|
+
i0.ɵɵadvance();
|
|
308
|
+
i0.ɵɵconditional(ctx_r2.getItemProperty(item_r17, "LastOpened") || ctx_r2.getItemProperty(item_r17, "ModifiedBy") ? 13 : -1);
|
|
309
|
+
i0.ɵɵadvance();
|
|
310
|
+
i0.ɵɵconditional(item_r17.Type === "Folder" ? 14 : item_r17.Type === "Resource" ? 15 : -1);
|
|
125
311
|
} }
|
|
126
|
-
function
|
|
127
|
-
i0.ɵɵelementStart(0, "div",
|
|
128
|
-
i0.ɵɵrepeaterCreate(1,
|
|
312
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
313
|
+
i0.ɵɵelementStart(0, "div", 60);
|
|
314
|
+
i0.ɵɵrepeaterCreate(1, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Template, 16, 8, "kendo-card", 66, i0.ɵɵrepeaterTrackByIdentity);
|
|
129
315
|
i0.ɵɵelementEnd();
|
|
130
316
|
} if (rf & 2) {
|
|
131
|
-
const ctx_r2 = i0.ɵɵnextContext(
|
|
317
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
132
318
|
i0.ɵɵadvance();
|
|
133
319
|
i0.ɵɵrepeater(ctx_r2.items);
|
|
134
320
|
} }
|
|
135
|
-
function
|
|
136
|
-
i0.ɵɵtemplate(0,
|
|
321
|
+
function GenericBrowserListComponent_Conditional_29_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
322
|
+
i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_0_Template, 11, 0, "div", 59)(1, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_Template, 3, 0, "div", 60);
|
|
323
|
+
} if (rf & 2) {
|
|
324
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
325
|
+
i0.ɵɵconditional(ctx_r2.items.length === 0 ? 0 : 1);
|
|
326
|
+
} }
|
|
327
|
+
function GenericBrowserListComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
328
|
+
i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_29_Conditional_0_Template, 12, 1, "kendo-grid", 34)(1, GenericBrowserListComponent_Conditional_29_Conditional_1_Template, 2, 1);
|
|
137
329
|
} if (rf & 2) {
|
|
138
330
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
139
331
|
i0.ɵɵconditional(ctx_r2.displayAsGrid ? 0 : 1);
|
|
140
332
|
} }
|
|
141
|
-
function
|
|
142
|
-
|
|
143
|
-
i0.ɵɵ
|
|
144
|
-
i0.ɵɵlistener("close", function GenericBrowserListComponent_kendo_dialog_23_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
|
|
145
|
-
i0.ɵɵelementStart(1, "p", 55);
|
|
146
|
-
i0.ɵɵtext(2);
|
|
147
|
-
i0.ɵɵelementStart(3, "b");
|
|
148
|
-
i0.ɵɵtext(4);
|
|
149
|
-
i0.ɵɵelementEnd()();
|
|
150
|
-
i0.ɵɵelementStart(5, "kendo-dialog-actions", 56)(6, "button", 57);
|
|
151
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_23_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(true)); });
|
|
152
|
-
i0.ɵɵtext(7, " Yes ");
|
|
333
|
+
function GenericBrowserListComponent_kendo_dialog_30_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
334
|
+
i0.ɵɵelementStart(0, "p", 81);
|
|
335
|
+
i0.ɵɵtext(1, "This action cannot be undone.");
|
|
153
336
|
i0.ɵɵelementEnd();
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
i0.ɵɵ
|
|
157
|
-
i0.ɵɵ
|
|
337
|
+
} }
|
|
338
|
+
function GenericBrowserListComponent_kendo_dialog_30_Template(rf, ctx) { if (rf & 1) {
|
|
339
|
+
const _r22 = i0.ɵɵgetCurrentView();
|
|
340
|
+
i0.ɵɵelementStart(0, "kendo-dialog", 77);
|
|
341
|
+
i0.ɵɵlistener("close", function GenericBrowserListComponent_kendo_dialog_30_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
|
|
342
|
+
i0.ɵɵelementStart(1, "div", 78)(2, "div", 79);
|
|
343
|
+
i0.ɵɵelement(3, "span", 80);
|
|
344
|
+
i0.ɵɵelementEnd();
|
|
345
|
+
i0.ɵɵelementStart(4, "p");
|
|
346
|
+
i0.ɵɵtext(5, " Are you sure you want to ");
|
|
347
|
+
i0.ɵɵelementStart(6, "strong");
|
|
348
|
+
i0.ɵɵtext(7);
|
|
349
|
+
i0.ɵɵelementEnd();
|
|
350
|
+
i0.ɵɵelementStart(8, "strong");
|
|
351
|
+
i0.ɵɵtext(9);
|
|
352
|
+
i0.ɵɵelementEnd();
|
|
353
|
+
i0.ɵɵtext(10, "? ");
|
|
354
|
+
i0.ɵɵelementEnd();
|
|
355
|
+
i0.ɵɵtemplate(11, GenericBrowserListComponent_kendo_dialog_30_Conditional_11_Template, 2, 0, "p", 81);
|
|
356
|
+
i0.ɵɵelementEnd();
|
|
357
|
+
i0.ɵɵelementStart(12, "kendo-dialog-actions", 82)(13, "kendo-button", 83);
|
|
358
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_30_Template_kendo_button_click_13_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
|
|
359
|
+
i0.ɵɵtext(14, " Cancel ");
|
|
360
|
+
i0.ɵɵelementEnd();
|
|
361
|
+
i0.ɵɵelementStart(15, "kendo-button", 84);
|
|
362
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_30_Template_kendo_button_click_15_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(true)); });
|
|
363
|
+
i0.ɵɵelementStart(16, "span", 64);
|
|
364
|
+
i0.ɵɵelement(17, "i", 8);
|
|
365
|
+
i0.ɵɵtext(18);
|
|
366
|
+
i0.ɵɵelementEnd()()()();
|
|
158
367
|
} if (rf & 2) {
|
|
159
368
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
160
|
-
i0.ɵɵproperty("minWidth",
|
|
369
|
+
i0.ɵɵproperty("minWidth", 400)("width", 500);
|
|
370
|
+
i0.ɵɵadvance(7);
|
|
371
|
+
i0.ɵɵtextInterpolate((ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) && (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.LinkPermissionLevel) === "Owner" || !(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) ? "delete" : "unlink");
|
|
161
372
|
i0.ɵɵadvance(2);
|
|
162
|
-
i0.ɵɵ
|
|
373
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.Name);
|
|
163
374
|
i0.ɵɵadvance(2);
|
|
164
|
-
i0.ɵɵ
|
|
375
|
+
i0.ɵɵconditional((ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) && (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.LinkPermissionLevel) === "Owner" || !(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) ? 11 : -1);
|
|
376
|
+
i0.ɵɵadvance(6);
|
|
377
|
+
i0.ɵɵproperty("ngClass", (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) && (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.LinkPermissionLevel) === "Owner" || !(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) ? "fas fa-trash" : "fas fa-link-slash");
|
|
378
|
+
i0.ɵɵadvance();
|
|
379
|
+
i0.ɵɵtextInterpolate1(" ", (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) && (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.LinkPermissionLevel) === "Owner" || !(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.IsLink) ? "Delete" : "Unlink", " ");
|
|
165
380
|
} }
|
|
166
|
-
function
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
i0.ɵɵ
|
|
171
|
-
i0.ɵɵ
|
|
172
|
-
i0.ɵɵ
|
|
173
|
-
i0.ɵɵelementStart(
|
|
174
|
-
i0.ɵɵ
|
|
175
|
-
i0.ɵɵ
|
|
176
|
-
i0.ɵɵ
|
|
177
|
-
i0.ɵɵ
|
|
178
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_24_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCreateFolderView()); });
|
|
179
|
-
i0.ɵɵtext(7, " Cancel ");
|
|
381
|
+
function GenericBrowserListComponent_kendo_dialog_31_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
382
|
+
i0.ɵɵelement(0, "i", 90);
|
|
383
|
+
} }
|
|
384
|
+
function GenericBrowserListComponent_kendo_dialog_31_Template(rf, ctx) { if (rf & 1) {
|
|
385
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
386
|
+
i0.ɵɵelementStart(0, "kendo-dialog", 85);
|
|
387
|
+
i0.ɵɵlistener("close", function GenericBrowserListComponent_kendo_dialog_31_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCreateFolderView()); });
|
|
388
|
+
i0.ɵɵelementStart(1, "div", 78)(2, "kendo-formfield", 86);
|
|
389
|
+
i0.ɵɵelement(3, "kendo-label", 87);
|
|
390
|
+
i0.ɵɵelementStart(4, "kendo-textbox", 88);
|
|
391
|
+
i0.ɵɵlistener("valueChange", function GenericBrowserListComponent_kendo_dialog_31_Template_kendo_textbox_valueChange_4_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCreateFolderKeyup($event)); });
|
|
392
|
+
i0.ɵɵtemplate(5, GenericBrowserListComponent_kendo_dialog_31_ng_template_5_Template, 1, 0, "ng-template", 17);
|
|
180
393
|
i0.ɵɵelementEnd()()();
|
|
394
|
+
i0.ɵɵelementStart(6, "kendo-dialog-actions", 82)(7, "kendo-button", 83);
|
|
395
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_31_Template_kendo_button_click_7_listener() { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCreateFolderView()); });
|
|
396
|
+
i0.ɵɵtext(8, " Cancel ");
|
|
397
|
+
i0.ɵɵelementEnd();
|
|
398
|
+
i0.ɵɵelementStart(9, "kendo-button", 63);
|
|
399
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_31_Template_kendo_button_click_9_listener() { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createFolder()); });
|
|
400
|
+
i0.ɵɵelementStart(10, "span", 64);
|
|
401
|
+
i0.ɵɵelement(11, "i", 89);
|
|
402
|
+
i0.ɵɵtext(12, " Create Folder ");
|
|
403
|
+
i0.ɵɵelementEnd()()()();
|
|
181
404
|
} if (rf & 2) {
|
|
182
|
-
i0.ɵɵproperty("minWidth",
|
|
405
|
+
i0.ɵɵproperty("minWidth", 350)("width", 450);
|
|
406
|
+
i0.ɵɵadvance(4);
|
|
407
|
+
i0.ɵɵproperty("clearButton", true);
|
|
183
408
|
} }
|
|
184
409
|
export class GenericBrowserListComponent {
|
|
185
410
|
sharedService;
|
|
@@ -606,15 +831,110 @@ export class GenericBrowserListComponent {
|
|
|
606
831
|
if (!item) {
|
|
607
832
|
return "";
|
|
608
833
|
}
|
|
609
|
-
const LargeClass = "fa-3x ";
|
|
610
834
|
if (item.Type === ItemType.Folder) {
|
|
611
|
-
return
|
|
835
|
+
return "fa-regular fa-folder";
|
|
836
|
+
}
|
|
837
|
+
const resourceType = this.resourceTypes.find(rt => rt.Entity === this.ItemEntityName);
|
|
838
|
+
if (resourceType && resourceType.Icon) {
|
|
839
|
+
return resourceType.Icon;
|
|
840
|
+
}
|
|
841
|
+
// Default icon if no resource type found
|
|
842
|
+
return "fa-solid fa-file";
|
|
843
|
+
}
|
|
844
|
+
getHeaderIconClass() {
|
|
845
|
+
// If viewing a specific folder
|
|
846
|
+
if (this.selectedFolderID) {
|
|
847
|
+
return "fa-regular fa-folder-open";
|
|
848
|
+
}
|
|
849
|
+
// Try to get icon from resource type
|
|
850
|
+
const resourceType = this.resourceTypes.find(rt => rt.Entity === this.ItemEntityName);
|
|
851
|
+
if (resourceType && resourceType.Icon) {
|
|
852
|
+
return resourceType.Icon;
|
|
853
|
+
}
|
|
854
|
+
// Default icons based on common types
|
|
855
|
+
switch (this.itemType?.toLowerCase()) {
|
|
856
|
+
case 'dashboard':
|
|
857
|
+
case 'dashboards':
|
|
858
|
+
return "fa-solid fa-chart-line";
|
|
859
|
+
case 'report':
|
|
860
|
+
case 'reports':
|
|
861
|
+
return "fa-solid fa-file-chart-column";
|
|
862
|
+
case 'query':
|
|
863
|
+
case 'queries':
|
|
864
|
+
return "fa-solid fa-database";
|
|
865
|
+
case 'view':
|
|
866
|
+
case 'views':
|
|
867
|
+
return "fa-solid fa-table";
|
|
868
|
+
case 'application':
|
|
869
|
+
case 'applications':
|
|
870
|
+
return "fa-solid fa-window-restore";
|
|
871
|
+
default:
|
|
872
|
+
return this.iconName || "fa-solid fa-th";
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
getResourceTypeLabel(item) {
|
|
876
|
+
if (item.Type === ItemType.Folder) {
|
|
877
|
+
return "Folder";
|
|
612
878
|
}
|
|
613
879
|
const resourceType = this.resourceTypes.find(rt => rt.Entity === this.ItemEntityName);
|
|
614
880
|
if (resourceType) {
|
|
615
|
-
return
|
|
881
|
+
return resourceType.Name;
|
|
882
|
+
}
|
|
883
|
+
// Return a formatted version of the item type or entity name
|
|
884
|
+
return this.itemType || "Resource";
|
|
885
|
+
}
|
|
886
|
+
getFormattedDate(date) {
|
|
887
|
+
if (!date)
|
|
888
|
+
return '';
|
|
889
|
+
const d = new Date(date);
|
|
890
|
+
const now = new Date();
|
|
891
|
+
const diffTime = Math.abs(now.getTime() - d.getTime());
|
|
892
|
+
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
|
893
|
+
if (diffDays === 0) {
|
|
894
|
+
return 'Today';
|
|
895
|
+
}
|
|
896
|
+
else if (diffDays === 1) {
|
|
897
|
+
return 'Yesterday';
|
|
898
|
+
}
|
|
899
|
+
else if (diffDays < 7) {
|
|
900
|
+
return `${diffDays} days ago`;
|
|
616
901
|
}
|
|
617
|
-
|
|
902
|
+
else if (diffDays < 30) {
|
|
903
|
+
const weeks = Math.floor(diffDays / 7);
|
|
904
|
+
return `${weeks} week${weeks > 1 ? 's' : ''} ago`;
|
|
905
|
+
}
|
|
906
|
+
else if (diffDays < 365) {
|
|
907
|
+
const months = Math.floor(diffDays / 30);
|
|
908
|
+
return `${months} month${months > 1 ? 's' : ''} ago`;
|
|
909
|
+
}
|
|
910
|
+
else {
|
|
911
|
+
return d.toLocaleDateString();
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
/**
|
|
915
|
+
* Safely gets a property from an item, checking both the item itself and its Data property
|
|
916
|
+
*/
|
|
917
|
+
getItemProperty(item, propertyName) {
|
|
918
|
+
// First check if the property exists directly on the item
|
|
919
|
+
// We need to cast to any to avoid TypeScript index signature errors
|
|
920
|
+
const itemAsAny = item;
|
|
921
|
+
if (itemAsAny && itemAsAny[propertyName] !== undefined) {
|
|
922
|
+
return itemAsAny[propertyName];
|
|
923
|
+
}
|
|
924
|
+
// Then check if it exists on the Data property
|
|
925
|
+
if (item && item.Data && item.Data[propertyName] !== undefined) {
|
|
926
|
+
return item.Data[propertyName];
|
|
927
|
+
}
|
|
928
|
+
// If Data is a BaseEntity, try using the Get method
|
|
929
|
+
if (item && item.Data && typeof item.Data.Get === 'function') {
|
|
930
|
+
try {
|
|
931
|
+
return item.Data.Get(propertyName);
|
|
932
|
+
}
|
|
933
|
+
catch (e) {
|
|
934
|
+
// Property doesn't exist
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
return null;
|
|
618
938
|
}
|
|
619
939
|
static ɵfac = function GenericBrowserListComponent_Factory(t) { return new (t || GenericBrowserListComponent)(i0.ɵɵdirectiveInject(i1.SharedService)); };
|
|
620
940
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GenericBrowserListComponent, selectors: [["app-generic-browser-list"]], viewQuery: function GenericBrowserListComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -622,60 +942,72 @@ export class GenericBrowserListComponent {
|
|
|
622
942
|
} if (rf & 2) {
|
|
623
943
|
let _t;
|
|
624
944
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityFormDialogRef = _t.first);
|
|
625
|
-
} }, inputs: { showLoader: "showLoader", itemType: "itemType", title: "title", items: "items", iconName: "iconName", disableEditButton: "disableEditButton", addText: "addText", backText: "backText", ItemEntityName: "ItemEntityName", CategoryEntityName: "CategoryEntityName", selectedFolderID: "selectedFolderID", showNotifications: "showNotifications", categoryEntityID: "categoryEntityID", displayAsGrid: "displayAsGrid", resourceName: "resourceName", viewingResource: "viewingResource", displayItemsAsList: "displayItemsAsList", extraDropdownOptions: "extraDropdownOptions" }, outputs: { BeforeAddFolderEvent: "BeforeAddFolderEvent", BeforeAddItemEvent: "BeforeAddItemEvent", BeforeDeleteFolderEvent: "BeforeDeleteFolderEvent", BeforeDeleteItemEvent: "BeforeDeleteItemEvent", BeforeUnlinkItemEvent: "BeforeUnlinkItemEvent", BeforeUpdateFolderEvent: "BeforeUpdateFolderEvent", BeforeUpdateItemEvent: "BeforeUpdateItemEvent", AfterAddFolderEvent: "AfterAddFolderEvent", AfterAddItemEvent: "AfterAddItemEvent", AfterDeleteFolderEvent: "AfterDeleteFolderEvent", AfterDeleteItemEvent: "AfterDeleteItemEvent", AfterUnlinkItemEvent: "AfterUnlinkItemEvent", AfterUpdateFolderEvent: "AfterUpdateFolderEvent", AfterUpdateItemEvent: "AfterUpdateItemEvent", NavigateToParentEvent: "NavigateToParentEvent", itemClickEvent: "itemClickEvent", backButtonClickEvent: "backButtonClickEvent", dropdownOptionClickEvent: "dropdownOptionClickEvent", viewModeChangeEvent: "viewModeChangeEvent" }, decls:
|
|
945
|
+
} }, inputs: { showLoader: "showLoader", itemType: "itemType", title: "title", items: "items", iconName: "iconName", disableEditButton: "disableEditButton", addText: "addText", backText: "backText", ItemEntityName: "ItemEntityName", CategoryEntityName: "CategoryEntityName", selectedFolderID: "selectedFolderID", showNotifications: "showNotifications", categoryEntityID: "categoryEntityID", displayAsGrid: "displayAsGrid", resourceName: "resourceName", viewingResource: "viewingResource", displayItemsAsList: "displayItemsAsList", extraDropdownOptions: "extraDropdownOptions" }, outputs: { BeforeAddFolderEvent: "BeforeAddFolderEvent", BeforeAddItemEvent: "BeforeAddItemEvent", BeforeDeleteFolderEvent: "BeforeDeleteFolderEvent", BeforeDeleteItemEvent: "BeforeDeleteItemEvent", BeforeUnlinkItemEvent: "BeforeUnlinkItemEvent", BeforeUpdateFolderEvent: "BeforeUpdateFolderEvent", BeforeUpdateItemEvent: "BeforeUpdateItemEvent", AfterAddFolderEvent: "AfterAddFolderEvent", AfterAddItemEvent: "AfterAddItemEvent", AfterDeleteFolderEvent: "AfterDeleteFolderEvent", AfterDeleteItemEvent: "AfterDeleteItemEvent", AfterUnlinkItemEvent: "AfterUnlinkItemEvent", AfterUpdateFolderEvent: "AfterUpdateFolderEvent", AfterUpdateItemEvent: "AfterUpdateItemEvent", NavigateToParentEvent: "NavigateToParentEvent", itemClickEvent: "itemClickEvent", backButtonClickEvent: "backButtonClickEvent", dropdownOptionClickEvent: "dropdownOptionClickEvent", viewModeChangeEvent: "viewModeChangeEvent" }, decls: 34, vars: 14, consts: [["searchInput", ""], ["entityFormDialog", ""], [1, "mj-page-container"], [1, "mj-content-container"], [1, "mj-header"], [1, "mj-header-title"], ["title", "Back to Parent", 1, "mj-btn-icon-only"], [1, "mj-header-icon"], [3, "ngClass"], [1, "mj-header-subtitle"], [1, "mj-header-actions"], ["themeColor", "primary", 1, "mj-btn-primary", 3, "itemClick", "data"], [1, "fa-solid", "fa-plus", "mj-btn-icon"], [1, "mj-btn-text"], [1, "mj-toolbar"], [1, "mj-search"], ["type", "text", "placeholder", "Search items...", "size", "medium", "rounded", "medium", "fillMode", "outline", 1, "mj-search-input", 3, "keyup", "clearButton"], ["kendoTextBoxPrefixTemplate", ""], [1, "mj-toolbar-actions"], ["kendoButton", "", "title", "Table View", "fillMode", "outline", "themeColor", "base", 3, "click", "toggleable", "selected"], [1, "fa-solid", "fa-table"], ["kendoButton", "", "title", "Card View", "fillMode", "outline", "themeColor", "base", 3, "click", "toggleable", "selected"], [1, "fa-solid", "fa-grip"], [1, "main-area"], ["class", "mj-loading", 4, "ngIf"], ["class", "mj-dialog-confirm", "title", "Confirm Action", 3, "minWidth", "width", "close", 4, "ngIf"], ["title", "Create New Folder", "class", "mj-dialog-form", 3, "minWidth", "width", "close", 4, "ngIf"], ["Mode", "complete"], ["title", "Back to Parent", 1, "mj-btn-icon-only", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [1, "fa-solid", "fa-folder-open"], [1, "fas", "fa-search", "search-prefix-icon"], [1, "mj-loading"], ["type", "converging-spinner"], [1, "mj-grid-table", 3, "kendoGridBinding"], [1, "mj-grid-table", 3, "cellClick", "kendoGridBinding"], ["field", "Name", "title", "Name"], ["kendoGridCellTemplate", ""], ["field", "Size", "title", "Size"], ["field", "LastOpened", "title", "Last Opened"], ["field", "ModifiedBy", "title", "Modified By"], ["field", "Type", "title", "Type"], ["title", "Actions"], [1, "mj-grid-name-cell"], [1, "mj-grid-name"], [1, "mj-grid-date"], ["label", "Folder", "rounded", "full", "themeColor", "info", "size", "small"], ["rounded", "full", "themeColor", "base", "size", "small", 3, "label"], [1, "mj-btn-icon-only", "mj-btn-sm", 3, "title"], ["title", "Edit Item", 1, "mj-btn-icon-only", "mj-btn-sm"], ["title", "Delete Item", 1, "mj-btn-icon-only", "mj-btn-sm"], ["title", "Remove Link", 1, "mj-btn-icon-only", "mj-btn-sm"], [1, "mj-btn-icon-only", "mj-btn-sm", 3, "click", "title"], ["title", "Edit Item", 1, "mj-btn-icon-only", "mj-btn-sm", 3, "click"], [1, "fa-regular", "fa-pen-to-square"], ["title", "Delete Item", 1, "mj-btn-icon-only", "mj-btn-sm", 3, "click"], [1, "fa-regular", "fa-trash-can"], ["title", "Remove Link", 1, "mj-btn-icon-only", "mj-btn-sm", 3, "click"], [1, "fa-solid", "fa-link-slash"], [1, "mj-empty-state"], [1, "mj-grid-responsive"], [1, "mj-empty-icon"], [1, "fa-regular", "fa-folder-open"], ["themeColor", "primary", "rounded", "medium", 3, "click"], [1, "button-content"], [1, "fas", "fa-plus"], [1, "mj-kendo-icon-card", "mj-kendo-icon-card-clickable"], [1, "mj-kendo-icon-card", "mj-kendo-icon-card-clickable", 3, "click"], [1, "mj-card-actions"], [1, "mj-icon-wrapper-linked", 3, "title"], [1, "mj-card-icon-large", 3, "ngClass", "title"], [1, "mj-card-metadata"], [1, "mj-card-icon-large", 3, "ngClass"], [1, "fa-solid", "fa-link", "mj-link-indicator"], [1, "mj-metadata-item"], [1, "fa-regular", "fa-clock"], [1, "fa-regular", "fa-user"], ["title", "Confirm Action", 1, "mj-dialog-confirm", 3, "close", "minWidth", "width"], [1, "mj-dialog-content"], [1, "mj-dialog-icon"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "mj-dialog-warning"], [1, "mj-dialog-actions"], ["fillMode", "outline", "rounded", "medium", 3, "click"], ["themeColor", "error", "rounded", "medium", 3, "click"], ["title", "Create New Folder", 1, "mj-dialog-form", 3, "close", "minWidth", "width"], ["orientation", "vertical"], ["text", "Folder Name"], ["placeholder", "Enter folder name...", "rounded", "medium", "fillMode", "outline", 3, "valueChange", "clearButton"], [1, "fas", "fa-folder-plus"], [1, "fas", "fa-folder", "search-prefix-icon"]], template: function GenericBrowserListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
626
946
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
627
947
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
|
|
628
|
-
i0.ɵɵtemplate(4, GenericBrowserListComponent_Conditional_4_Template, 2, 0);
|
|
629
|
-
i0.ɵɵelementStart(5, "
|
|
630
|
-
i0.ɵɵ
|
|
631
|
-
i0.ɵɵelementEnd()
|
|
632
|
-
i0.ɵɵelementStart(7, "
|
|
633
|
-
i0.ɵɵ
|
|
634
|
-
i0.ɵɵ
|
|
635
|
-
i0.ɵɵ
|
|
948
|
+
i0.ɵɵtemplate(4, GenericBrowserListComponent_Conditional_4_Template, 2, 0, "span", 6);
|
|
949
|
+
i0.ɵɵelementStart(5, "div", 7);
|
|
950
|
+
i0.ɵɵelement(6, "span", 8);
|
|
951
|
+
i0.ɵɵelementEnd();
|
|
952
|
+
i0.ɵɵelementStart(7, "div")(8, "h1");
|
|
953
|
+
i0.ɵɵtext(9);
|
|
954
|
+
i0.ɵɵelementEnd();
|
|
955
|
+
i0.ɵɵtemplate(10, GenericBrowserListComponent_Conditional_10_Template, 3, 0, "div", 9);
|
|
636
956
|
i0.ɵɵelementEnd()();
|
|
637
|
-
i0.ɵɵelementStart(
|
|
638
|
-
i0.ɵɵlistener("
|
|
639
|
-
i0.ɵɵ
|
|
957
|
+
i0.ɵɵelementStart(11, "div", 10)(12, "kendo-dropdownbutton", 11);
|
|
958
|
+
i0.ɵɵlistener("itemClick", function GenericBrowserListComponent_Template_kendo_dropdownbutton_itemClick_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropdownItemClick($event)); });
|
|
959
|
+
i0.ɵɵelement(13, "span", 12);
|
|
960
|
+
i0.ɵɵelementStart(14, "span", 13);
|
|
961
|
+
i0.ɵɵtext(15, "Create New");
|
|
962
|
+
i0.ɵɵelementEnd()()()();
|
|
963
|
+
i0.ɵɵelementStart(16, "div", 14)(17, "div", 15)(18, "kendo-textbox", 16, 0);
|
|
964
|
+
i0.ɵɵlistener("keyup", function GenericBrowserListComponent_Template_kendo_textbox_keyup_18_listener() { i0.ɵɵrestoreView(_r1); const searchInput_r4 = i0.ɵɵreference(19); return i0.ɵɵresetView(ctx.onKeyup(searchInput_r4.value)); });
|
|
965
|
+
i0.ɵɵtemplate(20, GenericBrowserListComponent_ng_template_20_Template, 1, 0, "ng-template", 17);
|
|
640
966
|
i0.ɵɵelementEnd()();
|
|
641
|
-
i0.ɵɵelementStart(
|
|
642
|
-
i0.ɵɵlistener("click", function
|
|
643
|
-
i0.ɵɵelement(
|
|
967
|
+
i0.ɵɵelementStart(21, "div", 18)(22, "kendo-buttongroup")(23, "button", 19);
|
|
968
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("grid")); });
|
|
969
|
+
i0.ɵɵelement(24, "span", 20);
|
|
644
970
|
i0.ɵɵelementEnd();
|
|
645
|
-
i0.ɵɵelementStart(
|
|
646
|
-
i0.ɵɵlistener("click", function
|
|
647
|
-
i0.ɵɵelement(
|
|
648
|
-
i0.ɵɵelementEnd()()();
|
|
649
|
-
i0.ɵɵelementStart(
|
|
650
|
-
i0.ɵɵtemplate(
|
|
971
|
+
i0.ɵɵelementStart(25, "button", 21);
|
|
972
|
+
i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("list")); });
|
|
973
|
+
i0.ɵɵelement(26, "span", 22);
|
|
974
|
+
i0.ɵɵelementEnd()()()();
|
|
975
|
+
i0.ɵɵelementStart(27, "div", 23);
|
|
976
|
+
i0.ɵɵtemplate(28, GenericBrowserListComponent_div_28_Template, 2, 0, "div", 24)(29, GenericBrowserListComponent_Conditional_29_Template, 2, 1);
|
|
651
977
|
i0.ɵɵelementEnd()();
|
|
652
|
-
i0.ɵɵtemplate(
|
|
653
|
-
i0.ɵɵelement(
|
|
978
|
+
i0.ɵɵtemplate(30, GenericBrowserListComponent_kendo_dialog_30_Template, 19, 7, "kendo-dialog", 25)(31, GenericBrowserListComponent_kendo_dialog_31_Template, 13, 3, "kendo-dialog", 26);
|
|
979
|
+
i0.ɵɵelement(32, "mj-entity-form-dialog", 27, 1);
|
|
654
980
|
i0.ɵɵelementEnd();
|
|
655
981
|
} if (rf & 2) {
|
|
656
982
|
i0.ɵɵadvance(4);
|
|
657
983
|
i0.ɵɵconditional(ctx.selectedFolderID ? 4 : -1);
|
|
658
984
|
i0.ɵɵadvance(2);
|
|
985
|
+
i0.ɵɵproperty("ngClass", ctx.getHeaderIconClass());
|
|
986
|
+
i0.ɵɵadvance(3);
|
|
659
987
|
i0.ɵɵtextInterpolate(ctx.title);
|
|
660
988
|
i0.ɵɵadvance();
|
|
989
|
+
i0.ɵɵconditional(ctx.selectedFolderID ? 10 : -1);
|
|
990
|
+
i0.ɵɵadvance(2);
|
|
661
991
|
i0.ɵɵproperty("data", ctx.dropdownOptions);
|
|
662
|
-
i0.ɵɵadvance(
|
|
992
|
+
i0.ɵɵadvance(6);
|
|
663
993
|
i0.ɵɵproperty("clearButton", true);
|
|
994
|
+
i0.ɵɵadvance(5);
|
|
995
|
+
i0.ɵɵproperty("toggleable", true)("selected", ctx.displayAsGrid);
|
|
664
996
|
i0.ɵɵadvance(2);
|
|
665
|
-
i0.ɵɵproperty("
|
|
666
|
-
i0.ɵɵadvance(
|
|
997
|
+
i0.ɵɵproperty("toggleable", true)("selected", !ctx.displayAsGrid);
|
|
998
|
+
i0.ɵɵadvance(3);
|
|
667
999
|
i0.ɵɵproperty("ngIf", ctx.showLoader);
|
|
668
1000
|
i0.ɵɵadvance();
|
|
669
|
-
i0.ɵɵconditional(!ctx.showLoader ?
|
|
1001
|
+
i0.ɵɵconditional(!ctx.showLoader ? 29 : -1);
|
|
670
1002
|
i0.ɵɵadvance();
|
|
671
1003
|
i0.ɵɵproperty("ngIf", ctx.deleteDialogOpened);
|
|
672
1004
|
i0.ɵɵadvance();
|
|
673
1005
|
i0.ɵɵproperty("ngIf", ctx.createFolderDialogOpened);
|
|
674
|
-
} }, dependencies: [i2.NgClass, i2.NgIf, i3.GridComponent, i3.DataBindingDirective, i3.ColumnComponent, i3.CellTemplateDirective, i4.DialogComponent, i4.DialogActionsComponent, i5.LoaderComponent, i6.ButtonComponent, i6.DropDownButtonComponent, i7.TextBoxComponent, i7.TextBoxPrefixTemplateDirective, i8.CardComponent, i8.CardBodyComponent, i8.CardTitleDirective, i8.CardSubtitleDirective, i9.EntityFormDialogComponent], styles: [".card-header-entity .title-wrap h1 {\n margin: 0 !important;\n font-size: 36px !important;\n line-height: 42px !important;\n color: var(--black) !important;\n}\n .card-header-entity .add-item .k-button {\n border: 1px solid var(--border-blue) !important;\n background: var(--white-color) !important;\n color: var(--border-blue);\n font-weight: 500 ;\n font-size: 16px ;\n border-radius: 10px;\n line-height: 34px;\n}\n .card-header-entity .add-item .k-button:hover {\n background: var(--border-blue) !important;\n color: var(--white-color);\n}\n .card-header-entity .add-item .k-button:hover .k-button-text svg path {\n fill: var(--white-color) !important;\n}\n .title-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper[_ngcontent-%COMP%] {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button {\n background: var(--border-blue);\n color: var(--white-color);\n font-size: 16px;\n border: none;\n padding: 8px 25px;\n border-radius: 10px;\n}\n .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button .k-button-text, .card-header-entity .add-item .k-button .k-button-text {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.btn-cmn[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active[_ngcontent-%COMP%] {\n border: 1px solid var(--border-blue);\n}\n .main-fav-wrapper .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n .main-area .card-list .card-wrapper .k-card-body {\n padding: 16px !important;\n position: relative;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon {\n position: absolute;\n display: flex;\n align-items: center;\n gap: 8px;\n top:12px;\n right: 12px;\n z-index: 9;\n}\n.grid-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon .common-btn, .list-btn[_ngcontent-%COMP%] {\n width: 38px;\n height: 38px;\n background: #000;\n min-width: 38px;\n border: 1px solid var(--gray-color);\n border-radius: 8px; \n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n cursor: pointer;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .k-card-body .list-item-icon:hover, .list-btn[_ngcontent-%COMP%]:hover {\n border: 1px solid var(--border-active);\n}\n\n\n .main-area .card-list .card-wrapper:hover {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border: 1px solid var(--border-active);\n}\n .main-area .card-list .card-wrapper:hover .k-card-body .view-card-content-list h5 {\n color: var(--border-blue);\n}\n .main-area .card-list .card-wrapper .k-card-body .view-card-content-list p {\n color: var(--sideNav);\n font-size: 14px;\n line-height: 16px;\n height: auto;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n\n}\n .main-area .card-list .card-wrapper .k-card-body .view-card-content-list h5 {\n font-size: 18px;\n line-height: 21px;\n color: var(--text-darked);\n font-weight: 600;\n}\n.breadcrumb-wrap[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 0;\n}\n.breadcrumb-wrap[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 16px;\n line-height: 18px;\n font-weight: 400;\n color: var(--black);\n}\n .k-menu-popup {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border-radius: 10px;\n padding: 16px;\n}\n\n .k-menu-popup kendo-button-list ul li .k-menu-link {\n box-shadow: none !important;\n} \n .k-menu-popup kendo-button-list ul li .k-menu-link:active {\n background: transparent !important;\n}\n .k-menu-popup kendo-button-list ul li .k-menu-link .k-menu-link-text:hover {\n color: var(--primary-color);\n background: transparent !important;\n\n}\n .dialog-wrapper .popup-actions-btn button {\n flex: 1;\n}\n .dialog-wrapper .popup-actions-btn {\n display: flex;\n}\n .dialog-wrapper .popup-actions-btn .cancel-btn {\n background: var(--primary-color);\n color: var(--white-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n border: 1px solid transparent;\n\n}\n .dialog-wrapper .popup-actions-btn .yes-btn {\n border:1px solid var(--primary-color);\n background: transparent;\n color: var(--primary-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n box-shadow: none;\n}\n .dialog-wrapper .popup-actions-btn .yes-btn:focus {\n box-shadow: none !important;\n}\n .dialog-wrapper .k-window-title {\n font-size: 30px;\n font-weight: 500;\n line-height: 36px;\n text-align: left;\n color: var(--text-darked);\n}\n .dialog-wrapper p {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n text-align: left;\n color: var(--black);\n}\n\n.margin-left-small[_ngcontent-%COMP%] {\n margin-left: 10px;\n}\n\n.card-wrapper[_ngcontent-%COMP%] {\n min-width: 230px;\n height: 150px;\n min-height: 125px;\n}\n\n.padding-top-small[_ngcontent-%COMP%] {\n padding-top: 10px;\n}\n\n.cursor-pointer[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.title-folder[_ngcontent-%COMP%] {\n padding-right: 20px;\n margin: auto;\n}\n\n.title-flex-display[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n\n.breadcrumb-icon[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n.breacrumb-icon[_ngcontent-%COMP%]:hover {\n color: var(--primary-color);\n}", ".main-area[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view[_ngcontent-%COMP%] {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n .list-view .k-listview-header, \n .list-view .k-listview-footer {\n border: none;\n}\n .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header[_ngcontent-%COMP%], \n.footer[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header[_ngcontent-%COMP%] {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\n color: var(--sideNav);\n}\n.card-wrapper[_ngcontent-%COMP%] {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container[_ngcontent-%COMP%] {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}"] });
|
|
1006
|
+
} }, dependencies: [i2.NgClass, i2.NgIf, i3.GridComponent, i3.DataBindingDirective, i3.ColumnComponent, i3.CellTemplateDirective, i4.DialogComponent, i4.DialogActionsComponent, i5.LoaderComponent, i6.ButtonGroupComponent, i6.ButtonComponent, i6.DropDownButtonComponent, i6.ChipComponent, i7.TextBoxComponent, i7.TextBoxPrefixTemplateDirective, i7.FormFieldComponent, i8.LabelComponent, i9.CardComponent, i9.CardBodyComponent, i10.EntityFormDialogComponent], styles: ["\n\n\n\n\n\n\n.mj-icon-wrapper-linked[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n\n.mj-link-indicator[_ngcontent-%COMP%] {\n position: absolute;\n bottom: -5px;\n right: -5px;\n font-size: 1.5rem;\n color: var(--mj-blue);\n background: var(--white-color);\n border-radius: 50%;\n padding: 2px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n}\n\n\n\n.mj-grid-name-cell[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n \n .mj-grid-icon {\n font-size: 1.25rem;\n color: var(--mj-blue);\n flex-shrink: 0;\n }\n \n .mj-grid-name {\n font-weight: 500;\n color: var(--navy);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .mj-grid-link-indicator {\n position: absolute;\n bottom: -4px;\n right: -4px;\n font-size: 0.75rem;\n color: var(--mj-blue);\n background: var(--white-color);\n border-radius: 50%;\n padding: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.mj-grid-date[_ngcontent-%COMP%] {\n color: var(--gray-800);\n font-size: 0.875rem;\n}\n\n\n\n.mj-card-metadata[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n justify-content: center;\n margin: 12px 0;\n font-size: 0.875rem;\n color: var(--gray-800);\n \n .mj-metadata-item {\n display: flex;\n align-items: center;\n gap: 6px;\n \n span:first-child {\n font-size: 0.875rem;\n color: var(--mj-blue);\n }\n }\n}\n\n\n\n.mj-card-actions[_ngcontent-%COMP%] {\n .fa-star {\n transition: all 0.2s ease;\n \n &.fa-solid {\n color: #ffc107;\n }\n \n &.fa-regular {\n color: var(--gray-800);\n }\n }\n \n button:hover .fa-star.fa-regular {\n color: #ffc107;\n }\n}\n\n\n\n .mj-grid-table {\n .mj-toolbar-actions {\n .mj-btn-icon-only {\n width: 32px;\n height: 32px;\n padding: 0;\n font-size: 14px;\n }\n }\n}"] });
|
|
675
1007
|
}
|
|
676
1008
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GenericBrowserListComponent, [{
|
|
677
1009
|
type: Component,
|
|
678
|
-
args: [{ selector: 'app-generic-browser-list', template: "\n<div class=\"generic-browser-list-container\">\n <div class=\"main-fav-wrapper\">\n <div class=\"title-wrapper\">\n <div class=\"title-flex-display\">\n @if(selectedFolderID){\n <span title=\"Parent\" class=\"title-folder fa-solid fa-arrow-left fa-2xl breadcrumb-icon\" (click)=\"goToParent()\"></span> \n <span title=\"Folder\" class=\"title-folder fa-regular fa-folder fa-2xl\"></span>\n }\n <h4>{{title}}</h4>\n </div>\n <kendo-dropdownbutton class=\"custom-dropdwn\" (itemClick)=\"onDropdownItemClick($event)\" [data]=\"dropdownOptions\" themeColor=\"info\">\n <span class=\"fa-solid fa-plus\"></span>\n Create New\n </kendo-dropdownbutton>\n </div>\n <div class=\"title-wrapper\">\n <div class=\"search\">\n <kendo-textbox \n type=\"text\" \n #searchInput \n placeholder=\"Search\" \n (keyup)=\"onKeyup(searchInput.value)\"\n [clearButton]=\"true\"\n size=\"large\"\n rounded=\"large\"\n fillMode=\"solid\"\n >\n <ng-template kendoTextBoxPrefixTemplate [showSeparator]=\"true\">\n <span class=\"fa-solid fa-magnifying-glass margin-left-small\"></span>\n </ng-template>\n </kendo-textbox>\n </div>\n <div class=\"filter-wrapper\">\n <!--\n <kendo-dropdownbutton [data]=\"data\" themeColor=\"primary\">\n Sort By Recents\n </kendo-dropdownbutton>\n -->\n <button kendobutton (click)=\"changeViewMode('grid')\" class=\"cursor-pointer grid-btn btn-cmn\">\n <span class=\"fa-solid fa-bars\"></span>\n </button>\n <button kendobutton (click)=\"changeViewMode('list')\" class=\"cursor-pointer active btn-cmn\">\n <span class=\"fa-solid fa-table-cells-large\"></span>\n </button>\n </div>\n </div>\n\n <div class=\"main-area\">\n <kendo-loader *ngIf=\"showLoader\" type=\"converging-spinner\"></kendo-loader>\n @if(!showLoader){\n @if(displayAsGrid){\n <kendo-grid (cellClick)=\"onCellItemClicked($event)\" [kendoGridBinding]=\"items\">\n <kendo-grid-column field=\"Name\" title=\"Name\"></kendo-grid-column>\n <kendo-grid-column field=\"Size\" title=\"Size\"></kendo-grid-column>\n <kendo-grid-column field=\"LastOpened\" title=\"Last Opened\"></kendo-grid-column>\n <kendo-grid-column field=\"ModifiedBy\" title=\"Modified By\"></kendo-grid-column>\n <kendo-grid-column title=\"\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <div class=\"grid-wrapper\">\n @if(disableEditButton){\n <button class=\"list-btn\" (click)=\"editItem(dataItem)\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n <button class=\"list-btn\" (click)=\"deleteItem(dataItem)\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button>\n </div>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n }\n @else{\n <div class=\"card-list k-d-flex k-flex-row k-h-full k-flex-wrap\">\n @for(item of items; track item){\n <kendo-card class=\"card-wrapper cursor-pointer\">\n <div class=\"list-item-icon\">\n @if(!disableEditButton && (!item.IsLink || item.LinkPermissionLevel === 'Owner' || item.LinkPermissionLevel === 'Edit')) {\n <button (click)=\"editItem(item)\" class=\"list-btn\" title=\"Edit Item\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n @if(!item.IsLink || item.LinkPermissionLevel === 'Owner') {\n <button (click)=\"deleteItem(item)\" class=\"list-btn\" title=\"Delete Item\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button> \n }\n @else if (item.IsLink) {\n <button (click)=\"unlinkItem(item)\" class=\"list-btn\" title=\"Remove Link to Shared Item\" >\n <span class=\"fa-solid fa-link-slash\" style=\"color: rgb(19, 92, 201);\"></span>\n </button> \n }\n </div>\n <kendo-card-body (click)=\"itemClick(item)\">\n @if(item.IsLink) {\n <i [title]=\"item.Name + '(Shared)'\" [ngClass]=\"getIconForResourceType(item)\" style=\"color: rgb(19, 92, 201);\"></i>\n }\n @else {\n <span [title]=\"item.Name\" [ngClass]=\"getIconForResourceType(item)\"></span>\n }\n <div class=\"padding-top-small\">\n <h5 kendoCardTitle>{{ item.Name }}</h5>\n <p kendoCardSubtitle>{{ item.Description }}</p>\n </div>\n </kendo-card-body>\n </kendo-card>\n }\n </div>\n }\n }\n </div>\n </div>\n\n <kendo-dialog \n [minWidth]=\"450\"\n [width]=\"650\"\n class=\"dialog-wrapper\" \n title=\"Confirm\" \n *ngIf=\"deleteDialogOpened\" \n (close)=\"onConfirmDeleteItem(false)\">\n <p class=\"k-m-7.5 k-text-center\">\n Are you sure you want to {{(selectedItem?.IsLink && selectedItem?.LinkPermissionLevel === 'Owner') || !selectedItem?.IsLink ? 'delete' : 'unlink'}} <b>{{selectedItem?.Name}}?</b>\n </p>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"cancel-btn\" (click)=\"onConfirmDeleteItem(true)\" kendoButton themeColor=\"info\">\n Yes\n </button>\n <button class=\"yes-btn\" (click)=\"onConfirmDeleteItem(false)\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n No \n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <kendo-dialog \n title=\"Create new folder\" \n *ngIf=\"createFolderDialogOpened\" \n (close)=\"toggleCreateFolderView()\"\n [minWidth]=\"250\"\n [width]=\"450\"\n class=\"dialog-wrapper\"\n >\n <div class=\"search\">\n <kendo-textbox placeholder=\"Enter a folder name\" (valueChange)=\"onCreateFolderKeyup($event)\"/>\n </div>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"cancel-btn\" (click)=\"createFolder()\" kendoButton themeColor=\"info\">\n Create\n </button>\n <button class=\"yes-btn\" (click)=\"toggleCreateFolderView()\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n <mj-entity-form-dialog\n #entityFormDialog\n Mode=\"complete\"\n >\n </mj-entity-form-dialog>\n</div>\n", styles: ["::ng-deep .card-header-entity .title-wrap h1 {\n margin: 0 !important;\n font-size: 36px !important;\n line-height: 42px !important;\n color: var(--black) !important;\n}\n ::ng-deep .card-header-entity .add-item .k-button {\n border: 1px solid var(--border-blue) !important;\n background: var(--white-color) !important;\n color: var(--border-blue);\n font-weight: 500 ;\n font-size: 16px ;\n border-radius: 10px;\n line-height: 34px;\n}\n::ng-deep .card-header-entity .add-item .k-button:hover {\n background: var(--border-blue) !important;\n color: var(--white-color);\n}\n::ng-deep .card-header-entity .add-item .k-button:hover .k-button-text svg path {\n fill: var(--white-color) !important;\n}\n .title-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper h4 {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper .search input {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper .search {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper .search svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n::ng-deep .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button {\n background: var(--border-blue);\n color: var(--white-color);\n font-size: 16px;\n border: none;\n padding: 8px 25px;\n border-radius: 10px;\n}\n::ng-deep .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button .k-button-text, ::ng-deep .card-header-entity .add-item .k-button .k-button-text {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.btn-cmn {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active {\n border: 1px solid var(--border-blue);\n}\n::ng-deep .main-fav-wrapper .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n::ng-deep .main-area .card-list .card-wrapper .k-card-body {\n padding: 16px !important;\n position: relative;\n}\n::ng-deep .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon {\n position: absolute;\n display: flex;\n align-items: center;\n gap: 8px;\n top:12px;\n right: 12px;\n z-index: 9;\n}\n.grid-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n::ng-deep .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon .common-btn, .list-btn {\n width: 38px;\n height: 38px;\n background: #000;\n min-width: 38px;\n border: 1px solid var(--gray-color);\n border-radius: 8px; \n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n cursor: pointer;\n}\n::ng-deep .main-fav-wrapper .main-area .card-list .card-wrapper .k-card-body .list-item-icon:hover, .list-btn:hover {\n border: 1px solid var(--border-active);\n}\n\n\n::ng-deep .main-area .card-list .card-wrapper:hover {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border: 1px solid var(--border-active);\n}\n::ng-deep .main-area .card-list .card-wrapper:hover .k-card-body .view-card-content-list h5 {\n color: var(--border-blue);\n}\n::ng-deep .main-area .card-list .card-wrapper .k-card-body .view-card-content-list p {\n color: var(--sideNav);\n font-size: 14px;\n line-height: 16px;\n height: auto;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n\n}\n::ng-deep .main-area .card-list .card-wrapper .k-card-body .view-card-content-list h5 {\n font-size: 18px;\n line-height: 21px;\n color: var(--text-darked);\n font-weight: 600;\n}\n.breadcrumb-wrap {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 0;\n}\n.breadcrumb-wrap span {\n font-size: 16px;\n line-height: 18px;\n font-weight: 400;\n color: var(--black);\n}\n::ng-deep .k-menu-popup {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border-radius: 10px;\n padding: 16px;\n}\n\n::ng-deep .k-menu-popup kendo-button-list ul li .k-menu-link {\n box-shadow: none !important;\n} \n::ng-deep .k-menu-popup kendo-button-list ul li .k-menu-link:active {\n background: transparent !important;\n}\n::ng-deep .k-menu-popup kendo-button-list ul li .k-menu-link .k-menu-link-text:hover {\n color: var(--primary-color);\n background: transparent !important;\n\n}\n::ng-deep .dialog-wrapper .popup-actions-btn button {\n flex: 1;\n}\n::ng-deep .dialog-wrapper .popup-actions-btn {\n display: flex;\n}\n::ng-deep .dialog-wrapper .popup-actions-btn .cancel-btn {\n background: var(--primary-color);\n color: var(--white-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n border: 1px solid transparent;\n\n}\n::ng-deep .dialog-wrapper .popup-actions-btn .yes-btn {\n border:1px solid var(--primary-color);\n background: transparent;\n color: var(--primary-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n box-shadow: none;\n}\n::ng-deep .dialog-wrapper .popup-actions-btn .yes-btn:focus {\n box-shadow: none !important;\n}\n::ng-deep .dialog-wrapper .k-window-title {\n font-size: 30px;\n font-weight: 500;\n line-height: 36px;\n text-align: left;\n color: var(--text-darked);\n}\n::ng-deep .dialog-wrapper p {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n text-align: left;\n color: var(--black);\n}\n\n.margin-left-small {\n margin-left: 10px;\n}\n\n.card-wrapper {\n min-width: 230px;\n height: 150px;\n min-height: 125px;\n}\n\n.padding-top-small {\n padding-top: 10px;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.title-folder {\n padding-right: 20px;\n margin: auto;\n}\n\n.title-flex-display {\n display: flex;\n flex-direction: row;\n}\n\n.breadcrumb-icon {\n cursor: pointer;\n}\n.breacrumb-icon:hover {\n color: var(--primary-color);\n}", "\n.main-area {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n::ng-deep .list-view .k-listview-header, \n::ng-deep .list-view .k-listview-footer {\n border: none;\n}\n::ng-deep .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header,\n.footer {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header .head-tag {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header .count {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card .view-icon {\n color: var(--sideNav);\n}\n.card-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper .k-card-body {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper .view-card {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card .btn-wrapper {\n display: flex;\n align-items: center;\n}\n\n.k-card-body .view-card-content h5 {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body .view-card-content p {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area .card-list {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}\n"] }]
|
|
1010
|
+
args: [{ selector: 'app-generic-browser-list', template: "<div class=\"mj-page-container\">\n <div class=\"mj-content-container\">\n \n <!-- Header Section -->\n <div class=\"mj-header\">\n <div class=\"mj-header-title\">\n @if(selectedFolderID){\n <span title=\"Back to Parent\" class=\"mj-btn-icon-only\" (click)=\"goToParent()\">\n <span class=\"fa-solid fa-arrow-left\"></span>\n </span>\n }\n <div class=\"mj-header-icon\">\n <span [ngClass]=\"getHeaderIconClass()\"></span>\n </div>\n <div>\n <h1>{{title}}</h1>\n @if(selectedFolderID){\n <div class=\"mj-header-subtitle\">\n <span class=\"fa-solid fa-folder-open\"></span>\n Current Folder\n </div>\n }\n </div>\n </div>\n \n <div class=\"mj-header-actions\">\n <kendo-dropdownbutton \n class=\"mj-btn-primary\" \n (itemClick)=\"onDropdownItemClick($event)\" \n [data]=\"dropdownOptions\" \n themeColor=\"primary\">\n <span class=\"fa-solid fa-plus mj-btn-icon\"></span>\n <span class=\"mj-btn-text\">Create New</span>\n </kendo-dropdownbutton>\n </div>\n </div>\n\n <!-- Toolbar Section -->\n <div class=\"mj-toolbar\">\n <div class=\"mj-search\">\n <kendo-textbox \n class=\"mj-search-input\"\n type=\"text\" \n #searchInput \n placeholder=\"Search items...\" \n (keyup)=\"onKeyup(searchInput.value)\"\n [clearButton]=\"true\"\n size=\"medium\"\n rounded=\"medium\"\n fillMode=\"outline\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fas fa-search search-prefix-icon\"></i>\n </ng-template>\n </kendo-textbox>\n </div>\n \n <div class=\"mj-toolbar-actions\">\n <kendo-buttongroup>\n <button kendoButton \n [toggleable]=\"true\" \n [selected]=\"displayAsGrid\"\n (click)=\"changeViewMode('grid')\" \n title=\"Table View\"\n fillMode=\"outline\"\n themeColor=\"base\">\n <span class=\"fa-solid fa-table\"></span>\n </button>\n <button kendoButton \n [toggleable]=\"true\" \n [selected]=\"!displayAsGrid\"\n (click)=\"changeViewMode('list')\" \n title=\"Card View\"\n fillMode=\"outline\"\n themeColor=\"base\">\n <span class=\"fa-solid fa-grip\"></span>\n </button>\n </kendo-buttongroup>\n </div>\n </div>\n\n <!-- Main Content Area -->\n <div class=\"main-area\">\n <!-- Loading State -->\n <div class=\"mj-loading\" *ngIf=\"showLoader\">\n <kendo-loader type=\"converging-spinner\"></kendo-loader>\n </div>\n \n @if(!showLoader){\n <!-- Grid View -->\n @if(displayAsGrid){\n <kendo-grid \n class=\"mj-grid-table\"\n (cellClick)=\"onCellItemClicked($event)\" \n [kendoGridBinding]=\"items\">\n <kendo-grid-column field=\"Name\" title=\"Name\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <div class=\"mj-grid-name-cell\"> \n <span class=\"mj-grid-name\">{{ dataItem.Name }}</span>\n </div>\n </ng-template>\n </kendo-grid-column>\n <kendo-grid-column field=\"Size\" title=\"Size\"></kendo-grid-column>\n <kendo-grid-column field=\"LastOpened\" title=\"Last Opened\">\n <ng-template kendoGridCellTemplate let-dataItem>\n @if(getItemProperty(dataItem, 'LastOpened')) {\n <span class=\"mj-grid-date\">{{ getFormattedDate(getItemProperty(dataItem, 'LastOpened')) }}</span>\n }\n </ng-template>\n </kendo-grid-column>\n <kendo-grid-column field=\"ModifiedBy\" title=\"Modified By\">\n <ng-template kendoGridCellTemplate let-dataItem>\n {{ getItemProperty(dataItem, 'ModifiedBy') || '' }}\n </ng-template>\n </kendo-grid-column>\n <kendo-grid-column field=\"Type\" title=\"Type\">\n <ng-template kendoGridCellTemplate let-dataItem>\n @if(dataItem.Type === 'Folder') {\n <kendo-chip \n label=\"Folder\" \n rounded=\"full\"\n themeColor=\"info\"\n size=\"small\">\n </kendo-chip>\n }\n @else if(dataItem.Type === 'Resource') {\n <kendo-chip \n [label]=\"getResourceTypeLabel(dataItem)\" \n rounded=\"full\"\n themeColor=\"base\"\n size=\"small\">\n </kendo-chip>\n }\n </ng-template>\n </kendo-grid-column>\n <kendo-grid-column title=\"Actions\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <div class=\"mj-toolbar-actions\">\n @if(dataItem.Favorite !== undefined) {\n <button class=\"mj-btn-icon-only mj-btn-sm\" \n (click)=\"SetFavoriteStatus(dataItem); $event.stopPropagation()\" \n [title]=\"dataItem.Favorite ? 'Remove from favorites' : 'Add to favorites'\">\n <span [ngClass]=\"dataItem.Favorite ? 'fa-solid fa-star' : 'fa-regular fa-star'\"></span>\n </button>\n }\n @if(!disableEditButton && (!dataItem.IsLink || dataItem.LinkPermissionLevel === 'Owner' || dataItem.LinkPermissionLevel === 'Edit')) {\n <button class=\"mj-btn-icon-only mj-btn-sm\" (click)=\"editItem(dataItem)\" title=\"Edit Item\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n @if(!dataItem.IsLink || dataItem.LinkPermissionLevel === 'Owner') {\n <button class=\"mj-btn-icon-only mj-btn-sm\" (click)=\"deleteItem(dataItem)\" title=\"Delete Item\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button>\n }\n @else if (dataItem.IsLink) {\n <button class=\"mj-btn-icon-only mj-btn-sm\" (click)=\"unlinkItem(dataItem)\" title=\"Remove Link\">\n <span class=\"fa-solid fa-link-slash\"></span>\n </button>\n }\n </div>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n }\n \n <!-- Card View -->\n @else{\n <!-- Empty State -->\n @if(items.length === 0){\n <div class=\"mj-empty-state\">\n <div class=\"mj-empty-icon\">\n <span class=\"fa-regular fa-folder-open\"></span>\n </div>\n <h3>No items found</h3>\n <p>This folder is empty or no items match your search criteria.</p>\n <kendo-button themeColor=\"primary\" rounded=\"medium\" (click)=\"onDropdownItemClick({text: 'Folder'})\">\n <span class=\"button-content\">\n <i class=\"fas fa-plus\"></i>\n Create Your First Item\n </span>\n </kendo-button>\n </div>\n }\n \n <!-- Cards Grid -->\n @else{\n <div class=\"mj-grid-responsive\">\n @for(item of items; track item){\n <kendo-card class=\"mj-kendo-icon-card mj-kendo-icon-card-clickable\" (click)=\"itemClick(item)\">\n <!-- Card Actions -->\n <div class=\"mj-card-actions\">\n @if(item.Favorite !== undefined) {\n <button class=\"mj-btn-icon-only mj-btn-sm\" \n (click)=\"SetFavoriteStatus(item); $event.stopPropagation()\" \n [title]=\"item.Favorite ? 'Remove from favorites' : 'Add to favorites'\">\n <span [ngClass]=\"item.Favorite ? 'fa-solid fa-star' : 'fa-regular fa-star'\"></span>\n </button>\n }\n @if(!disableEditButton && (!item.IsLink || item.LinkPermissionLevel === 'Owner' || item.LinkPermissionLevel === 'Edit')) {\n <button class=\"mj-btn-icon-only mj-btn-sm\" (click)=\"editItem(item); $event.stopPropagation()\" title=\"Edit Item\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n @if(!item.IsLink || item.LinkPermissionLevel === 'Owner') {\n <button class=\"mj-btn-icon-only mj-btn-sm\" (click)=\"deleteItem(item); $event.stopPropagation()\" title=\"Delete Item\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button>\n }\n @else if (item.IsLink) {\n <button class=\"mj-btn-icon-only mj-btn-sm\" (click)=\"unlinkItem(item); $event.stopPropagation()\" title=\"Remove Link\">\n <span class=\"fa-solid fa-link-slash\"></span>\n </button>\n }\n </div>\n \n <!-- Card Body -->\n <kendo-card-body>\n @if(item.IsLink) {\n <div class=\"mj-icon-wrapper-linked\" [title]=\"item.Name + ' (Shared)'\">\n <span [ngClass]=\"getIconForResourceType(item)\" class=\"mj-card-icon-large\"></span>\n <span class=\"fa-solid fa-link mj-link-indicator\"></span>\n </div>\n }\n @else {\n <span [ngClass]=\"getIconForResourceType(item)\" class=\"mj-card-icon-large\" [title]=\"item.Name\"></span>\n }\n \n <h3>{{ item.Name }}</h3>\n <p>{{ item.Description || 'No description available' }}</p>\n \n <!-- Resource metadata -->\n @if(getItemProperty(item, 'LastOpened') || getItemProperty(item, 'ModifiedBy')) {\n <div class=\"mj-card-metadata\">\n @if(getItemProperty(item, 'LastOpened')) {\n <div class=\"mj-metadata-item\">\n <span class=\"fa-regular fa-clock\"></span>\n <span>{{ getFormattedDate(getItemProperty(item, 'LastOpened')) }}</span>\n </div>\n }\n @if(getItemProperty(item, 'ModifiedBy')) {\n <div class=\"mj-metadata-item\">\n <span class=\"fa-regular fa-user\"></span>\n <span>{{ getItemProperty(item, 'ModifiedBy') }}</span>\n </div>\n }\n </div>\n }\n \n <!-- Type chip -->\n @if(item.Type === 'Folder') {\n <kendo-chip \n label=\"Folder\" \n rounded=\"full\"\n themeColor=\"info\"\n size=\"small\">\n </kendo-chip>\n }\n @else if(item.Type === 'Resource') {\n <kendo-chip \n [label]=\"getResourceTypeLabel(item)\" \n rounded=\"full\"\n themeColor=\"base\"\n size=\"small\">\n </kendo-chip>\n }\n </kendo-card-body>\n </kendo-card>\n }\n </div>\n }\n }\n }\n </div>\n </div>\n\n <!-- Delete Confirmation Dialog -->\n <kendo-dialog \n [minWidth]=\"400\"\n [width]=\"500\"\n class=\"mj-dialog-confirm\" \n title=\"Confirm Action\" \n *ngIf=\"deleteDialogOpened\" \n (close)=\"onConfirmDeleteItem(false)\">\n \n <div class=\"mj-dialog-content\">\n <div class=\"mj-dialog-icon\">\n <span class=\"fa-solid fa-triangle-exclamation\"></span>\n </div>\n <p>\n Are you sure you want to \n <strong>{{(selectedItem?.IsLink && selectedItem?.LinkPermissionLevel === 'Owner') || !selectedItem?.IsLink ? 'delete' : 'unlink'}}</strong> \n <strong>{{selectedItem?.Name}}</strong>?\n </p>\n @if((selectedItem?.IsLink && selectedItem?.LinkPermissionLevel === 'Owner') || !selectedItem?.IsLink){\n <p class=\"mj-dialog-warning\">This action cannot be undone.</p>\n }\n </div>\n \n <kendo-dialog-actions class=\"mj-dialog-actions\">\n <kendo-button fillMode=\"outline\" rounded=\"medium\" (click)=\"onConfirmDeleteItem(false)\">\n Cancel\n </kendo-button>\n <kendo-button themeColor=\"error\" rounded=\"medium\" (click)=\"onConfirmDeleteItem(true)\">\n <span class=\"button-content\">\n <i [ngClass]=\"(selectedItem?.IsLink && selectedItem?.LinkPermissionLevel === 'Owner') || !selectedItem?.IsLink ? 'fas fa-trash' : 'fas fa-link-slash'\"></i>\n {{(selectedItem?.IsLink && selectedItem?.LinkPermissionLevel === 'Owner') || !selectedItem?.IsLink ? 'Delete' : 'Unlink'}}\n </span>\n </kendo-button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <!-- Create Folder Dialog -->\n <kendo-dialog \n title=\"Create New Folder\" \n *ngIf=\"createFolderDialogOpened\" \n (close)=\"toggleCreateFolderView()\"\n [minWidth]=\"350\"\n [width]=\"450\"\n class=\"mj-dialog-form\">\n \n <div class=\"mj-dialog-content\">\n <kendo-formfield orientation=\"vertical\">\n <kendo-label text=\"Folder Name\"></kendo-label>\n <kendo-textbox \n placeholder=\"Enter folder name...\" \n (valueChange)=\"onCreateFolderKeyup($event)\"\n rounded=\"medium\"\n fillMode=\"outline\"\n [clearButton]=\"true\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fas fa-folder search-prefix-icon\"></i>\n </ng-template>\n </kendo-textbox>\n </kendo-formfield>\n </div>\n \n <kendo-dialog-actions class=\"mj-dialog-actions\">\n <kendo-button fillMode=\"outline\" rounded=\"medium\" (click)=\"toggleCreateFolderView()\">\n Cancel\n </kendo-button>\n <kendo-button themeColor=\"primary\" rounded=\"medium\" (click)=\"createFolder()\">\n <span class=\"button-content\">\n <i class=\"fas fa-folder-plus\"></i>\n Create Folder\n </span>\n </kendo-button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <!-- Entity Form Dialog -->\n <mj-entity-form-dialog\n #entityFormDialog\n Mode=\"complete\">\n </mj-entity-form-dialog>\n</div>", styles: ["/* ===================================\n GENERIC BROWSER LIST SPECIFIC STYLES\n =================================== */\n\n/* Link indicator for shared items */\n.mj-icon-wrapper-linked {\n position: relative;\n display: inline-block;\n}\n\n.mj-link-indicator {\n position: absolute;\n bottom: -5px;\n right: -5px;\n font-size: 1.5rem;\n color: var(--mj-blue);\n background: var(--white-color);\n border-radius: 50%;\n padding: 2px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n}\n\n/* Grid specific cells for this component */\n.mj-grid-name-cell {\n display: flex;\n align-items: center;\n gap: 10px;\n \n .mj-grid-icon {\n font-size: 1.25rem;\n color: var(--mj-blue);\n flex-shrink: 0;\n }\n \n .mj-grid-name {\n font-weight: 500;\n color: var(--navy);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .mj-grid-link-indicator {\n position: absolute;\n bottom: -4px;\n right: -4px;\n font-size: 0.75rem;\n color: var(--mj-blue);\n background: var(--white-color);\n border-radius: 50%;\n padding: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n }\n}\n\n.mj-grid-date {\n color: var(--gray-800);\n font-size: 0.875rem;\n}\n\n/* Card metadata section specific to this component */\n.mj-card-metadata {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n justify-content: center;\n margin: 12px 0;\n font-size: 0.875rem;\n color: var(--gray-800);\n \n .mj-metadata-item {\n display: flex;\n align-items: center;\n gap: 6px;\n \n span:first-child {\n font-size: 0.875rem;\n color: var(--mj-blue);\n }\n }\n}\n\n/* Favorite star specific styling */\n.mj-card-actions {\n .fa-star {\n transition: all 0.2s ease;\n \n &.fa-solid {\n color: #ffc107;\n }\n \n &.fa-regular {\n color: var(--gray-800);\n }\n }\n \n button:hover .fa-star.fa-regular {\n color: #ffc107;\n }\n}\n\n/* Action buttons in grid cells - specific sizing for this component */\n::ng-deep .mj-grid-table {\n .mj-toolbar-actions {\n .mj-btn-icon-only {\n width: 32px;\n height: 32px;\n padding: 0;\n font-size: 14px;\n }\n }\n}\n"] }]
|
|
679
1011
|
}], () => [{ type: i1.SharedService }], { entityFormDialogRef: [{
|
|
680
1012
|
type: ViewChild,
|
|
681
1013
|
args: ['entityFormDialog']
|