@memberjunction/ng-explorer-core 2.52.0 → 2.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/app-routing.module.d.ts.map +1 -1
  2. package/dist/app-routing.module.js +2 -0
  3. package/dist/app-routing.module.js.map +1 -1
  4. package/dist/lib/app-view/application-view.component.js +108 -76
  5. package/dist/lib/app-view/application-view.component.js.map +1 -1
  6. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +38 -37
  7. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -1
  8. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +41 -39
  9. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  10. package/dist/lib/data-browser-component/data-browser.component.js +99 -60
  11. package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
  12. package/dist/lib/favorites/favorites.component.js +2 -2
  13. package/dist/lib/generic/resource-container-component.js +5 -5
  14. package/dist/lib/generic/resource-container-component.js.map +1 -1
  15. package/dist/lib/generic-browse-list/generic-browse-list.component.js +57 -58
  16. package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
  17. package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +7 -0
  18. package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +1 -1
  19. package/dist/lib/generic-browser-list/generic-browser-list.component.js +475 -143
  20. package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
  21. package/dist/lib/header/header.component.d.ts +6 -0
  22. package/dist/lib/header/header.component.d.ts.map +1 -1
  23. package/dist/lib/header/header.component.js +98 -41
  24. package/dist/lib/header/header.component.js.map +1 -1
  25. package/dist/lib/home-component/home.component.d.ts +5 -0
  26. package/dist/lib/home-component/home.component.d.ts.map +1 -1
  27. package/dist/lib/home-component/home.component.js +137 -33
  28. package/dist/lib/home-component/home.component.js.map +1 -1
  29. package/dist/lib/list-view/list-view.component.js +55 -28
  30. package/dist/lib/list-view/list-view.component.js.map +1 -1
  31. package/dist/lib/navigation/navigation.component.js +33 -42
  32. package/dist/lib/navigation/navigation.component.js.map +1 -1
  33. package/dist/lib/query-browser-component/query-browser.component.js +2 -2
  34. package/dist/lib/report-browser-component/report-browser.component.js +2 -2
  35. package/dist/lib/resource-browser/resource-browser.component.js +297 -177
  36. package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
  37. package/dist/lib/resource-wrappers/dashboard-resource.component.js +4 -5
  38. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  39. package/dist/lib/resource-wrappers/record-resource.component.js +6 -7
  40. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  41. package/dist/lib/services/startup-validation.service.d.ts +25 -0
  42. package/dist/lib/services/startup-validation.service.d.ts.map +1 -0
  43. package/dist/lib/services/startup-validation.service.js +85 -0
  44. package/dist/lib/services/startup-validation.service.js.map +1 -0
  45. package/dist/lib/services/system-validation.service.d.ts +40 -0
  46. package/dist/lib/services/system-validation.service.d.ts.map +1 -0
  47. package/dist/lib/services/system-validation.service.js +68 -0
  48. package/dist/lib/services/system-validation.service.js.map +1 -0
  49. package/dist/lib/single-application/single-application.component.js +2 -2
  50. package/dist/lib/single-entity/single-entity.component.js +2 -2
  51. package/dist/lib/single-list-detail/single-list-detail.component.js +2 -2
  52. package/dist/lib/single-query/single-query.component.js +4 -5
  53. package/dist/lib/single-query/single-query.component.js.map +1 -1
  54. package/dist/lib/single-report/single-report.component.js +4 -5
  55. package/dist/lib/single-report/single-report.component.js.map +1 -1
  56. package/dist/lib/single-view/single-view.component.js +7 -8
  57. package/dist/lib/single-view/single-view.component.js.map +1 -1
  58. package/dist/lib/style-guide-test/style-guide-test.component.d.ts +70 -0
  59. package/dist/lib/style-guide-test/style-guide-test.component.d.ts.map +1 -0
  60. package/dist/lib/style-guide-test/style-guide-test.component.js +1017 -0
  61. package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -0
  62. package/dist/lib/system-validation/system-validation-banner.component.d.ts +16 -0
  63. package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -0
  64. package/dist/lib/system-validation/system-validation-banner.component.js +156 -0
  65. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -0
  66. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +22 -22
  67. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
  68. package/dist/lib/user-notifications/user-notifications.component.js +141 -91
  69. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  70. package/dist/module.d.ts +42 -40
  71. package/dist/module.d.ts.map +1 -1
  72. package/dist/module.js +38 -10
  73. package/dist/module.js.map +1 -1
  74. package/dist/public-api.d.ts +3 -0
  75. package/dist/public-api.d.ts.map +1 -1
  76. package/dist/public-api.js +4 -0
  77. package/dist/public-api.js.map +1 -1
  78. 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-layout";
16
- import * as i9 from "@memberjunction/ng-entity-form-dialog";
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);
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 GenericBrowserListComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelement(0, "span", 23);
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 GenericBrowserListComponent_kendo_loader_21_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "kendo-loader", 24);
32
+ function GenericBrowserListComponent_ng_template_20_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelement(0, "i", 31);
30
34
  } }
31
- function GenericBrowserListComponent_Conditional_22_Conditional_0_ng_template_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
32
- const _r7 = i0.ɵɵgetCurrentView();
33
- i0.ɵɵelementStart(0, "button", 36);
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 GenericBrowserListComponent_Conditional_22_Conditional_0_ng_template_6_Template(rf, ctx) { if (rf & 1) {
39
- const _r6 = i0.ɵɵgetCurrentView();
40
- i0.ɵɵelementStart(0, "div", 34);
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.ɵɵconditional(ctx_r2.disableEditButton ? 1 : -1);
57
+ i0.ɵɵtextInterpolate(ctx_r2.getFormattedDate(ctx_r2.getItemProperty(dataItem_r7, "LastOpened")));
50
58
  } }
51
- function GenericBrowserListComponent_Conditional_22_Conditional_0_Template(rf, ctx) { if (rf & 1) {
52
- const _r5 = i0.ɵɵgetCurrentView();
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 ctx_r2 = i0.ɵɵnextContext(2);
61
- i0.ɵɵproperty("kendoGridBinding", ctx_r2.items);
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 GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
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", 50);
66
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const item_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editItem(item_r11)); });
67
- i0.ɵɵelement(1, "span", 38);
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 GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
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", 51);
73
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const item_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteItem(item_r11)); });
74
- i0.ɵɵelement(1, "span", 37);
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 GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
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", 52);
80
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const item_r11 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.unlinkItem(item_r11)); });
81
- i0.ɵɵelement(1, "span", 53);
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 GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵelement(0, "i", 45);
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 item_r11 = i0.ɵɵnextContext().$implicit;
127
+ const dataItem_r11 = ctx.$implicit;
88
128
  const ctx_r2 = i0.ɵɵnextContext(3);
89
- i0.ɵɵproperty("title", item_r11.Name + "(Shared)")("ngClass", ctx_r2.getIconForResourceType(item_r11));
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 GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
92
- i0.ɵɵelement(0, "span", 46);
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 item_r11 = i0.ɵɵnextContext().$implicit;
95
- const ctx_r2 = i0.ɵɵnextContext(3);
96
- i0.ɵɵproperty("title", item_r11.Name)("ngClass", ctx_r2.getIconForResourceType(item_r11));
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 GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
99
- const _r9 = i0.ɵɵgetCurrentView();
100
- i0.ɵɵelementStart(0, "kendo-card", 39)(1, "div", 40);
101
- i0.ɵɵtemplate(2, GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_2_Template, 2, 0, "button", 41)(3, GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_3_Template, 2, 0, "button", 42)(4, GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_4_Template, 2, 0, "button", 43);
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
- i0.ɵɵelementStart(5, "kendo-card-body", 44);
104
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Template_kendo_card_body_click_5_listener() { const item_r11 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.itemClick(item_r11)); });
105
- i0.ɵɵtemplate(6, GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_6_Template, 1, 2, "i", 45)(7, GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Conditional_7_Template, 1, 2, "span", 46);
106
- i0.ɵɵelementStart(8, "div", 47)(9, "h5", 48);
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", 49);
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 item_r11 = ctx.$implicit;
114
- const ctx_r2 = i0.ɵɵnextContext(3);
293
+ const item_r17 = ctx.$implicit;
294
+ const ctx_r2 = i0.ɵɵnextContext(4);
115
295
  i0.ɵɵadvance(2);
116
- i0.ɵɵconditional(!ctx_r2.disableEditButton && (!item_r11.IsLink || item_r11.LinkPermissionLevel === "Owner" || item_r11.LinkPermissionLevel === "Edit") ? 2 : -1);
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(!item_r11.IsLink || item_r11.LinkPermissionLevel === "Owner" ? 3 : item_r11.IsLink ? 4 : -1);
300
+ i0.ɵɵconditional(!item_r17.IsLink || item_r17.LinkPermissionLevel === "Owner" ? 4 : item_r17.IsLink ? 5 : -1);
119
301
  i0.ɵɵadvance(3);
120
- i0.ɵɵconditional(item_r11.IsLink ? 6 : 7);
121
- i0.ɵɵadvance(4);
122
- i0.ɵɵtextInterpolate(item_r11.Name);
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(item_r11.Description);
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 GenericBrowserListComponent_Conditional_22_Conditional_1_Template(rf, ctx) { if (rf & 1) {
127
- i0.ɵɵelementStart(0, "div", 26);
128
- i0.ɵɵrepeaterCreate(1, GenericBrowserListComponent_Conditional_22_Conditional_1_For_2_Template, 13, 5, "kendo-card", 39, i0.ɵɵrepeaterTrackByIdentity);
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(2);
317
+ const ctx_r2 = i0.ɵɵnextContext(3);
132
318
  i0.ɵɵadvance();
133
319
  i0.ɵɵrepeater(ctx_r2.items);
134
320
  } }
135
- function GenericBrowserListComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_22_Conditional_0_Template, 7, 1, "kendo-grid", 25)(1, GenericBrowserListComponent_Conditional_22_Conditional_1_Template, 3, 0, "div", 26);
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 GenericBrowserListComponent_kendo_dialog_23_Template(rf, ctx) { if (rf & 1) {
142
- const _r14 = i0.ɵɵgetCurrentView();
143
- i0.ɵɵelementStart(0, "kendo-dialog", 54);
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
- i0.ɵɵelementStart(8, "button", 58);
155
- i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_23_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
156
- i0.ɵɵtext(9, " No ");
157
- i0.ɵɵelementEnd()()();
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", 450)("width", 650);
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.ɵɵtextInterpolate1(" Are you sure you want to ", (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", " ");
373
+ i0.ɵɵtextInterpolate(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.Name);
163
374
  i0.ɵɵadvance(2);
164
- i0.ɵɵtextInterpolate1("", ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.Name, "?");
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 GenericBrowserListComponent_kendo_dialog_24_Template(rf, ctx) { if (rf & 1) {
167
- const _r15 = i0.ɵɵgetCurrentView();
168
- i0.ɵɵelementStart(0, "kendo-dialog", 59);
169
- i0.ɵɵlistener("close", function GenericBrowserListComponent_kendo_dialog_24_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCreateFolderView()); });
170
- i0.ɵɵelementStart(1, "div", 8)(2, "kendo-textbox", 60);
171
- i0.ɵɵlistener("valueChange", function GenericBrowserListComponent_kendo_dialog_24_Template_kendo_textbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCreateFolderKeyup($event)); });
172
- i0.ɵɵelementEnd()();
173
- i0.ɵɵelementStart(3, "kendo-dialog-actions", 56)(4, "button", 57);
174
- i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_24_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createFolder()); });
175
- i0.ɵɵtext(5, " Create ");
176
- i0.ɵɵelementEnd();
177
- i0.ɵɵelementStart(6, "button", 58);
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", 250)("width", 450);
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 LargeClass + "fa-regular fa-folder";
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 LargeClass + resourceType.Icon; // + rotateStyle;
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
- return "";
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: 27, vars: 9, consts: [["searchInput", ""], ["entityFormDialog", ""], [1, "generic-browser-list-container"], [1, "main-fav-wrapper"], [1, "title-wrapper"], [1, "title-flex-display"], ["themeColor", "info", 1, "custom-dropdwn", 3, "itemClick", "data"], [1, "fa-solid", "fa-plus"], [1, "search"], ["type", "text", "placeholder", "Search", "size", "large", "rounded", "large", "fillMode", "solid", 3, "keyup", "clearButton"], ["kendoTextBoxPrefixTemplate", "", 3, "showSeparator"], [1, "filter-wrapper"], ["kendobutton", "", 1, "cursor-pointer", "grid-btn", "btn-cmn", 3, "click"], [1, "fa-solid", "fa-bars"], ["kendobutton", "", 1, "cursor-pointer", "active", "btn-cmn", 3, "click"], [1, "fa-solid", "fa-table-cells-large"], [1, "main-area"], ["type", "converging-spinner", 4, "ngIf"], ["class", "dialog-wrapper", "title", "Confirm", 3, "minWidth", "width", "close", 4, "ngIf"], ["title", "Create new folder", "class", "dialog-wrapper", 3, "minWidth", "width", "close", 4, "ngIf"], ["Mode", "complete"], ["title", "Parent", 1, "title-folder", "fa-solid", "fa-arrow-left", "fa-2xl", "breadcrumb-icon", 3, "click"], ["title", "Folder", 1, "title-folder", "fa-regular", "fa-folder", "fa-2xl"], [1, "fa-solid", "fa-magnifying-glass", "margin-left-small"], ["type", "converging-spinner"], [3, "kendoGridBinding"], [1, "card-list", "k-d-flex", "k-flex-row", "k-h-full", "k-flex-wrap"], [3, "cellClick", "kendoGridBinding"], ["field", "Name", "title", "Name"], ["field", "Size", "title", "Size"], ["field", "LastOpened", "title", "Last Opened"], ["field", "ModifiedBy", "title", "Modified By"], ["title", ""], ["kendoGridCellTemplate", ""], [1, "grid-wrapper"], [1, "list-btn"], [1, "list-btn", 3, "click"], [1, "fa-regular", "fa-trash-can"], [1, "fa-regular", "fa-pen-to-square"], [1, "card-wrapper", "cursor-pointer"], [1, "list-item-icon"], ["title", "Edit Item", 1, "list-btn"], ["title", "Delete Item", 1, "list-btn"], ["title", "Remove Link to Shared Item", 1, "list-btn"], [3, "click"], [2, "color", "rgb(19, 92, 201)", 3, "title", "ngClass"], [3, "title", "ngClass"], [1, "padding-top-small"], ["kendoCardTitle", ""], ["kendoCardSubtitle", ""], ["title", "Edit Item", 1, "list-btn", 3, "click"], ["title", "Delete Item", 1, "list-btn", 3, "click"], ["title", "Remove Link to Shared Item", 1, "list-btn", 3, "click"], [1, "fa-solid", "fa-link-slash", 2, "color", "rgb(19, 92, 201)"], ["title", "Confirm", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], [1, "k-m-7.5", "k-text-center"], [1, "popup-actions-btn"], ["kendoButton", "", "themeColor", "info", 1, "cancel-btn", 3, "click"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 1, "yes-btn", 3, "click"], ["title", "Create new folder", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], ["placeholder", "Enter a folder name", 3, "valueChange"]], template: function GenericBrowserListComponent_Template(rf, ctx) { if (rf & 1) {
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, "h4");
630
- i0.ɵɵtext(6);
631
- i0.ɵɵelementEnd()();
632
- i0.ɵɵelementStart(7, "kendo-dropdownbutton", 6);
633
- i0.ɵɵlistener("itemClick", function GenericBrowserListComponent_Template_kendo_dropdownbutton_itemClick_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropdownItemClick($event)); });
634
- i0.ɵɵelement(8, "span", 7);
635
- i0.ɵɵtext(9, " Create New ");
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(10, "div", 4)(11, "div", 8)(12, "kendo-textbox", 9, 0);
638
- i0.ɵɵlistener("keyup", function GenericBrowserListComponent_Template_kendo_textbox_keyup_12_listener() { i0.ɵɵrestoreView(_r1); const searchInput_r4 = i0.ɵɵreference(13); return i0.ɵɵresetView(ctx.onKeyup(searchInput_r4.value)); });
639
- i0.ɵɵtemplate(14, GenericBrowserListComponent_ng_template_14_Template, 1, 0, "ng-template", 10);
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(15, "div", 11)(16, "button", 12);
642
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("grid")); });
643
- i0.ɵɵelement(17, "span", 13);
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(18, "button", 14);
646
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("list")); });
647
- i0.ɵɵelement(19, "span", 15);
648
- i0.ɵɵelementEnd()()();
649
- i0.ɵɵelementStart(20, "div", 16);
650
- i0.ɵɵtemplate(21, GenericBrowserListComponent_kendo_loader_21_Template, 1, 0, "kendo-loader", 17)(22, GenericBrowserListComponent_Conditional_22_Template, 2, 1);
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(23, GenericBrowserListComponent_kendo_dialog_23_Template, 10, 4, "kendo-dialog", 18)(24, GenericBrowserListComponent_kendo_dialog_24_Template, 8, 2, "kendo-dialog", 19);
653
- i0.ɵɵelement(25, "mj-entity-form-dialog", 20, 1);
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(5);
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("showSeparator", true);
666
- i0.ɵɵadvance(7);
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 ? 22 : -1);
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']