@memberjunction/ng-explorer-core 4.0.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -726
- package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +11 -29
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts +71 -14
- package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.js +195 -54
- package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.js +0 -6
- package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +5 -1
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +28 -17
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +9 -0
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +43 -2
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/user-menu/base-user-menu.d.ts.map +1 -1
- package/dist/lib/user-menu/base-user-menu.js +2 -13
- package/dist/lib/user-menu/base-user-menu.js.map +1 -1
- package/package.json +35 -35
- package/dist/generic/Events.types.d.ts +0 -174
- package/dist/generic/Events.types.d.ts.map +0 -1
- package/dist/generic/Events.types.js +0 -220
- package/dist/generic/Events.types.js.map +0 -1
- package/dist/lib/app-view/application-view.component.d.ts +0 -65
- package/dist/lib/app-view/application-view.component.d.ts.map +0 -1
- package/dist/lib/app-view/application-view.component.js +0 -611
- package/dist/lib/app-view/application-view.component.js.map +0 -1
- package/dist/lib/auth-button/auth-button.component.d.ts +0 -13
- package/dist/lib/auth-button/auth-button.component.d.ts.map +0 -1
- package/dist/lib/auth-button/auth-button.component.js +0 -36
- package/dist/lib/auth-button/auth-button.component.js.map +0 -1
- package/dist/lib/base-browser-component/base-browser-component.d.ts +0 -44
- package/dist/lib/base-browser-component/base-browser-component.d.ts.map +0 -1
- package/dist/lib/base-browser-component/base-browser-component.js +0 -195
- package/dist/lib/base-browser-component/base-browser-component.js.map +0 -1
- package/dist/lib/chat-wrapper/chat-wrapper.component.d.ts +0 -54
- package/dist/lib/chat-wrapper/chat-wrapper.component.d.ts.map +0 -1
- package/dist/lib/chat-wrapper/chat-wrapper.component.js +0 -257
- package/dist/lib/chat-wrapper/chat-wrapper.component.js.map +0 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +0 -32
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts.map +0 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +0 -244
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +0 -1
- package/dist/lib/data-browser-component/data-browser.component.d.ts +0 -23
- package/dist/lib/data-browser-component/data-browser.component.d.ts.map +0 -1
- package/dist/lib/data-browser-component/data-browser.component.js +0 -267
- package/dist/lib/data-browser-component/data-browser.component.js.map +0 -1
- package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts +0 -21
- package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts.map +0 -1
- package/dist/lib/expansion-panel-component/expansion-panel-component.js +0 -158
- package/dist/lib/expansion-panel-component/expansion-panel-component.js.map +0 -1
- package/dist/lib/favorites/favorites.component.d.ts +0 -15
- package/dist/lib/favorites/favorites.component.d.ts.map +0 -1
- package/dist/lib/favorites/favorites.component.js +0 -135
- package/dist/lib/favorites/favorites.component.js.map +0 -1
- package/dist/lib/files/files.component.d.ts +0 -10
- package/dist/lib/files/files.component.d.ts.map +0 -1
- package/dist/lib/files/files.component.js +0 -41
- package/dist/lib/files/files.component.js.map +0 -1
- package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts +0 -30
- package/dist/lib/generic-browse-list/generic-browse-list.component.d.ts.map +0 -1
- package/dist/lib/generic-browse-list/generic-browse-list.component.js +0 -171
- package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +0 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +0 -120
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +0 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +0 -1093
- package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +0 -1
- package/dist/lib/header/MSFT_UserImageService.d.ts +0 -12
- package/dist/lib/header/MSFT_UserImageService.d.ts.map +0 -1
- package/dist/lib/header/MSFT_UserImageService.js +0 -25
- package/dist/lib/header/MSFT_UserImageService.js.map +0 -1
- package/dist/lib/header/header.component.d.ts +0 -69
- package/dist/lib/header/header.component.d.ts.map +0 -1
- package/dist/lib/header/header.component.js +0 -342
- package/dist/lib/header/header.component.js.map +0 -1
- package/dist/lib/home-component/home.component.d.ts +0 -22
- package/dist/lib/home-component/home.component.d.ts.map +0 -1
- package/dist/lib/home-component/home.component.js +0 -194
- package/dist/lib/home-component/home.component.js.map +0 -1
- package/dist/lib/home-wrapper/home-wrapper.component.d.ts +0 -7
- package/dist/lib/home-wrapper/home-wrapper.component.d.ts.map +0 -1
- package/dist/lib/home-wrapper/home-wrapper.component.js +0 -30
- package/dist/lib/home-wrapper/home-wrapper.component.js.map +0 -1
- package/dist/lib/list-view/list-view.component.d.ts +0 -45
- package/dist/lib/list-view/list-view.component.d.ts.map +0 -1
- package/dist/lib/list-view/list-view.component.js +0 -329
- package/dist/lib/list-view/list-view.component.js.map +0 -1
- package/dist/lib/navigation/navigation.component.d.ts +0 -142
- package/dist/lib/navigation/navigation.component.d.ts.map +0 -1
- package/dist/lib/navigation/navigation.component.js +0 -1212
- package/dist/lib/navigation/navigation.component.js.map +0 -1
- package/dist/lib/query-browser-component/query-browser.component.d.ts +0 -75
- package/dist/lib/query-browser-component/query-browser.component.d.ts.map +0 -1
- package/dist/lib/query-browser-component/query-browser.component.js +0 -908
- package/dist/lib/query-browser-component/query-browser.component.js.map +0 -1
- package/dist/lib/report-browser-component/report-browser.component.d.ts +0 -22
- package/dist/lib/report-browser-component/report-browser.component.d.ts.map +0 -1
- package/dist/lib/report-browser-component/report-browser.component.js +0 -80
- package/dist/lib/report-browser-component/report-browser.component.js.map +0 -1
- package/dist/lib/resource-browser/resource-browser.component.d.ts +0 -178
- package/dist/lib/resource-browser/resource-browser.component.d.ts.map +0 -1
- package/dist/lib/resource-browser/resource-browser.component.js +0 -1012
- package/dist/lib/resource-browser/resource-browser.component.js.map +0 -1
- package/dist/lib/resource-wrappers/report-resource.component.d.ts +0 -13
- package/dist/lib/resource-wrappers/report-resource.component.d.ts.map +0 -1
- package/dist/lib/resource-wrappers/report-resource.component.js +0 -49
- package/dist/lib/resource-wrappers/report-resource.component.js.map +0 -1
- package/dist/lib/shared/custom-icon/custom-icon.component.d.ts +0 -11
- package/dist/lib/shared/custom-icon/custom-icon.component.d.ts.map +0 -1
- package/dist/lib/shared/custom-icon/custom-icon.component.js +0 -44
- package/dist/lib/shared/custom-icon/custom-icon.component.js.map +0 -1
- package/dist/lib/single-application/single-application.component.d.ts +0 -24
- package/dist/lib/single-application/single-application.component.d.ts.map +0 -1
- package/dist/lib/single-application/single-application.component.js +0 -122
- package/dist/lib/single-application/single-application.component.js.map +0 -1
- package/dist/lib/single-entity/single-entity.component.d.ts +0 -34
- package/dist/lib/single-entity/single-entity.component.d.ts.map +0 -1
- package/dist/lib/single-entity/single-entity.component.js +0 -245
- package/dist/lib/single-entity/single-entity.component.js.map +0 -1
- package/dist/lib/single-report/single-report.component.d.ts +0 -17
- package/dist/lib/single-report/single-report.component.d.ts.map +0 -1
- package/dist/lib/single-report/single-report.component.js +0 -55
- package/dist/lib/single-report/single-report.component.js.map +0 -1
- package/dist/lib/single-view/single-view.component.d.ts +0 -43
- package/dist/lib/single-view/single-view.component.d.ts.map +0 -1
- package/dist/lib/single-view/single-view.component.js +0 -207
- package/dist/lib/single-view/single-view.component.js.map +0 -1
- package/dist/lib/style-guide-test/style-guide-test.component.d.ts +0 -70
- package/dist/lib/style-guide-test/style-guide-test.component.d.ts.map +0 -1
- package/dist/lib/style-guide-test/style-guide-test.component.js +0 -1024
- package/dist/lib/style-guide-test/style-guide-test.component.js.map +0 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts +0 -46
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts.map +0 -1
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +0 -547
- package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +0 -1
|
@@ -1,1093 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { SharedService } from '@memberjunction/ng-shared';
|
|
3
|
-
import { Folder, Item, ItemType } from '../../generic/Item.types';
|
|
4
|
-
import { Metadata, KeyValuePair, RunView, CompositeKey } from '@memberjunction/core';
|
|
5
|
-
import { AfterAddFolderEvent, AfterAddItemEvent, AfterDeleteFolderEvent, AfterDeleteItemEvent, AfterUnlinkItemEvent, BeforeAddFolderEvent, BeforeAddItemEvent, BeforeDeleteFolderEvent, BeforeDeleteItemEvent, BeforeUnlinkItemEvent, BeforeUpdateFolderEvent, BeforeUpdateItemEvent, DropdownOptionClickEvent } from '../../generic/Events.types';
|
|
6
|
-
import { Subject, debounceTime } from 'rxjs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@memberjunction/ng-shared";
|
|
9
|
-
import * as i2 from "@angular/common";
|
|
10
|
-
import * as i3 from "@progress/kendo-angular-grid";
|
|
11
|
-
import * as i4 from "@progress/kendo-angular-dialog";
|
|
12
|
-
import * as i5 from "@progress/kendo-angular-buttons";
|
|
13
|
-
import * as i6 from "@progress/kendo-angular-inputs";
|
|
14
|
-
import * as i7 from "@progress/kendo-angular-label";
|
|
15
|
-
import * as i8 from "@progress/kendo-angular-layout";
|
|
16
|
-
import * as i9 from "@memberjunction/ng-entity-form-dialog";
|
|
17
|
-
import * as i10 from "@memberjunction/ng-shared-generic";
|
|
18
|
-
const _c0 = ["entityFormDialog"];
|
|
19
|
-
function GenericBrowserListComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
21
|
-
i0.ɵɵelementStart(0, "span", 28);
|
|
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);
|
|
24
|
-
i0.ɵɵelementEnd();
|
|
25
|
-
} }
|
|
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();
|
|
31
|
-
} }
|
|
32
|
-
function GenericBrowserListComponent_ng_template_20_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
-
i0.ɵɵelement(0, "i", 31);
|
|
34
|
-
} }
|
|
35
|
-
function GenericBrowserListComponent_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
-
i0.ɵɵelementStart(0, "div", 32);
|
|
37
|
-
i0.ɵɵelement(1, "mj-loading", 33);
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
} if (rf & 2) {
|
|
40
|
-
i0.ɵɵadvance();
|
|
41
|
-
i0.ɵɵproperty("showText", false);
|
|
42
|
-
} }
|
|
43
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
-
i0.ɵɵelementStart(0, "div", 43)(1, "span", 44);
|
|
45
|
-
i0.ɵɵtext(2);
|
|
46
|
-
i0.ɵɵelementEnd()();
|
|
47
|
-
} if (rf & 2) {
|
|
48
|
-
const dataItem_r6 = ctx.$implicit;
|
|
49
|
-
i0.ɵɵadvance(2);
|
|
50
|
-
i0.ɵɵtextInterpolate(dataItem_r6.Name);
|
|
51
|
-
} }
|
|
52
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
-
i0.ɵɵelementStart(0, "span", 45);
|
|
54
|
-
i0.ɵɵtext(1);
|
|
55
|
-
i0.ɵɵelementEnd();
|
|
56
|
-
} if (rf & 2) {
|
|
57
|
-
const dataItem_r7 = i0.ɵɵnextContext().$implicit;
|
|
58
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
59
|
-
i0.ɵɵadvance();
|
|
60
|
-
i0.ɵɵtextInterpolate(ctx_r2.getFormattedDate(ctx_r2.getItemProperty(dataItem_r7, "LastOpened")));
|
|
61
|
-
} }
|
|
62
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
-
i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Conditional_0_Template, 2, 1, "span", 45);
|
|
64
|
-
} if (rf & 2) {
|
|
65
|
-
const dataItem_r7 = ctx.$implicit;
|
|
66
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
67
|
-
i0.ɵɵconditional(ctx_r2.getItemProperty(dataItem_r7, "LastOpened") ? 0 : -1);
|
|
68
|
-
} }
|
|
69
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
70
|
-
i0.ɵɵtext(0);
|
|
71
|
-
} if (rf & 2) {
|
|
72
|
-
const dataItem_r8 = ctx.$implicit;
|
|
73
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
74
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.getItemProperty(dataItem_r8, "ModifiedBy") || "", " ");
|
|
75
|
-
} }
|
|
76
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
-
i0.ɵɵelement(0, "kendo-chip", 46);
|
|
78
|
-
} }
|
|
79
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
-
i0.ɵɵelement(0, "kendo-chip", 47);
|
|
81
|
-
} if (rf & 2) {
|
|
82
|
-
const dataItem_r9 = i0.ɵɵnextContext().$implicit;
|
|
83
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
84
|
-
i0.ɵɵproperty("label", ctx_r2.getResourceTypeLabel(dataItem_r9));
|
|
85
|
-
} }
|
|
86
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
-
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);
|
|
88
|
-
} if (rf & 2) {
|
|
89
|
-
const dataItem_r9 = ctx.$implicit;
|
|
90
|
-
i0.ɵɵconditional(dataItem_r9.Type === "Folder" ? 0 : dataItem_r9.Type === "Resource" ? 1 : -1);
|
|
91
|
-
} }
|
|
92
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
-
const _r10 = i0.ɵɵgetCurrentView();
|
|
94
|
-
i0.ɵɵelementStart(0, "button", 52);
|
|
95
|
-
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()); });
|
|
96
|
-
i0.ɵɵelement(1, "span", 8);
|
|
97
|
-
i0.ɵɵelementEnd();
|
|
98
|
-
} if (rf & 2) {
|
|
99
|
-
const dataItem_r11 = i0.ɵɵnextContext().$implicit;
|
|
100
|
-
i0.ɵɵproperty("title", dataItem_r11.Favorite ? "Remove from favorites" : "Add to favorites");
|
|
101
|
-
i0.ɵɵadvance();
|
|
102
|
-
i0.ɵɵproperty("ngClass", dataItem_r11.Favorite ? "fa-solid fa-star" : "fa-regular fa-star");
|
|
103
|
-
} }
|
|
104
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
-
const _r12 = i0.ɵɵgetCurrentView();
|
|
106
|
-
i0.ɵɵelementStart(0, "button", 53);
|
|
107
|
-
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)); });
|
|
108
|
-
i0.ɵɵelement(1, "span", 54);
|
|
109
|
-
i0.ɵɵelementEnd();
|
|
110
|
-
} }
|
|
111
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
112
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
|
113
|
-
i0.ɵɵelementStart(0, "button", 55);
|
|
114
|
-
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)); });
|
|
115
|
-
i0.ɵɵelement(1, "span", 56);
|
|
116
|
-
i0.ɵɵelementEnd();
|
|
117
|
-
} }
|
|
118
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
119
|
-
const _r14 = i0.ɵɵgetCurrentView();
|
|
120
|
-
i0.ɵɵelementStart(0, "button", 57);
|
|
121
|
-
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)); });
|
|
122
|
-
i0.ɵɵelement(1, "span", 58);
|
|
123
|
-
i0.ɵɵelementEnd();
|
|
124
|
-
} }
|
|
125
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
-
i0.ɵɵelementStart(0, "div", 18);
|
|
127
|
-
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);
|
|
128
|
-
i0.ɵɵelementEnd();
|
|
129
|
-
} if (rf & 2) {
|
|
130
|
-
const dataItem_r11 = ctx.$implicit;
|
|
131
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
132
|
-
i0.ɵɵadvance();
|
|
133
|
-
i0.ɵɵconditional(dataItem_r11.Favorite !== undefined ? 1 : -1);
|
|
134
|
-
i0.ɵɵadvance();
|
|
135
|
-
i0.ɵɵconditional(!ctx_r2.disableEditButton && (!dataItem_r11.IsLink || dataItem_r11.LinkPermissionLevel === "Owner" || dataItem_r11.LinkPermissionLevel === "Edit") ? 2 : -1);
|
|
136
|
-
i0.ɵɵadvance();
|
|
137
|
-
i0.ɵɵconditional(!dataItem_r11.IsLink || dataItem_r11.LinkPermissionLevel === "Owner" ? 3 : dataItem_r11.IsLink ? 4 : -1);
|
|
138
|
-
} }
|
|
139
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
140
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
141
|
-
i0.ɵɵelementStart(0, "kendo-grid", 35);
|
|
142
|
-
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)); });
|
|
143
|
-
i0.ɵɵelementStart(1, "kendo-grid-column", 36);
|
|
144
|
-
i0.ɵɵtemplate(2, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_2_Template, 3, 1, "ng-template", 37);
|
|
145
|
-
i0.ɵɵelementEnd();
|
|
146
|
-
i0.ɵɵelement(3, "kendo-grid-column", 38);
|
|
147
|
-
i0.ɵɵelementStart(4, "kendo-grid-column", 39);
|
|
148
|
-
i0.ɵɵtemplate(5, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_5_Template, 1, 1, "ng-template", 37);
|
|
149
|
-
i0.ɵɵelementEnd();
|
|
150
|
-
i0.ɵɵelementStart(6, "kendo-grid-column", 40);
|
|
151
|
-
i0.ɵɵtemplate(7, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_7_Template, 1, 1, "ng-template", 37);
|
|
152
|
-
i0.ɵɵelementEnd();
|
|
153
|
-
i0.ɵɵelementStart(8, "kendo-grid-column", 41);
|
|
154
|
-
i0.ɵɵtemplate(9, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_9_Template, 2, 1, "ng-template", 37);
|
|
155
|
-
i0.ɵɵelementEnd();
|
|
156
|
-
i0.ɵɵelementStart(10, "kendo-grid-column", 42);
|
|
157
|
-
i0.ɵɵtemplate(11, GenericBrowserListComponent_Conditional_29_Conditional_0_ng_template_11_Template, 5, 3, "ng-template", 37);
|
|
158
|
-
i0.ɵɵelementEnd()();
|
|
159
|
-
} if (rf & 2) {
|
|
160
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
161
|
-
i0.ɵɵproperty("kendoGridBinding", ctx_r2.items);
|
|
162
|
-
} }
|
|
163
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
164
|
-
const _r15 = i0.ɵɵgetCurrentView();
|
|
165
|
-
i0.ɵɵelementStart(0, "div", 59)(1, "div", 61);
|
|
166
|
-
i0.ɵɵelement(2, "span", 62);
|
|
167
|
-
i0.ɵɵelementEnd();
|
|
168
|
-
i0.ɵɵelementStart(3, "h3");
|
|
169
|
-
i0.ɵɵtext(4, "No items found");
|
|
170
|
-
i0.ɵɵelementEnd();
|
|
171
|
-
i0.ɵɵelementStart(5, "p");
|
|
172
|
-
i0.ɵɵtext(6, "This folder is empty or no items match your search criteria.");
|
|
173
|
-
i0.ɵɵelementEnd();
|
|
174
|
-
i0.ɵɵelementStart(7, "button", 63);
|
|
175
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick({ text: "Folder" })); });
|
|
176
|
-
i0.ɵɵelementStart(8, "span", 64);
|
|
177
|
-
i0.ɵɵelement(9, "i", 65);
|
|
178
|
-
i0.ɵɵtext(10, " Create Your First Item ");
|
|
179
|
-
i0.ɵɵelementEnd()()();
|
|
180
|
-
} }
|
|
181
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
182
|
-
const _r18 = i0.ɵɵgetCurrentView();
|
|
183
|
-
i0.ɵɵelementStart(0, "button", 52);
|
|
184
|
-
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()); });
|
|
185
|
-
i0.ɵɵelement(1, "span", 8);
|
|
186
|
-
i0.ɵɵelementEnd();
|
|
187
|
-
} if (rf & 2) {
|
|
188
|
-
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
189
|
-
i0.ɵɵproperty("title", item_r17.Favorite ? "Remove from favorites" : "Add to favorites");
|
|
190
|
-
i0.ɵɵadvance();
|
|
191
|
-
i0.ɵɵproperty("ngClass", item_r17.Favorite ? "fa-solid fa-star" : "fa-regular fa-star");
|
|
192
|
-
} }
|
|
193
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
194
|
-
const _r19 = i0.ɵɵgetCurrentView();
|
|
195
|
-
i0.ɵɵelementStart(0, "button", 53);
|
|
196
|
-
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()); });
|
|
197
|
-
i0.ɵɵelement(1, "span", 54);
|
|
198
|
-
i0.ɵɵelementEnd();
|
|
199
|
-
} }
|
|
200
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
201
|
-
const _r20 = i0.ɵɵgetCurrentView();
|
|
202
|
-
i0.ɵɵelementStart(0, "button", 55);
|
|
203
|
-
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()); });
|
|
204
|
-
i0.ɵɵelement(1, "span", 56);
|
|
205
|
-
i0.ɵɵelementEnd();
|
|
206
|
-
} }
|
|
207
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
-
const _r21 = i0.ɵɵgetCurrentView();
|
|
209
|
-
i0.ɵɵelementStart(0, "button", 57);
|
|
210
|
-
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()); });
|
|
211
|
-
i0.ɵɵelement(1, "span", 58);
|
|
212
|
-
i0.ɵɵelementEnd();
|
|
213
|
-
} }
|
|
214
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
215
|
-
i0.ɵɵelementStart(0, "div", 69);
|
|
216
|
-
i0.ɵɵelement(1, "span", 72)(2, "span", 73);
|
|
217
|
-
i0.ɵɵelementEnd();
|
|
218
|
-
} if (rf & 2) {
|
|
219
|
-
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
220
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
221
|
-
i0.ɵɵproperty("title", item_r17.Name + " (Shared)");
|
|
222
|
-
i0.ɵɵadvance();
|
|
223
|
-
i0.ɵɵproperty("ngClass", ctx_r2.getIconForResourceType(item_r17));
|
|
224
|
-
} }
|
|
225
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
226
|
-
i0.ɵɵelement(0, "span", 70);
|
|
227
|
-
} if (rf & 2) {
|
|
228
|
-
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
229
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
230
|
-
i0.ɵɵproperty("ngClass", ctx_r2.getIconForResourceType(item_r17))("title", item_r17.Name);
|
|
231
|
-
} }
|
|
232
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
233
|
-
i0.ɵɵelementStart(0, "div", 74);
|
|
234
|
-
i0.ɵɵelement(1, "span", 75);
|
|
235
|
-
i0.ɵɵelementStart(2, "span");
|
|
236
|
-
i0.ɵɵtext(3);
|
|
237
|
-
i0.ɵɵelementEnd()();
|
|
238
|
-
} if (rf & 2) {
|
|
239
|
-
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
240
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
241
|
-
i0.ɵɵadvance(3);
|
|
242
|
-
i0.ɵɵtextInterpolate(ctx_r2.getFormattedDate(ctx_r2.getItemProperty(item_r17, "LastOpened")));
|
|
243
|
-
} }
|
|
244
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
245
|
-
i0.ɵɵelementStart(0, "div", 74);
|
|
246
|
-
i0.ɵɵelement(1, "span", 76);
|
|
247
|
-
i0.ɵɵelementStart(2, "span");
|
|
248
|
-
i0.ɵɵtext(3);
|
|
249
|
-
i0.ɵɵelementEnd()();
|
|
250
|
-
} if (rf & 2) {
|
|
251
|
-
const item_r17 = i0.ɵɵnextContext(2).$implicit;
|
|
252
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
253
|
-
i0.ɵɵadvance(3);
|
|
254
|
-
i0.ɵɵtextInterpolate(ctx_r2.getItemProperty(item_r17, "ModifiedBy"));
|
|
255
|
-
} }
|
|
256
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
257
|
-
i0.ɵɵelementStart(0, "div", 71);
|
|
258
|
-
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);
|
|
259
|
-
i0.ɵɵelementEnd();
|
|
260
|
-
} if (rf & 2) {
|
|
261
|
-
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
262
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
263
|
-
i0.ɵɵadvance();
|
|
264
|
-
i0.ɵɵconditional(ctx_r2.getItemProperty(item_r17, "LastOpened") ? 1 : -1);
|
|
265
|
-
i0.ɵɵadvance();
|
|
266
|
-
i0.ɵɵconditional(ctx_r2.getItemProperty(item_r17, "ModifiedBy") ? 2 : -1);
|
|
267
|
-
} }
|
|
268
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
269
|
-
i0.ɵɵelement(0, "kendo-chip", 46);
|
|
270
|
-
} }
|
|
271
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
272
|
-
i0.ɵɵelement(0, "kendo-chip", 47);
|
|
273
|
-
} if (rf & 2) {
|
|
274
|
-
const item_r17 = i0.ɵɵnextContext().$implicit;
|
|
275
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
276
|
-
i0.ɵɵproperty("label", ctx_r2.getResourceTypeLabel(item_r17));
|
|
277
|
-
} }
|
|
278
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
279
|
-
const _r16 = i0.ɵɵgetCurrentView();
|
|
280
|
-
i0.ɵɵelementStart(0, "kendo-card", 67);
|
|
281
|
-
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)); });
|
|
282
|
-
i0.ɵɵelementStart(1, "div", 68);
|
|
283
|
-
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);
|
|
284
|
-
i0.ɵɵelementEnd();
|
|
285
|
-
i0.ɵɵelementStart(6, "kendo-card-body");
|
|
286
|
-
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);
|
|
287
|
-
i0.ɵɵelementStart(9, "h3");
|
|
288
|
-
i0.ɵɵtext(10);
|
|
289
|
-
i0.ɵɵelementEnd();
|
|
290
|
-
i0.ɵɵelementStart(11, "p");
|
|
291
|
-
i0.ɵɵtext(12);
|
|
292
|
-
i0.ɵɵelementEnd();
|
|
293
|
-
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);
|
|
294
|
-
i0.ɵɵelementEnd()();
|
|
295
|
-
} if (rf & 2) {
|
|
296
|
-
const item_r17 = ctx.$implicit;
|
|
297
|
-
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
298
|
-
i0.ɵɵadvance(2);
|
|
299
|
-
i0.ɵɵconditional(item_r17.Favorite !== undefined ? 2 : -1);
|
|
300
|
-
i0.ɵɵadvance();
|
|
301
|
-
i0.ɵɵconditional(!ctx_r2.disableEditButton && (!item_r17.IsLink || item_r17.LinkPermissionLevel === "Owner" || item_r17.LinkPermissionLevel === "Edit") ? 3 : -1);
|
|
302
|
-
i0.ɵɵadvance();
|
|
303
|
-
i0.ɵɵconditional(!item_r17.IsLink || item_r17.LinkPermissionLevel === "Owner" ? 4 : item_r17.IsLink ? 5 : -1);
|
|
304
|
-
i0.ɵɵadvance(3);
|
|
305
|
-
i0.ɵɵconditional(item_r17.IsLink ? 7 : 8);
|
|
306
|
-
i0.ɵɵadvance(3);
|
|
307
|
-
i0.ɵɵtextInterpolate(item_r17.Name);
|
|
308
|
-
i0.ɵɵadvance(2);
|
|
309
|
-
i0.ɵɵtextInterpolate(item_r17.Description || "No description available");
|
|
310
|
-
i0.ɵɵadvance();
|
|
311
|
-
i0.ɵɵconditional(ctx_r2.getItemProperty(item_r17, "LastOpened") || ctx_r2.getItemProperty(item_r17, "ModifiedBy") ? 13 : -1);
|
|
312
|
-
i0.ɵɵadvance();
|
|
313
|
-
i0.ɵɵconditional(item_r17.Type === "Folder" ? 14 : item_r17.Type === "Resource" ? 15 : -1);
|
|
314
|
-
} }
|
|
315
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
316
|
-
i0.ɵɵelementStart(0, "div", 60);
|
|
317
|
-
i0.ɵɵrepeaterCreate(1, GenericBrowserListComponent_Conditional_29_Conditional_1_Conditional_1_For_2_Template, 16, 8, "kendo-card", 66, i0.ɵɵrepeaterTrackByIdentity);
|
|
318
|
-
i0.ɵɵelementEnd();
|
|
319
|
-
} if (rf & 2) {
|
|
320
|
-
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
321
|
-
i0.ɵɵadvance();
|
|
322
|
-
i0.ɵɵrepeater(ctx_r2.items);
|
|
323
|
-
} }
|
|
324
|
-
function GenericBrowserListComponent_Conditional_29_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
325
|
-
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);
|
|
326
|
-
} if (rf & 2) {
|
|
327
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
328
|
-
i0.ɵɵconditional(ctx_r2.items.length === 0 ? 0 : 1);
|
|
329
|
-
} }
|
|
330
|
-
function GenericBrowserListComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
331
|
-
i0.ɵɵtemplate(0, GenericBrowserListComponent_Conditional_29_Conditional_0_Template, 12, 1, "kendo-grid", 34)(1, GenericBrowserListComponent_Conditional_29_Conditional_1_Template, 2, 1);
|
|
332
|
-
} if (rf & 2) {
|
|
333
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
334
|
-
i0.ɵɵconditional(ctx_r2.displayAsGrid ? 0 : 1);
|
|
335
|
-
} }
|
|
336
|
-
function GenericBrowserListComponent_kendo_dialog_30_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
337
|
-
i0.ɵɵelementStart(0, "p", 81);
|
|
338
|
-
i0.ɵɵtext(1, "This action cannot be undone.");
|
|
339
|
-
i0.ɵɵelementEnd();
|
|
340
|
-
} }
|
|
341
|
-
function GenericBrowserListComponent_kendo_dialog_30_Template(rf, ctx) { if (rf & 1) {
|
|
342
|
-
const _r22 = i0.ɵɵgetCurrentView();
|
|
343
|
-
i0.ɵɵelementStart(0, "kendo-dialog", 77);
|
|
344
|
-
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)); });
|
|
345
|
-
i0.ɵɵelementStart(1, "div", 78)(2, "div", 79);
|
|
346
|
-
i0.ɵɵelement(3, "span", 80);
|
|
347
|
-
i0.ɵɵelementEnd();
|
|
348
|
-
i0.ɵɵelementStart(4, "p");
|
|
349
|
-
i0.ɵɵtext(5, " Are you sure you want to ");
|
|
350
|
-
i0.ɵɵelementStart(6, "strong");
|
|
351
|
-
i0.ɵɵtext(7);
|
|
352
|
-
i0.ɵɵelementEnd();
|
|
353
|
-
i0.ɵɵelementStart(8, "strong");
|
|
354
|
-
i0.ɵɵtext(9);
|
|
355
|
-
i0.ɵɵelementEnd();
|
|
356
|
-
i0.ɵɵtext(10, "? ");
|
|
357
|
-
i0.ɵɵelementEnd();
|
|
358
|
-
i0.ɵɵtemplate(11, GenericBrowserListComponent_kendo_dialog_30_Conditional_11_Template, 2, 0, "p", 81);
|
|
359
|
-
i0.ɵɵelementEnd();
|
|
360
|
-
i0.ɵɵelementStart(12, "kendo-dialog-actions", 82)(13, "button", 83);
|
|
361
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_30_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
|
|
362
|
-
i0.ɵɵtext(14, " Cancel ");
|
|
363
|
-
i0.ɵɵelementEnd();
|
|
364
|
-
i0.ɵɵelementStart(15, "button", 84);
|
|
365
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_30_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r22); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(true)); });
|
|
366
|
-
i0.ɵɵelementStart(16, "span", 64);
|
|
367
|
-
i0.ɵɵelement(17, "i", 8);
|
|
368
|
-
i0.ɵɵtext(18);
|
|
369
|
-
i0.ɵɵelementEnd()()()();
|
|
370
|
-
} if (rf & 2) {
|
|
371
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
372
|
-
i0.ɵɵproperty("minWidth", 400)("width", 500);
|
|
373
|
-
i0.ɵɵadvance(7);
|
|
374
|
-
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");
|
|
375
|
-
i0.ɵɵadvance(2);
|
|
376
|
-
i0.ɵɵtextInterpolate(ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.Name);
|
|
377
|
-
i0.ɵɵadvance(2);
|
|
378
|
-
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);
|
|
379
|
-
i0.ɵɵadvance(6);
|
|
380
|
-
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");
|
|
381
|
-
i0.ɵɵadvance();
|
|
382
|
-
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", " ");
|
|
383
|
-
} }
|
|
384
|
-
function GenericBrowserListComponent_kendo_dialog_31_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
385
|
-
i0.ɵɵelement(0, "i", 90);
|
|
386
|
-
} }
|
|
387
|
-
function GenericBrowserListComponent_kendo_dialog_31_Template(rf, ctx) { if (rf & 1) {
|
|
388
|
-
const _r23 = i0.ɵɵgetCurrentView();
|
|
389
|
-
i0.ɵɵelementStart(0, "kendo-dialog", 85);
|
|
390
|
-
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()); });
|
|
391
|
-
i0.ɵɵelementStart(1, "div", 78)(2, "kendo-formfield", 86);
|
|
392
|
-
i0.ɵɵelement(3, "kendo-label", 87);
|
|
393
|
-
i0.ɵɵelementStart(4, "kendo-textbox", 88);
|
|
394
|
-
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)); });
|
|
395
|
-
i0.ɵɵtemplate(5, GenericBrowserListComponent_kendo_dialog_31_ng_template_5_Template, 1, 0, "ng-template", 17);
|
|
396
|
-
i0.ɵɵelementEnd()()();
|
|
397
|
-
i0.ɵɵelementStart(6, "kendo-dialog-actions", 82)(7, "button", 83);
|
|
398
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_31_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleCreateFolderView()); });
|
|
399
|
-
i0.ɵɵtext(8, " Cancel ");
|
|
400
|
-
i0.ɵɵelementEnd();
|
|
401
|
-
i0.ɵɵelementStart(9, "button", 63);
|
|
402
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_kendo_dialog_31_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r23); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createFolder()); });
|
|
403
|
-
i0.ɵɵelementStart(10, "span", 64);
|
|
404
|
-
i0.ɵɵelement(11, "i", 89);
|
|
405
|
-
i0.ɵɵtext(12, " Create Folder ");
|
|
406
|
-
i0.ɵɵelementEnd()()()();
|
|
407
|
-
} if (rf & 2) {
|
|
408
|
-
i0.ɵɵproperty("minWidth", 350)("width", 450);
|
|
409
|
-
i0.ɵɵadvance(4);
|
|
410
|
-
i0.ɵɵproperty("clearButton", true);
|
|
411
|
-
} }
|
|
412
|
-
export class GenericBrowserListComponent {
|
|
413
|
-
sharedService;
|
|
414
|
-
entityFormDialogRef;
|
|
415
|
-
showLoader = true;
|
|
416
|
-
itemType = '';
|
|
417
|
-
title = '';
|
|
418
|
-
items = [];
|
|
419
|
-
iconName = 'view';
|
|
420
|
-
disableEditButton = false;
|
|
421
|
-
addText = 'Create New';
|
|
422
|
-
backText = 'Go Back';
|
|
423
|
-
ItemEntityName = '';
|
|
424
|
-
CategoryEntityName = '';
|
|
425
|
-
selectedFolderID = null;
|
|
426
|
-
showNotifications = true;
|
|
427
|
-
categoryEntityID = null;
|
|
428
|
-
displayAsGrid = false;
|
|
429
|
-
resourceName = "Resource";
|
|
430
|
-
/**
|
|
431
|
-
* If we are viewing a reesource, such as dashboards, reports, queries, etc
|
|
432
|
-
* then the UI will need to change abit to accomodate this like
|
|
433
|
-
* showing the name of the resouce as a header
|
|
434
|
-
*/
|
|
435
|
-
viewingResource = false;
|
|
436
|
-
/**
|
|
437
|
-
* Indicates if the items should be displayed as a list
|
|
438
|
-
* or as a grid of icons
|
|
439
|
-
*/
|
|
440
|
-
displayItemsAsList = false;
|
|
441
|
-
extraDropdownOptions = [];
|
|
442
|
-
//Before Evewnts
|
|
443
|
-
BeforeAddFolderEvent = new EventEmitter();
|
|
444
|
-
BeforeAddItemEvent = new EventEmitter();
|
|
445
|
-
BeforeDeleteFolderEvent = new EventEmitter();
|
|
446
|
-
BeforeDeleteItemEvent = new EventEmitter();
|
|
447
|
-
BeforeUnlinkItemEvent = new EventEmitter();
|
|
448
|
-
BeforeUpdateFolderEvent = new EventEmitter();
|
|
449
|
-
BeforeUpdateItemEvent = new EventEmitter();
|
|
450
|
-
//After Events
|
|
451
|
-
AfterAddFolderEvent = new EventEmitter();
|
|
452
|
-
AfterAddItemEvent = new EventEmitter();
|
|
453
|
-
AfterDeleteFolderEvent = new EventEmitter();
|
|
454
|
-
AfterDeleteItemEvent = new EventEmitter();
|
|
455
|
-
AfterUnlinkItemEvent = new EventEmitter();
|
|
456
|
-
AfterUpdateFolderEvent = new EventEmitter();
|
|
457
|
-
AfterUpdateItemEvent = new EventEmitter();
|
|
458
|
-
NavigateToParentEvent = new EventEmitter();
|
|
459
|
-
itemClickEvent = new EventEmitter();
|
|
460
|
-
backButtonClickEvent = new EventEmitter();
|
|
461
|
-
dropdownOptionClickEvent = new EventEmitter();
|
|
462
|
-
viewModeChangeEvent = new EventEmitter();
|
|
463
|
-
_resizeDebounceTime = 250;
|
|
464
|
-
_resizeEndDebounceTime = 500;
|
|
465
|
-
filterItemsSubject = new Subject();
|
|
466
|
-
filter = '';
|
|
467
|
-
sourceItems = null;
|
|
468
|
-
selectedItem = null;
|
|
469
|
-
deleteDialogOpened = false;
|
|
470
|
-
copyFromDialogOpened = false;
|
|
471
|
-
createFolderDialogOpened = false;
|
|
472
|
-
newFolderText = "Sample Folder";
|
|
473
|
-
resourceTypes = [];
|
|
474
|
-
createNewRecordName = "Record";
|
|
475
|
-
entityObjectName = "";
|
|
476
|
-
/**
|
|
477
|
-
* Options for the create button dropdown
|
|
478
|
-
*/
|
|
479
|
-
dropdownOptions = [
|
|
480
|
-
{ text: "Folder" }
|
|
481
|
-
];
|
|
482
|
-
constructor(sharedService) {
|
|
483
|
-
this.sharedService = sharedService;
|
|
484
|
-
this.filterItemsSubject
|
|
485
|
-
.pipe(debounceTime(this._resizeDebounceTime))
|
|
486
|
-
.subscribe(() => this.filterItems(this.filter));
|
|
487
|
-
}
|
|
488
|
-
async ngOnInit() {
|
|
489
|
-
const md = new Metadata();
|
|
490
|
-
if (this.extraDropdownOptions && this.extraDropdownOptions.length > 0) {
|
|
491
|
-
this.dropdownOptions.push(...this.extraDropdownOptions);
|
|
492
|
-
}
|
|
493
|
-
const view = new RunView();
|
|
494
|
-
this.resourceTypes = SharedService.Instance.ResourceTypes;
|
|
495
|
-
}
|
|
496
|
-
//wrapper function for the grid view
|
|
497
|
-
onCellItemClicked(event) {
|
|
498
|
-
this.itemClick(event.dataItem);
|
|
499
|
-
}
|
|
500
|
-
itemClick(item) {
|
|
501
|
-
if (!item) {
|
|
502
|
-
return;
|
|
503
|
-
}
|
|
504
|
-
this.itemClickEvent.emit(item);
|
|
505
|
-
}
|
|
506
|
-
backButtonClicked() {
|
|
507
|
-
this.backButtonClickEvent.emit();
|
|
508
|
-
}
|
|
509
|
-
async addResourceButtonClicked() {
|
|
510
|
-
let event = new BeforeAddItemEvent("");
|
|
511
|
-
this.BeforeAddItemEvent.emit(event);
|
|
512
|
-
if (event.Cancel) {
|
|
513
|
-
return;
|
|
514
|
-
}
|
|
515
|
-
const resourceName = `Sample ${this.ItemEntityName}`;
|
|
516
|
-
const md = new Metadata();
|
|
517
|
-
const entity = await md.GetEntityObject(this.ItemEntityName);
|
|
518
|
-
entity.NewRecord();
|
|
519
|
-
//some entities, like resources, have common fields
|
|
520
|
-
//we can try to set here
|
|
521
|
-
entity.Set("Name", resourceName);
|
|
522
|
-
entity.Set("UserID", md.CurrentUser.ID);
|
|
523
|
-
let saveResult = await entity.Save();
|
|
524
|
-
if (saveResult) {
|
|
525
|
-
this.showNotification(`successfully created ${resourceName}`, "info");
|
|
526
|
-
let item = new Item(entity, ItemType.Resource);
|
|
527
|
-
item.Name = resourceName;
|
|
528
|
-
this.AfterAddItemEvent.emit(new AfterAddItemEvent(item));
|
|
529
|
-
}
|
|
530
|
-
else {
|
|
531
|
-
this.showNotification(`Unable to create ${resourceName}`, "error");
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
async createFolder() {
|
|
535
|
-
this.toggleCreateFolderView(false);
|
|
536
|
-
let event = new BeforeAddFolderEvent(this.newFolderText);
|
|
537
|
-
if (event.Cancel) {
|
|
538
|
-
return;
|
|
539
|
-
}
|
|
540
|
-
let folderName = this.newFolderText;
|
|
541
|
-
let description = "";
|
|
542
|
-
const md = new Metadata();
|
|
543
|
-
const folderEntity = await md.GetEntityObject(this.CategoryEntityName);
|
|
544
|
-
folderEntity.NewRecord();
|
|
545
|
-
folderEntity.Set("Name", folderName);
|
|
546
|
-
folderEntity.Set("ParentID", this.selectedFolderID);
|
|
547
|
-
folderEntity.Set("Description", description);
|
|
548
|
-
folderEntity.Set("UserID", md.CurrentUser.ID);
|
|
549
|
-
if (this.categoryEntityID) {
|
|
550
|
-
folderEntity.Set("EntityID", this.categoryEntityID);
|
|
551
|
-
}
|
|
552
|
-
let saveResult = await folderEntity.Save();
|
|
553
|
-
if (saveResult) {
|
|
554
|
-
this.showNotification(`successfully created folder ${folderName}`, "info");
|
|
555
|
-
let folder = new Folder(folderEntity.Get("ID"), folderEntity.Get("Name"));
|
|
556
|
-
folder.Description = folderEntity.Get("Description");
|
|
557
|
-
let item = new Item(folder, ItemType.Folder);
|
|
558
|
-
let event = new AfterAddFolderEvent(item);
|
|
559
|
-
this.AfterAddFolderEvent.emit(event);
|
|
560
|
-
if (event.Cancel) {
|
|
561
|
-
return;
|
|
562
|
-
}
|
|
563
|
-
//navigate to the newly created folder
|
|
564
|
-
//by raising an item click event
|
|
565
|
-
this.itemClick(item);
|
|
566
|
-
}
|
|
567
|
-
else {
|
|
568
|
-
this.sharedService.CreateSimpleNotification(`Unable to create folder ${folderName}`, "error", 3500);
|
|
569
|
-
}
|
|
570
|
-
this.newFolderText = "Sample Folder";
|
|
571
|
-
}
|
|
572
|
-
async unlinkItem(item) {
|
|
573
|
-
await this.deleteOrUnlink(item, false);
|
|
574
|
-
}
|
|
575
|
-
_currentDeleteOrUnlinkState = false;
|
|
576
|
-
async deleteOrUnlink(item, bDelete) {
|
|
577
|
-
this._currentDeleteOrUnlinkState = bDelete;
|
|
578
|
-
if (!item) {
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
this.selectedItem = item;
|
|
582
|
-
if (item.Type === ItemType.Folder && bDelete) {
|
|
583
|
-
let event = new BeforeDeleteFolderEvent(item);
|
|
584
|
-
this.BeforeDeleteFolderEvent.emit(event);
|
|
585
|
-
if (event.Cancel) {
|
|
586
|
-
return;
|
|
587
|
-
}
|
|
588
|
-
this.deleteDialogOpened = true;
|
|
589
|
-
}
|
|
590
|
-
else if (item.Type === ItemType.Resource && bDelete) {
|
|
591
|
-
let event = new BeforeDeleteItemEvent(item);
|
|
592
|
-
this.BeforeDeleteItemEvent.emit(event);
|
|
593
|
-
if (event.Cancel) {
|
|
594
|
-
return;
|
|
595
|
-
}
|
|
596
|
-
this.deleteDialogOpened = true;
|
|
597
|
-
}
|
|
598
|
-
else if (item.Type === ItemType.Resource && !bDelete) {
|
|
599
|
-
let event = new BeforeUnlinkItemEvent(item);
|
|
600
|
-
this.BeforeUnlinkItemEvent.emit(event);
|
|
601
|
-
if (event.Cancel) {
|
|
602
|
-
return;
|
|
603
|
-
}
|
|
604
|
-
this.deleteDialogOpened = true;
|
|
605
|
-
}
|
|
606
|
-
}
|
|
607
|
-
goToParent() {
|
|
608
|
-
this.NavigateToParentEvent.emit();
|
|
609
|
-
}
|
|
610
|
-
async deleteItem(item) {
|
|
611
|
-
await this.deleteOrUnlink(item, true);
|
|
612
|
-
}
|
|
613
|
-
async onConfirmDeleteItem(shouldDelete) {
|
|
614
|
-
this.deleteDialogOpened = false;
|
|
615
|
-
if (!this.selectedItem || !shouldDelete) {
|
|
616
|
-
return;
|
|
617
|
-
}
|
|
618
|
-
let item = this.selectedItem;
|
|
619
|
-
if (item.Type === ItemType.Folder && this._currentDeleteOrUnlinkState) {
|
|
620
|
-
let deleteResult = await this.deleteFolder(item);
|
|
621
|
-
if (deleteResult) {
|
|
622
|
-
let deleteFolderEvent = new AfterDeleteFolderEvent(item);
|
|
623
|
-
this.AfterDeleteFolderEvent.emit(deleteFolderEvent);
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
else if (item.Type === ItemType.Resource && this._currentDeleteOrUnlinkState) {
|
|
627
|
-
await this.deleteResource(item);
|
|
628
|
-
let deleteItemEvent = new AfterDeleteItemEvent(item);
|
|
629
|
-
this.AfterDeleteItemEvent.emit(deleteItemEvent);
|
|
630
|
-
}
|
|
631
|
-
else if (item.Type === ItemType.Resource && !this._currentDeleteOrUnlinkState) {
|
|
632
|
-
await this.unlinkResource(item);
|
|
633
|
-
let unlinkItemEvent = new AfterUnlinkItemEvent(item);
|
|
634
|
-
this.AfterUnlinkItemEvent.emit(unlinkItemEvent);
|
|
635
|
-
}
|
|
636
|
-
this.selectedItem = null;
|
|
637
|
-
}
|
|
638
|
-
async deleteFolder(item) {
|
|
639
|
-
const folder = item.Data;
|
|
640
|
-
//the DB will throw an error if we attempt to delete a folder that has children
|
|
641
|
-
//i.e. sub folders or resources
|
|
642
|
-
//so the default behavior is to notify the user that the delete operation cannot
|
|
643
|
-
//go through
|
|
644
|
-
const folderHasChildren = await this.doesFolderHaveChildren(folder.ID);
|
|
645
|
-
if (folderHasChildren) {
|
|
646
|
-
this.showNotification(`unable to delete folder ${folder.Name} because it has children`, "error");
|
|
647
|
-
return false;
|
|
648
|
-
}
|
|
649
|
-
this.showLoader = true;
|
|
650
|
-
const md = new Metadata();
|
|
651
|
-
let folderEntity = await md.GetEntityObject(this.CategoryEntityName);
|
|
652
|
-
let pkv = new KeyValuePair();
|
|
653
|
-
pkv.FieldName = "ID";
|
|
654
|
-
pkv.Value = folder.ID;
|
|
655
|
-
let compositeKey = new CompositeKey([pkv]);
|
|
656
|
-
//create view browser component - this will be used to display views
|
|
657
|
-
//then create a new component for applications that wraps around the view browser component
|
|
658
|
-
let loadResult = await folderEntity.InnerLoad(compositeKey);
|
|
659
|
-
if (!loadResult) {
|
|
660
|
-
this.sharedService.CreateSimpleNotification(`Unable to fetch folder ${folder.Name}`, "error", 3500);
|
|
661
|
-
this.showLoader = false;
|
|
662
|
-
return false;
|
|
663
|
-
}
|
|
664
|
-
let deleteResult = await folderEntity.Delete();
|
|
665
|
-
if (!deleteResult) {
|
|
666
|
-
this.sharedService.CreateSimpleNotification(`Unable to delete folder ${folder.Name}`, "error", 3500);
|
|
667
|
-
this.showLoader = false;
|
|
668
|
-
return false;
|
|
669
|
-
}
|
|
670
|
-
else {
|
|
671
|
-
this.sharedService.CreateSimpleNotification(`Successfully deleted folder ${folder.Name}`, "info", 2000);
|
|
672
|
-
this.showLoader = false;
|
|
673
|
-
}
|
|
674
|
-
return true;
|
|
675
|
-
}
|
|
676
|
-
async deleteResource(item) {
|
|
677
|
-
let genericEntity = item.Data;
|
|
678
|
-
if (!genericEntity) {
|
|
679
|
-
return false;
|
|
680
|
-
}
|
|
681
|
-
//the only assumption we are making here is that the entityID
|
|
682
|
-
//is a number
|
|
683
|
-
const entityID = this.TryGetID(genericEntity);
|
|
684
|
-
if (entityID && entityID.length > 0) {
|
|
685
|
-
const md = new Metadata();
|
|
686
|
-
let entityObject = await md.GetEntityObject(this.ItemEntityName);
|
|
687
|
-
let pkv = new KeyValuePair();
|
|
688
|
-
pkv.FieldName = "ID";
|
|
689
|
-
pkv.Value = entityID;
|
|
690
|
-
let compositeKey = new CompositeKey([pkv]);
|
|
691
|
-
let loadResult = await entityObject.InnerLoad(compositeKey);
|
|
692
|
-
if (loadResult) {
|
|
693
|
-
let deleteResult = await entityObject.Delete();
|
|
694
|
-
if (deleteResult) {
|
|
695
|
-
this.showNotification(`successfully deleted`, "info");
|
|
696
|
-
return true;
|
|
697
|
-
}
|
|
698
|
-
else {
|
|
699
|
-
this.showNotification(`Unable to delete`, "error");
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
else {
|
|
703
|
-
this.showNotification(`unable to fetch`, "error");
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
return false;
|
|
707
|
-
}
|
|
708
|
-
async unlinkResource(item) {
|
|
709
|
-
// remove the link by removing the Resource Link record
|
|
710
|
-
if (item.ResourceLinkID) {
|
|
711
|
-
const md = new Metadata();
|
|
712
|
-
const link = await md.GetEntityObject("Resource Links");
|
|
713
|
-
if (await link.Load(item.ResourceLinkID))
|
|
714
|
-
return await link.Delete();
|
|
715
|
-
else
|
|
716
|
-
return false;
|
|
717
|
-
}
|
|
718
|
-
else
|
|
719
|
-
return false;
|
|
720
|
-
}
|
|
721
|
-
async doesFolderHaveChildren(folderID) {
|
|
722
|
-
const md = new Metadata();
|
|
723
|
-
const rv = new RunView();
|
|
724
|
-
const folderResult = await rv.RunView({
|
|
725
|
-
EntityName: this.CategoryEntityName,
|
|
726
|
-
ExtraFilter: `ParentID ='${folderID}'`
|
|
727
|
-
});
|
|
728
|
-
return folderResult && folderResult.Success && folderResult.Results.length > 0;
|
|
729
|
-
}
|
|
730
|
-
showNotification(message, type) {
|
|
731
|
-
if (this.showNotifications) {
|
|
732
|
-
this.sharedService.CreateSimpleNotification(message, type, 1000);
|
|
733
|
-
}
|
|
734
|
-
}
|
|
735
|
-
TryGetID(data) {
|
|
736
|
-
if (data && data.ID) {
|
|
737
|
-
return data.ID;
|
|
738
|
-
}
|
|
739
|
-
else if (typeof data.Get === "function") {
|
|
740
|
-
return data.Get("ID");
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
changeViewMode(mode) {
|
|
744
|
-
this.displayAsGrid = mode === 'grid';
|
|
745
|
-
this.viewModeChangeEvent.emit(mode);
|
|
746
|
-
}
|
|
747
|
-
onKeyup(Value) {
|
|
748
|
-
this.filter = Value;
|
|
749
|
-
this.filterItemsSubject.next(true);
|
|
750
|
-
}
|
|
751
|
-
onCreateFolderKeyup(value) {
|
|
752
|
-
this.newFolderText = value;
|
|
753
|
-
}
|
|
754
|
-
filterItems(filter) {
|
|
755
|
-
if (!this.sourceItems) {
|
|
756
|
-
this.sourceItems = [...this.items];
|
|
757
|
-
}
|
|
758
|
-
if (!filter) {
|
|
759
|
-
this.items = [...this.sourceItems];
|
|
760
|
-
return;
|
|
761
|
-
}
|
|
762
|
-
this.items = this.sourceItems.filter(item => {
|
|
763
|
-
return item.Name.toLowerCase().includes(filter.toLowerCase());
|
|
764
|
-
});
|
|
765
|
-
}
|
|
766
|
-
async SetFavoriteStatus(item) {
|
|
767
|
-
if (!item) {
|
|
768
|
-
return;
|
|
769
|
-
}
|
|
770
|
-
item.Favorite = !item.Favorite;
|
|
771
|
-
const md = new Metadata();
|
|
772
|
-
let entityName = item.Type === ItemType.Folder ? this.CategoryEntityName : this.ItemEntityName;
|
|
773
|
-
let compositeKey = new CompositeKey([{ FieldName: "ID", Value: item.Data.ID }]);
|
|
774
|
-
await md.SetRecordFavoriteStatus(md.CurrentUser.ID, entityName, compositeKey, item.Favorite);
|
|
775
|
-
}
|
|
776
|
-
editItem(item) {
|
|
777
|
-
if (!item) {
|
|
778
|
-
return;
|
|
779
|
-
}
|
|
780
|
-
if (item.Type === ItemType.Folder) {
|
|
781
|
-
let event = new BeforeUpdateFolderEvent(item);
|
|
782
|
-
this.BeforeUpdateFolderEvent.emit(event);
|
|
783
|
-
if (event.Cancel) {
|
|
784
|
-
return;
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
else {
|
|
788
|
-
let event = new BeforeUpdateItemEvent(item);
|
|
789
|
-
this.BeforeUpdateItemEvent.emit(event);
|
|
790
|
-
if (event.Cancel) {
|
|
791
|
-
return;
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
async onDropdownItemClick(data) {
|
|
796
|
-
if (!data || !data.text) {
|
|
797
|
-
return;
|
|
798
|
-
}
|
|
799
|
-
if (data.text === "Folder") {
|
|
800
|
-
this.toggleCreateFolderView();
|
|
801
|
-
}
|
|
802
|
-
else if (data.text === this.resourceName) {
|
|
803
|
-
this.addResourceButtonClicked();
|
|
804
|
-
}
|
|
805
|
-
else if (data.text === this.createNewRecordName) {
|
|
806
|
-
if (this.entityFormDialogRef) {
|
|
807
|
-
// create a new record for the given entity
|
|
808
|
-
const md = new Metadata();
|
|
809
|
-
const newRecord = await md.GetEntityObject(this.entityObjectName);
|
|
810
|
-
this.entityFormDialogRef.Record = newRecord;
|
|
811
|
-
this.entityFormDialogRef.ShowForm();
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
else {
|
|
815
|
-
let event = new DropdownOptionClickEvent(data.text);
|
|
816
|
-
this.dropdownOptionClickEvent.emit(event);
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
toggleCopyFromView() {
|
|
820
|
-
this.copyFromDialogOpened = !this.copyFromDialogOpened;
|
|
821
|
-
}
|
|
822
|
-
getCopyFromTitle() {
|
|
823
|
-
return `Select ${this.resourceName} to Copy`;
|
|
824
|
-
}
|
|
825
|
-
toggleCreateFolderView(visible) {
|
|
826
|
-
if (visible !== undefined) {
|
|
827
|
-
this.createFolderDialogOpened = visible;
|
|
828
|
-
}
|
|
829
|
-
else {
|
|
830
|
-
this.createFolderDialogOpened = !this.createFolderDialogOpened;
|
|
831
|
-
}
|
|
832
|
-
}
|
|
833
|
-
getIconForResourceType(item) {
|
|
834
|
-
if (!item) {
|
|
835
|
-
return "";
|
|
836
|
-
}
|
|
837
|
-
if (item.Type === ItemType.Folder) {
|
|
838
|
-
return "fa-regular fa-folder";
|
|
839
|
-
}
|
|
840
|
-
const resourceType = this.resourceTypes.find(rt => rt.Entity === this.ItemEntityName);
|
|
841
|
-
if (resourceType && resourceType.Icon) {
|
|
842
|
-
return resourceType.Icon;
|
|
843
|
-
}
|
|
844
|
-
// Default icon if no resource type found
|
|
845
|
-
return "fa-solid fa-file";
|
|
846
|
-
}
|
|
847
|
-
getHeaderIconClass() {
|
|
848
|
-
// If viewing a specific folder
|
|
849
|
-
if (this.selectedFolderID) {
|
|
850
|
-
return "fa-regular fa-folder-open";
|
|
851
|
-
}
|
|
852
|
-
// Try to get icon from resource type
|
|
853
|
-
const resourceType = this.resourceTypes.find(rt => rt.Entity === this.ItemEntityName);
|
|
854
|
-
if (resourceType && resourceType.Icon) {
|
|
855
|
-
return resourceType.Icon;
|
|
856
|
-
}
|
|
857
|
-
// Default icons based on common types
|
|
858
|
-
switch (this.itemType?.toLowerCase()) {
|
|
859
|
-
case 'dashboard':
|
|
860
|
-
case 'dashboards':
|
|
861
|
-
return "fa-solid fa-chart-line";
|
|
862
|
-
case 'report':
|
|
863
|
-
case 'reports':
|
|
864
|
-
return "fa-solid fa-file-chart-column";
|
|
865
|
-
case 'query':
|
|
866
|
-
case 'queries':
|
|
867
|
-
return "fa-solid fa-database";
|
|
868
|
-
case 'view':
|
|
869
|
-
case 'views':
|
|
870
|
-
return "fa-solid fa-table";
|
|
871
|
-
case 'application':
|
|
872
|
-
case 'applications':
|
|
873
|
-
return "fa-solid fa-window-restore";
|
|
874
|
-
default:
|
|
875
|
-
return this.iconName || "fa-solid fa-th";
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
getResourceTypeLabel(item) {
|
|
879
|
-
if (item.Type === ItemType.Folder) {
|
|
880
|
-
return "Folder";
|
|
881
|
-
}
|
|
882
|
-
const resourceType = this.resourceTypes.find(rt => rt.Entity === this.ItemEntityName);
|
|
883
|
-
if (resourceType) {
|
|
884
|
-
return resourceType.Name;
|
|
885
|
-
}
|
|
886
|
-
// Return a formatted version of the item type or entity name
|
|
887
|
-
return this.itemType || "Resource";
|
|
888
|
-
}
|
|
889
|
-
getFormattedDate(date) {
|
|
890
|
-
if (!date)
|
|
891
|
-
return '';
|
|
892
|
-
const d = new Date(date);
|
|
893
|
-
const now = new Date();
|
|
894
|
-
const diffTime = Math.abs(now.getTime() - d.getTime());
|
|
895
|
-
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
|
896
|
-
if (diffDays === 0) {
|
|
897
|
-
return 'Today';
|
|
898
|
-
}
|
|
899
|
-
else if (diffDays === 1) {
|
|
900
|
-
return 'Yesterday';
|
|
901
|
-
}
|
|
902
|
-
else if (diffDays < 7) {
|
|
903
|
-
return `${diffDays} days ago`;
|
|
904
|
-
}
|
|
905
|
-
else if (diffDays < 30) {
|
|
906
|
-
const weeks = Math.floor(diffDays / 7);
|
|
907
|
-
return `${weeks} week${weeks > 1 ? 's' : ''} ago`;
|
|
908
|
-
}
|
|
909
|
-
else if (diffDays < 365) {
|
|
910
|
-
const months = Math.floor(diffDays / 30);
|
|
911
|
-
return `${months} month${months > 1 ? 's' : ''} ago`;
|
|
912
|
-
}
|
|
913
|
-
else {
|
|
914
|
-
return d.toLocaleDateString();
|
|
915
|
-
}
|
|
916
|
-
}
|
|
917
|
-
/**
|
|
918
|
-
* Safely gets a property from an item, checking both the item itself and its Data property
|
|
919
|
-
*/
|
|
920
|
-
getItemProperty(item, propertyName) {
|
|
921
|
-
// First check if the property exists directly on the item
|
|
922
|
-
// We need to cast to any to avoid TypeScript index signature errors
|
|
923
|
-
const itemAsAny = item;
|
|
924
|
-
if (itemAsAny && itemAsAny[propertyName] !== undefined) {
|
|
925
|
-
return itemAsAny[propertyName];
|
|
926
|
-
}
|
|
927
|
-
// Then check if it exists on the Data property
|
|
928
|
-
if (item && item.Data && item.Data[propertyName] !== undefined) {
|
|
929
|
-
return item.Data[propertyName];
|
|
930
|
-
}
|
|
931
|
-
// If Data is a BaseEntity, try using the Get method
|
|
932
|
-
if (item && item.Data && typeof item.Data.Get === 'function') {
|
|
933
|
-
try {
|
|
934
|
-
return item.Data.Get(propertyName);
|
|
935
|
-
}
|
|
936
|
-
catch (e) {
|
|
937
|
-
// Property doesn't exist
|
|
938
|
-
}
|
|
939
|
-
}
|
|
940
|
-
return null;
|
|
941
|
-
}
|
|
942
|
-
static ɵfac = function GenericBrowserListComponent_Factory(t) { return new (t || GenericBrowserListComponent)(i0.ɵɵdirectiveInject(i1.SharedService)); };
|
|
943
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GenericBrowserListComponent, selectors: [["app-generic-browser-list"]], viewQuery: function GenericBrowserListComponent_Query(rf, ctx) { if (rf & 1) {
|
|
944
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
945
|
-
} if (rf & 2) {
|
|
946
|
-
let _t;
|
|
947
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityFormDialogRef = _t.first);
|
|
948
|
-
} }, 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"], ["size", "large", 3, "showText"], [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"], ["kendoButton", "", "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"], ["kendoButton", "", "fillMode", "outline", "rounded", "medium", 3, "click"], ["kendoButton", "", "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) {
|
|
949
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
950
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
|
|
951
|
-
i0.ɵɵtemplate(4, GenericBrowserListComponent_Conditional_4_Template, 2, 0, "span", 6);
|
|
952
|
-
i0.ɵɵelementStart(5, "div", 7);
|
|
953
|
-
i0.ɵɵelement(6, "span", 8);
|
|
954
|
-
i0.ɵɵelementEnd();
|
|
955
|
-
i0.ɵɵelementStart(7, "div")(8, "h1");
|
|
956
|
-
i0.ɵɵtext(9);
|
|
957
|
-
i0.ɵɵelementEnd();
|
|
958
|
-
i0.ɵɵtemplate(10, GenericBrowserListComponent_Conditional_10_Template, 3, 0, "div", 9);
|
|
959
|
-
i0.ɵɵelementEnd()();
|
|
960
|
-
i0.ɵɵelementStart(11, "div", 10)(12, "kendo-dropdownbutton", 11);
|
|
961
|
-
i0.ɵɵlistener("itemClick", function GenericBrowserListComponent_Template_kendo_dropdownbutton_itemClick_12_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropdownItemClick($event)); });
|
|
962
|
-
i0.ɵɵelement(13, "span", 12);
|
|
963
|
-
i0.ɵɵelementStart(14, "span", 13);
|
|
964
|
-
i0.ɵɵtext(15, "Create New");
|
|
965
|
-
i0.ɵɵelementEnd()()()();
|
|
966
|
-
i0.ɵɵelementStart(16, "div", 14)(17, "div", 15)(18, "kendo-textbox", 16, 0);
|
|
967
|
-
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)); });
|
|
968
|
-
i0.ɵɵtemplate(20, GenericBrowserListComponent_ng_template_20_Template, 1, 0, "ng-template", 17);
|
|
969
|
-
i0.ɵɵelementEnd()();
|
|
970
|
-
i0.ɵɵelementStart(21, "div", 18)(22, "kendo-buttongroup")(23, "button", 19);
|
|
971
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("grid")); });
|
|
972
|
-
i0.ɵɵelement(24, "span", 20);
|
|
973
|
-
i0.ɵɵelementEnd();
|
|
974
|
-
i0.ɵɵelementStart(25, "button", 21);
|
|
975
|
-
i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_25_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("list")); });
|
|
976
|
-
i0.ɵɵelement(26, "span", 22);
|
|
977
|
-
i0.ɵɵelementEnd()()()();
|
|
978
|
-
i0.ɵɵelementStart(27, "div", 23);
|
|
979
|
-
i0.ɵɵtemplate(28, GenericBrowserListComponent_div_28_Template, 2, 1, "div", 24)(29, GenericBrowserListComponent_Conditional_29_Template, 2, 1);
|
|
980
|
-
i0.ɵɵelementEnd()();
|
|
981
|
-
i0.ɵɵtemplate(30, GenericBrowserListComponent_kendo_dialog_30_Template, 19, 7, "kendo-dialog", 25)(31, GenericBrowserListComponent_kendo_dialog_31_Template, 13, 3, "kendo-dialog", 26);
|
|
982
|
-
i0.ɵɵelement(32, "mj-entity-form-dialog", 27, 1);
|
|
983
|
-
i0.ɵɵelementEnd();
|
|
984
|
-
} if (rf & 2) {
|
|
985
|
-
i0.ɵɵadvance(4);
|
|
986
|
-
i0.ɵɵconditional(ctx.selectedFolderID ? 4 : -1);
|
|
987
|
-
i0.ɵɵadvance(2);
|
|
988
|
-
i0.ɵɵproperty("ngClass", ctx.getHeaderIconClass());
|
|
989
|
-
i0.ɵɵadvance(3);
|
|
990
|
-
i0.ɵɵtextInterpolate(ctx.title);
|
|
991
|
-
i0.ɵɵadvance();
|
|
992
|
-
i0.ɵɵconditional(ctx.selectedFolderID ? 10 : -1);
|
|
993
|
-
i0.ɵɵadvance(2);
|
|
994
|
-
i0.ɵɵproperty("data", ctx.dropdownOptions);
|
|
995
|
-
i0.ɵɵadvance(6);
|
|
996
|
-
i0.ɵɵproperty("clearButton", true);
|
|
997
|
-
i0.ɵɵadvance(5);
|
|
998
|
-
i0.ɵɵproperty("toggleable", true)("selected", ctx.displayAsGrid);
|
|
999
|
-
i0.ɵɵadvance(2);
|
|
1000
|
-
i0.ɵɵproperty("toggleable", true)("selected", !ctx.displayAsGrid);
|
|
1001
|
-
i0.ɵɵadvance(3);
|
|
1002
|
-
i0.ɵɵproperty("ngIf", ctx.showLoader);
|
|
1003
|
-
i0.ɵɵadvance();
|
|
1004
|
-
i0.ɵɵconditional(!ctx.showLoader ? 29 : -1);
|
|
1005
|
-
i0.ɵɵadvance();
|
|
1006
|
-
i0.ɵɵproperty("ngIf", ctx.deleteDialogOpened);
|
|
1007
|
-
i0.ɵɵadvance();
|
|
1008
|
-
i0.ɵɵproperty("ngIf", ctx.createFolderDialogOpened);
|
|
1009
|
-
} }, dependencies: [i2.NgClass, i2.NgIf, i3.GridComponent, i3.DataBindingDirective, i3.ColumnComponent, i3.CellTemplateDirective, i4.DialogComponent, i4.DialogActionsComponent, i5.ButtonGroupComponent, i5.ButtonComponent, i5.DropDownButtonComponent, i5.ChipComponent, i6.TextBoxComponent, i6.TextBoxPrefixTemplateDirective, i6.FormFieldComponent, i7.LabelComponent, i8.CardComponent, i8.CardBodyComponent, i9.EntityFormDialogComponent, i10.LoadingComponent], 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}"] });
|
|
1010
|
-
}
|
|
1011
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GenericBrowserListComponent, [{
|
|
1012
|
-
type: Component,
|
|
1013
|
-
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 <mj-loading [showText]=\"false\" size=\"large\"></mj-loading>\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 <button kendoButton 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 </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 <button kendoButton fillMode=\"outline\" rounded=\"medium\" (click)=\"onConfirmDeleteItem(false)\">\n Cancel\n </button>\n <button kendoButton 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 </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 <button kendoButton fillMode=\"outline\" rounded=\"medium\" (click)=\"toggleCreateFolderView()\">\n Cancel\n </button>\n <button kendoButton 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 </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"] }]
|
|
1014
|
-
}], () => [{ type: i1.SharedService }], { entityFormDialogRef: [{
|
|
1015
|
-
type: ViewChild,
|
|
1016
|
-
args: ['entityFormDialog']
|
|
1017
|
-
}], showLoader: [{
|
|
1018
|
-
type: Input
|
|
1019
|
-
}], itemType: [{
|
|
1020
|
-
type: Input
|
|
1021
|
-
}], title: [{
|
|
1022
|
-
type: Input
|
|
1023
|
-
}], items: [{
|
|
1024
|
-
type: Input
|
|
1025
|
-
}], iconName: [{
|
|
1026
|
-
type: Input
|
|
1027
|
-
}], disableEditButton: [{
|
|
1028
|
-
type: Input
|
|
1029
|
-
}], addText: [{
|
|
1030
|
-
type: Input
|
|
1031
|
-
}], backText: [{
|
|
1032
|
-
type: Input
|
|
1033
|
-
}], ItemEntityName: [{
|
|
1034
|
-
type: Input
|
|
1035
|
-
}], CategoryEntityName: [{
|
|
1036
|
-
type: Input
|
|
1037
|
-
}], selectedFolderID: [{
|
|
1038
|
-
type: Input
|
|
1039
|
-
}], showNotifications: [{
|
|
1040
|
-
type: Input
|
|
1041
|
-
}], categoryEntityID: [{
|
|
1042
|
-
type: Input
|
|
1043
|
-
}], displayAsGrid: [{
|
|
1044
|
-
type: Input
|
|
1045
|
-
}], resourceName: [{
|
|
1046
|
-
type: Input
|
|
1047
|
-
}], viewingResource: [{
|
|
1048
|
-
type: Input
|
|
1049
|
-
}], displayItemsAsList: [{
|
|
1050
|
-
type: Input
|
|
1051
|
-
}], extraDropdownOptions: [{
|
|
1052
|
-
type: Input
|
|
1053
|
-
}], BeforeAddFolderEvent: [{
|
|
1054
|
-
type: Output
|
|
1055
|
-
}], BeforeAddItemEvent: [{
|
|
1056
|
-
type: Output
|
|
1057
|
-
}], BeforeDeleteFolderEvent: [{
|
|
1058
|
-
type: Output
|
|
1059
|
-
}], BeforeDeleteItemEvent: [{
|
|
1060
|
-
type: Output
|
|
1061
|
-
}], BeforeUnlinkItemEvent: [{
|
|
1062
|
-
type: Output
|
|
1063
|
-
}], BeforeUpdateFolderEvent: [{
|
|
1064
|
-
type: Output
|
|
1065
|
-
}], BeforeUpdateItemEvent: [{
|
|
1066
|
-
type: Output
|
|
1067
|
-
}], AfterAddFolderEvent: [{
|
|
1068
|
-
type: Output
|
|
1069
|
-
}], AfterAddItemEvent: [{
|
|
1070
|
-
type: Output
|
|
1071
|
-
}], AfterDeleteFolderEvent: [{
|
|
1072
|
-
type: Output
|
|
1073
|
-
}], AfterDeleteItemEvent: [{
|
|
1074
|
-
type: Output
|
|
1075
|
-
}], AfterUnlinkItemEvent: [{
|
|
1076
|
-
type: Output
|
|
1077
|
-
}], AfterUpdateFolderEvent: [{
|
|
1078
|
-
type: Output
|
|
1079
|
-
}], AfterUpdateItemEvent: [{
|
|
1080
|
-
type: Output
|
|
1081
|
-
}], NavigateToParentEvent: [{
|
|
1082
|
-
type: Output
|
|
1083
|
-
}], itemClickEvent: [{
|
|
1084
|
-
type: Output
|
|
1085
|
-
}], backButtonClickEvent: [{
|
|
1086
|
-
type: Output
|
|
1087
|
-
}], dropdownOptionClickEvent: [{
|
|
1088
|
-
type: Output
|
|
1089
|
-
}], viewModeChangeEvent: [{
|
|
1090
|
-
type: Output
|
|
1091
|
-
}] }); })();
|
|
1092
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GenericBrowserListComponent, { className: "GenericBrowserListComponent" }); })();
|
|
1093
|
-
//# sourceMappingURL=generic-browser-list.component.js.map
|