@memberjunction/ng-explorer-core 2.8.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-routing.module.d.ts +1 -0
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +42 -3
- package/dist/app-routing.module.js.map +1 -1
- package/dist/generic/Item.types.d.ts +12 -0
- package/dist/generic/Item.types.d.ts.map +1 -1
- package/dist/generic/Item.types.js +7 -0
- package/dist/generic/Item.types.js.map +1 -1
- package/dist/lib/app-view/application-view.component.d.ts +6 -8
- package/dist/lib/app-view/application-view.component.d.ts.map +1 -1
- package/dist/lib/app-view/application-view.component.js +47 -30
- package/dist/lib/app-view/application-view.component.js.map +1 -1
- package/dist/lib/base-browser-component/base-browser-component.d.ts.map +1 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +16 -5
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts.map +1 -1
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +172 -17
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -1
- package/dist/lib/list-view/list-view.component.d.ts +4 -1
- package/dist/lib/list-view/list-view.component.d.ts.map +1 -1
- package/dist/lib/list-view/list-view.component.js +63 -43
- package/dist/lib/list-view/list-view.component.js.map +1 -1
- package/dist/lib/query-browser-component/query-browser.component.d.ts +2 -1
- package/dist/lib/query-browser-component/query-browser.component.d.ts.map +1 -1
- package/dist/lib/query-browser-component/query-browser.component.js +12 -9
- package/dist/lib/query-browser-component/query-browser.component.js.map +1 -1
- package/dist/lib/report-browser-component/report-browser.component.d.ts +2 -1
- package/dist/lib/report-browser-component/report-browser.component.d.ts.map +1 -1
- package/dist/lib/report-browser-component/report-browser.component.js +9 -7
- package/dist/lib/report-browser-component/report-browser.component.js.map +1 -1
- package/dist/lib/resource-browser/resource-browser.component.d.ts +37 -33
- package/dist/lib/resource-browser/resource-browser.component.d.ts.map +1 -1
- package/dist/lib/resource-browser/resource-browser.component.js +466 -432
- package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
- package/dist/lib/single-view/single-view.component.d.ts +4 -2
- package/dist/lib/single-view/single-view.component.d.ts.map +1 -1
- package/dist/lib/single-view/single-view.component.js +54 -26
- package/dist/lib/single-view/single-view.component.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +11 -3
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/module.d.ts +2 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -3
- package/dist/module.js.map +1 -1
- package/package.json +22 -22
|
@@ -8,9 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
11
|
-
import { Item, ItemType } from '../../generic/Item.types';
|
|
11
|
+
import { Folder, Item, ItemType } from '../../generic/Item.types';
|
|
12
12
|
import { Subject, debounceTime } from 'rxjs';
|
|
13
13
|
import { LogError, Metadata, RunView } from '@memberjunction/core';
|
|
14
|
+
import { BeforeUpdateItemEvent } from '../../generic/Events.types';
|
|
14
15
|
import * as i0 from "@angular/core";
|
|
15
16
|
import * as i1 from "@memberjunction/ng-shared";
|
|
16
17
|
import * as i2 from "@angular/common";
|
|
@@ -19,110 +20,123 @@ import * as i4 from "@progress/kendo-angular-dialog";
|
|
|
19
20
|
import * as i5 from "@progress/kendo-angular-indicators";
|
|
20
21
|
import * as i6 from "@progress/kendo-angular-buttons";
|
|
21
22
|
import * as i7 from "@progress/kendo-angular-inputs";
|
|
22
|
-
import * as i8 from "@progress/kendo-angular-
|
|
23
|
-
import * as i9 from "@
|
|
23
|
+
import * as i8 from "@progress/kendo-angular-label";
|
|
24
|
+
import * as i9 from "@progress/kendo-angular-layout";
|
|
25
|
+
import * as i10 from "@memberjunction/ng-entity-form-dialog";
|
|
24
26
|
function ResourceBrowserComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
25
27
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
26
|
-
i0.ɵɵelementStart(0, "span",
|
|
28
|
+
i0.ɵɵelementStart(0, "span", 20);
|
|
27
29
|
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_4_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.goToParent()); });
|
|
28
30
|
i0.ɵɵelementEnd();
|
|
29
|
-
i0.ɵɵelement(1, "span",
|
|
31
|
+
i0.ɵɵelement(1, "span", 21);
|
|
30
32
|
} }
|
|
31
|
-
function
|
|
32
|
-
i0.ɵɵ
|
|
33
|
+
function ResourceBrowserComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
35
|
+
i0.ɵɵelementStart(0, "kendo-dropdownbutton", 22);
|
|
36
|
+
i0.ɵɵlistener("itemClick", function ResourceBrowserComponent_Conditional_7_Template_kendo_dropdownbutton_itemClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDropdownItemClick($event)); });
|
|
37
|
+
i0.ɵɵelement(1, "span", 23);
|
|
38
|
+
i0.ɵɵtext(2, " Create New ");
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
} if (rf & 2) {
|
|
41
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
42
|
+
i0.ɵɵproperty("data", ctx_r2.ItemOptions);
|
|
33
43
|
} }
|
|
34
|
-
function
|
|
35
|
-
i0.ɵɵelement(0, "
|
|
44
|
+
function ResourceBrowserComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelement(0, "span", 24);
|
|
36
46
|
} }
|
|
37
|
-
function
|
|
38
|
-
|
|
47
|
+
function ResourceBrowserComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelement(0, "kendo-loader", 16);
|
|
49
|
+
} }
|
|
50
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
39
52
|
i0.ɵɵelementStart(0, "button", 36);
|
|
40
|
-
i0.ɵɵlistener("click", function
|
|
53
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_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)); });
|
|
41
54
|
i0.ɵɵelement(1, "span", 37);
|
|
42
55
|
i0.ɵɵelementEnd();
|
|
43
56
|
} }
|
|
44
|
-
function
|
|
45
|
-
const
|
|
57
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
46
59
|
i0.ɵɵelementStart(0, "button", 36);
|
|
47
|
-
i0.ɵɵlistener("click", function
|
|
60
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const dataItem_r8 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteItem(dataItem_r8)); });
|
|
48
61
|
i0.ɵɵelement(1, "span", 38);
|
|
49
62
|
i0.ɵɵelementEnd();
|
|
50
63
|
} }
|
|
51
|
-
function
|
|
52
|
-
const
|
|
64
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
53
66
|
i0.ɵɵelementStart(0, "button", 39);
|
|
54
|
-
i0.ɵɵlistener("click", function
|
|
67
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const dataItem_r8 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.unlinkItem(dataItem_r8)); });
|
|
55
68
|
i0.ɵɵelement(1, "span", 40);
|
|
56
69
|
i0.ɵɵelementEnd();
|
|
57
70
|
} }
|
|
58
|
-
function
|
|
71
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
59
72
|
i0.ɵɵelementStart(0, "div", 33);
|
|
60
|
-
i0.ɵɵtemplate(1,
|
|
73
|
+
i0.ɵɵtemplate(1, ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_1_Template, 2, 0, "button", 34)(2, ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_2_Template, 2, 0, "button", 34)(3, ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Conditional_3_Template, 2, 0, "button", 35);
|
|
61
74
|
i0.ɵɵelementEnd();
|
|
62
75
|
} if (rf & 2) {
|
|
76
|
+
const dataItem_r8 = ctx.$implicit;
|
|
63
77
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
64
78
|
i0.ɵɵadvance();
|
|
65
|
-
i0.ɵɵconditional(ctx_r2.EnableItemEdit ? 1 : -1);
|
|
79
|
+
i0.ɵɵconditional(ctx_r2.EnableItemEdit && (!dataItem_r8.IsLink || dataItem_r8.LinkPermissionLevel === "Owner" || dataItem_r8.LinkPermissionLevel === "Edit") ? 1 : -1);
|
|
66
80
|
i0.ɵɵadvance();
|
|
67
|
-
i0.ɵɵconditional(ctx_r2.EnableItemDelete ? 2 : -1);
|
|
81
|
+
i0.ɵɵconditional(ctx_r2.EnableItemDelete && (!dataItem_r8.IsLike || dataItem_r8.LinkPermissionLevel === "Owner") ? 2 : -1);
|
|
68
82
|
i0.ɵɵadvance();
|
|
69
|
-
i0.ɵɵconditional(ctx_r2.EnableRemoveLink ? 3 : -1);
|
|
83
|
+
i0.ɵɵconditional(ctx_r2.EnableRemoveLink && dataItem_r8.IsLink ? 3 : -1);
|
|
70
84
|
} }
|
|
71
|
-
function
|
|
72
|
-
const
|
|
73
|
-
i0.ɵɵelementStart(0, "kendo-grid",
|
|
74
|
-
i0.ɵɵlistener("cellClick", function
|
|
75
|
-
i0.ɵɵelement(1, "kendo-grid-column",
|
|
76
|
-
i0.ɵɵelementStart(
|
|
77
|
-
i0.ɵɵtemplate(
|
|
85
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
87
|
+
i0.ɵɵelementStart(0, "kendo-grid", 27);
|
|
88
|
+
i0.ɵɵlistener("cellClick", function ResourceBrowserComponent_Conditional_20_Conditional_0_Template_kendo_grid_cellClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCellItemClicked($event)); });
|
|
89
|
+
i0.ɵɵelement(1, "kendo-grid-column", 28)(2, "kendo-grid-column", 29)(3, "kendo-grid-column", 30);
|
|
90
|
+
i0.ɵɵelementStart(4, "kendo-grid-column", 31);
|
|
91
|
+
i0.ɵɵtemplate(5, ResourceBrowserComponent_Conditional_20_Conditional_0_ng_template_5_Template, 4, 3, "ng-template", 32);
|
|
78
92
|
i0.ɵɵelementEnd()();
|
|
79
93
|
} if (rf & 2) {
|
|
80
94
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
81
95
|
i0.ɵɵproperty("kendoGridBinding", ctx_r2.Items);
|
|
82
96
|
} }
|
|
83
|
-
function
|
|
84
|
-
const
|
|
97
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
85
99
|
i0.ɵɵelementStart(0, "button", 51);
|
|
86
|
-
i0.ɵɵlistener("click", function
|
|
100
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editItem(item_r13)); });
|
|
87
101
|
i0.ɵɵelement(1, "span", 37);
|
|
88
102
|
i0.ɵɵelementEnd();
|
|
89
103
|
} }
|
|
90
|
-
function
|
|
91
|
-
const
|
|
104
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
92
106
|
i0.ɵɵelementStart(0, "button", 52);
|
|
93
|
-
i0.ɵɵlistener("click", function
|
|
107
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteItem(item_r13)); });
|
|
94
108
|
i0.ɵɵelement(1, "span", 38);
|
|
95
109
|
i0.ɵɵelementEnd();
|
|
96
110
|
} }
|
|
97
|
-
function
|
|
98
|
-
const
|
|
111
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
112
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
99
113
|
i0.ɵɵelementStart(0, "button", 39);
|
|
100
|
-
i0.ɵɵlistener("click", function
|
|
114
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const item_r13 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.unlinkItem(item_r13)); });
|
|
101
115
|
i0.ɵɵelement(1, "span", 40);
|
|
102
116
|
i0.ɵɵelementEnd();
|
|
103
117
|
} }
|
|
104
|
-
function
|
|
118
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
105
119
|
i0.ɵɵelement(0, "i", 46);
|
|
106
120
|
} if (rf & 2) {
|
|
107
|
-
const
|
|
121
|
+
const item_r13 = i0.ɵɵnextContext().$implicit;
|
|
108
122
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
109
|
-
i0.ɵɵproperty("title",
|
|
123
|
+
i0.ɵɵproperty("title", item_r13.Name + "(Shared)")("ngClass", ctx_r2.getIconForResourceType(item_r13));
|
|
110
124
|
} }
|
|
111
|
-
function
|
|
125
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
112
126
|
i0.ɵɵelement(0, "span", 47);
|
|
113
127
|
} if (rf & 2) {
|
|
114
|
-
const
|
|
128
|
+
const item_r13 = i0.ɵɵnextContext().$implicit;
|
|
115
129
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
116
|
-
i0.ɵɵproperty("title",
|
|
130
|
+
i0.ɵɵproperty("title", item_r13.Name)("ngClass", ctx_r2.getIconForResourceType(item_r13));
|
|
117
131
|
} }
|
|
118
|
-
function
|
|
119
|
-
const
|
|
132
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
133
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
120
134
|
i0.ɵɵelementStart(0, "kendo-card", 41)(1, "div", 42);
|
|
121
|
-
i0.ɵɵtemplate(2,
|
|
135
|
+
i0.ɵɵtemplate(2, ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_2_Template, 2, 0, "button", 43)(3, ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_3_Template, 2, 0, "button", 44)(4, ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_4_Template, 2, 0, "button", 35);
|
|
122
136
|
i0.ɵɵelementEnd();
|
|
123
137
|
i0.ɵɵelementStart(5, "kendo-card-body", 45);
|
|
124
|
-
i0.ɵɵlistener("click", function
|
|
125
|
-
i0.ɵɵtemplate(6,
|
|
138
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Template_kendo_card_body_click_5_listener() { const item_r13 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.itemClick(item_r13)); });
|
|
139
|
+
i0.ɵɵtemplate(6, ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_6_Template, 1, 2, "i", 46)(7, ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Conditional_7_Template, 1, 2, "span", 47);
|
|
126
140
|
i0.ɵɵelementStart(8, "div", 48)(9, "h5", 49);
|
|
127
141
|
i0.ɵɵtext(10);
|
|
128
142
|
i0.ɵɵelementEnd();
|
|
@@ -130,49 +144,49 @@ function ResourceBrowserComponent_Conditional_22_Conditional_1_For_2_Template(rf
|
|
|
130
144
|
i0.ɵɵtext(12);
|
|
131
145
|
i0.ɵɵelementEnd()()()();
|
|
132
146
|
} if (rf & 2) {
|
|
133
|
-
const
|
|
147
|
+
const item_r13 = ctx.$implicit;
|
|
134
148
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
135
149
|
i0.ɵɵadvance(2);
|
|
136
|
-
i0.ɵɵconditional(ctx_r2.EnableItemEdit && (!
|
|
150
|
+
i0.ɵɵconditional(ctx_r2.EnableItemEdit && (!item_r13.IsLink || item_r13.LinkPermissionLevel === "Owner" || item_r13.LinkPermissionLevel === "Edit") ? 2 : -1);
|
|
137
151
|
i0.ɵɵadvance();
|
|
138
|
-
i0.ɵɵconditional(ctx_r2.EnableItemDelete && (!
|
|
152
|
+
i0.ɵɵconditional(ctx_r2.EnableItemDelete && (!item_r13.IsLink || item_r13.LinkPermissionLevel === "Owner") ? 3 : ctx_r2.EnableRemoveLink && item_r13.IsLink ? 4 : -1);
|
|
139
153
|
i0.ɵɵadvance(3);
|
|
140
|
-
i0.ɵɵconditional(
|
|
154
|
+
i0.ɵɵconditional(item_r13.IsLink ? 6 : 7);
|
|
141
155
|
i0.ɵɵadvance(4);
|
|
142
|
-
i0.ɵɵtextInterpolate(
|
|
156
|
+
i0.ɵɵtextInterpolate(item_r13.Name);
|
|
143
157
|
i0.ɵɵadvance(2);
|
|
144
|
-
i0.ɵɵtextInterpolate(
|
|
158
|
+
i0.ɵɵtextInterpolate(item_r13.Description);
|
|
145
159
|
} }
|
|
146
|
-
function
|
|
147
|
-
i0.ɵɵelementStart(0, "div",
|
|
148
|
-
i0.ɵɵrepeaterCreate(1,
|
|
160
|
+
function ResourceBrowserComponent_Conditional_20_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
+
i0.ɵɵelementStart(0, "div", 26);
|
|
162
|
+
i0.ɵɵrepeaterCreate(1, ResourceBrowserComponent_Conditional_20_Conditional_1_For_2_Template, 13, 5, "kendo-card", 41, i0.ɵɵrepeaterTrackByIdentity);
|
|
149
163
|
i0.ɵɵelementEnd();
|
|
150
164
|
} if (rf & 2) {
|
|
151
165
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
152
166
|
i0.ɵɵadvance();
|
|
153
167
|
i0.ɵɵrepeater(ctx_r2.Items);
|
|
154
168
|
} }
|
|
155
|
-
function
|
|
156
|
-
i0.ɵɵtemplate(0,
|
|
169
|
+
function ResourceBrowserComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
170
|
+
i0.ɵɵtemplate(0, ResourceBrowserComponent_Conditional_20_Conditional_0_Template, 6, 1, "kendo-grid", 25)(1, ResourceBrowserComponent_Conditional_20_Conditional_1_Template, 3, 0, "div", 26);
|
|
157
171
|
} if (rf & 2) {
|
|
158
172
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
159
173
|
i0.ɵɵconditional(ctx_r2.DisplayMode === "List" ? 0 : 1);
|
|
160
174
|
} }
|
|
161
|
-
function
|
|
162
|
-
const
|
|
175
|
+
function ResourceBrowserComponent_kendo_dialog_21_Template(rf, ctx) { if (rf & 1) {
|
|
176
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
163
177
|
i0.ɵɵelementStart(0, "kendo-dialog", 53);
|
|
164
|
-
i0.ɵɵlistener("close", function
|
|
178
|
+
i0.ɵɵlistener("close", function ResourceBrowserComponent_kendo_dialog_21_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
|
|
165
179
|
i0.ɵɵelementStart(1, "p", 54);
|
|
166
180
|
i0.ɵɵtext(2);
|
|
167
181
|
i0.ɵɵelementStart(3, "b");
|
|
168
182
|
i0.ɵɵtext(4);
|
|
169
183
|
i0.ɵɵelementEnd()();
|
|
170
184
|
i0.ɵɵelementStart(5, "kendo-dialog-actions", 55)(6, "button", 56);
|
|
171
|
-
i0.ɵɵlistener("click", function
|
|
185
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_kendo_dialog_21_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(true)); });
|
|
172
186
|
i0.ɵɵtext(7, " Yes ");
|
|
173
187
|
i0.ɵɵelementEnd();
|
|
174
188
|
i0.ɵɵelementStart(8, "button", 57);
|
|
175
|
-
i0.ɵɵlistener("click", function
|
|
189
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_kendo_dialog_21_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onConfirmDeleteItem(false)); });
|
|
176
190
|
i0.ɵɵtext(9, " No ");
|
|
177
191
|
i0.ɵɵelementEnd()()();
|
|
178
192
|
} if (rf & 2) {
|
|
@@ -183,26 +197,47 @@ function ResourceBrowserComponent_kendo_dialog_23_Template(rf, ctx) { if (rf & 1
|
|
|
183
197
|
i0.ɵɵadvance(2);
|
|
184
198
|
i0.ɵɵtextInterpolate1("", ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.Name, "?");
|
|
185
199
|
} }
|
|
186
|
-
function
|
|
187
|
-
const
|
|
188
|
-
i0.ɵɵelementStart(0, "
|
|
189
|
-
i0.ɵɵlistener("
|
|
190
|
-
i0.ɵɵ
|
|
191
|
-
i0.ɵɵlistener("valueChange", function ResourceBrowserComponent_kendo_dialog_24_Template_kendo_textbox_valueChange_2_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onCreateFolderKeyup($event)); });
|
|
192
|
-
i0.ɵɵelementEnd()();
|
|
193
|
-
i0.ɵɵelementStart(3, "kendo-dialog-actions", 55)(4, "button", 56);
|
|
194
|
-
i0.ɵɵlistener("click", function ResourceBrowserComponent_kendo_dialog_24_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.createFolder()); });
|
|
195
|
-
i0.ɵɵtext(5, " Create ");
|
|
200
|
+
function ResourceBrowserComponent_kendo_dialog_22_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
201
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
202
|
+
i0.ɵɵelementStart(0, "button", 56);
|
|
203
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_kendo_dialog_22_Conditional_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.updateFolder()); });
|
|
204
|
+
i0.ɵɵtext(1, " Update ");
|
|
196
205
|
i0.ɵɵelementEnd();
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
i0.ɵɵ
|
|
206
|
+
} }
|
|
207
|
+
function ResourceBrowserComponent_kendo_dialog_22_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
209
|
+
i0.ɵɵelementStart(0, "button", 56);
|
|
210
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_kendo_dialog_22_Conditional_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.createFolder()); });
|
|
211
|
+
i0.ɵɵtext(1, " Create ");
|
|
212
|
+
i0.ɵɵelementEnd();
|
|
213
|
+
} }
|
|
214
|
+
function ResourceBrowserComponent_kendo_dialog_22_Template(rf, ctx) { if (rf & 1) {
|
|
215
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
216
|
+
i0.ɵɵelementStart(0, "kendo-dialog", 58);
|
|
217
|
+
i0.ɵɵlistener("close", function ResourceBrowserComponent_kendo_dialog_22_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleUpsertFolderView(false, false)); });
|
|
218
|
+
i0.ɵɵelementStart(1, "div", 7)(2, "kendo-label", 59)(3, "kendo-textbox", 60);
|
|
219
|
+
i0.ɵɵlistener("valueChange", function ResourceBrowserComponent_kendo_dialog_22_Template_kendo_textbox_valueChange_3_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onUpsertFolderNameKeyup($event)); });
|
|
220
|
+
i0.ɵɵelementEnd()()();
|
|
221
|
+
i0.ɵɵelement(4, "br");
|
|
222
|
+
i0.ɵɵelementStart(5, "div", 7)(6, "kendo-label", 61)(7, "kendo-textbox", 62);
|
|
223
|
+
i0.ɵɵlistener("valueChange", function ResourceBrowserComponent_kendo_dialog_22_Template_kendo_textbox_valueChange_7_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onUpsertFolderDescriptionKeyup($event)); });
|
|
224
|
+
i0.ɵɵelementEnd()()();
|
|
225
|
+
i0.ɵɵelementStart(8, "kendo-dialog-actions", 55);
|
|
226
|
+
i0.ɵɵtemplate(9, ResourceBrowserComponent_kendo_dialog_22_Conditional_9_Template, 2, 0, "button", 63)(10, ResourceBrowserComponent_kendo_dialog_22_Conditional_10_Template, 2, 0, "button", 63);
|
|
227
|
+
i0.ɵɵelementStart(11, "button", 57);
|
|
228
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_kendo_dialog_22_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleUpsertFolderView(false, false)); });
|
|
229
|
+
i0.ɵɵtext(12, " Cancel ");
|
|
200
230
|
i0.ɵɵelementEnd()()();
|
|
201
231
|
} if (rf & 2) {
|
|
202
|
-
i0.ɵɵ
|
|
232
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
233
|
+
i0.ɵɵproperty("title", ctx_r2.selectedFolder ? "Edit Folder" : "Create new folder")("minWidth", 250)("width", 450);
|
|
234
|
+
i0.ɵɵadvance(3);
|
|
235
|
+
i0.ɵɵproperty("value", ctx_r2.upsertNewFolderName);
|
|
236
|
+
i0.ɵɵadvance(4);
|
|
237
|
+
i0.ɵɵproperty("value", ctx_r2.upsertNewFolderDescription);
|
|
238
|
+
i0.ɵɵadvance(2);
|
|
239
|
+
i0.ɵɵconditional(ctx_r2.selectedFolder ? 9 : 10);
|
|
203
240
|
} }
|
|
204
|
-
export class NewItemOption {
|
|
205
|
-
}
|
|
206
241
|
export class ResourceBrowserComponent {
|
|
207
242
|
/**
|
|
208
243
|
* The name of the type of resource to display, cannot be changed after it is initially set
|
|
@@ -253,6 +288,9 @@ export class ResourceBrowserComponent {
|
|
|
253
288
|
get Items() {
|
|
254
289
|
return this._items;
|
|
255
290
|
}
|
|
291
|
+
get ItemOptions() {
|
|
292
|
+
return this._DefaultNewItemOptions;
|
|
293
|
+
}
|
|
256
294
|
constructor(sharedService) {
|
|
257
295
|
this.sharedService = sharedService;
|
|
258
296
|
/*******************************************************************************************
|
|
@@ -260,9 +298,19 @@ export class ResourceBrowserComponent {
|
|
|
260
298
|
*******************************************************************************************/
|
|
261
299
|
this._ResourceTypeName = null;
|
|
262
300
|
/**
|
|
263
|
-
* Whether or not to enable categories
|
|
301
|
+
* Whether or not to enable categories. If enabled, Categories will be displayed
|
|
302
|
+
* and the option to create new categories will be available. Default is true.
|
|
264
303
|
*/
|
|
265
304
|
this.EnableCategories = true;
|
|
305
|
+
/**
|
|
306
|
+
* If Categories are enabled, then the categories fetched will be filtered to return only those whoses EntityID
|
|
307
|
+
* matches this value.
|
|
308
|
+
*/
|
|
309
|
+
this.CategoryEntityID = null;
|
|
310
|
+
/**
|
|
311
|
+
* If set, this will set the current Category/Folder for the display. Not all Resource Types support Categories, so if the Resource Type in question does not have a CategoryEntityID specified, this property will be ignored.
|
|
312
|
+
*/
|
|
313
|
+
this.CurrentCategoryID = null;
|
|
266
314
|
/**
|
|
267
315
|
* This property determines if the UI will include a button on items in the display to edit. The button will only be shown if the user has edit permissions, but this is a global setting to turn on/off the button even if the user has permissions. Default is true.
|
|
268
316
|
*/
|
|
@@ -279,14 +327,7 @@ export class ResourceBrowserComponent {
|
|
|
279
327
|
/**
|
|
280
328
|
* Array of NewItemOption objects that will be displayed in the Create New dropdown. Defaults to having a single entry for creating a new folder, you can remove this or add to it.
|
|
281
329
|
*/
|
|
282
|
-
this.NewItemOptions = [
|
|
283
|
-
Text: 'New Folder',
|
|
284
|
-
Description: 'Create a new folder',
|
|
285
|
-
Icon: 'folder',
|
|
286
|
-
Action: () => {
|
|
287
|
-
console.log('New Folder');
|
|
288
|
-
}
|
|
289
|
-
}];
|
|
330
|
+
this.NewItemOptions = [];
|
|
290
331
|
/**
|
|
291
332
|
* The visual display mode for this component, tile will show the contents in tiles that are spaced and wrapped based on the viewport, list will show the details of the items in a list, and tree will show the items in a tree view - tree view NOT implemented yet
|
|
292
333
|
*/
|
|
@@ -306,10 +347,33 @@ export class ResourceBrowserComponent {
|
|
|
306
347
|
* Fires whenever the user changes the display mode of the component
|
|
307
348
|
*/
|
|
308
349
|
this.DisplayModeChanged = new EventEmitter();
|
|
350
|
+
/**
|
|
351
|
+
* Fires whenever the user clicks the back button to view the parent folder
|
|
352
|
+
*/
|
|
353
|
+
this.NavigateToParentEvent = new EventEmitter();
|
|
354
|
+
/**
|
|
355
|
+
* Fires whenever the users clicks to edit an Item that is not a folder
|
|
356
|
+
*/
|
|
357
|
+
this.EditItemEvent = new EventEmitter();
|
|
309
358
|
this._isLoading = false;
|
|
310
359
|
this._CategoryParentIDFieldName = undefined;
|
|
311
360
|
this._UserIDFieldName = undefined;
|
|
312
361
|
this._items = [];
|
|
362
|
+
this._DefaultNewItemOptions = [
|
|
363
|
+
{
|
|
364
|
+
Text: 'New Folder',
|
|
365
|
+
Description: 'Create a new Folder',
|
|
366
|
+
Icon: 'folder',
|
|
367
|
+
Action: () => {
|
|
368
|
+
if (this.EnableCategories) {
|
|
369
|
+
this.toggleUpsertFolderView(true, true);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
];
|
|
374
|
+
this.upsertNewFolderName = "";
|
|
375
|
+
this.upsertNewFolderDescription = "";
|
|
376
|
+
this.selectedFolder = null;
|
|
313
377
|
// JS code here and below from old component....
|
|
314
378
|
this._filterDebounceTime = 250;
|
|
315
379
|
this.filterItemsSubject = new Subject();
|
|
@@ -318,17 +382,9 @@ export class ResourceBrowserComponent {
|
|
|
318
382
|
this.selectedItem = null;
|
|
319
383
|
this.deleteDialogOpened = false;
|
|
320
384
|
this.copyFromDialogOpened = false;
|
|
321
|
-
this.
|
|
322
|
-
this.newFolderText = "Sample Folder";
|
|
385
|
+
this.upsertFolderDialogVisible = false;
|
|
323
386
|
this._allResourceTypes = [];
|
|
324
|
-
this.createNewRecordName = "Record";
|
|
325
387
|
this.entityObjectName = "";
|
|
326
|
-
/**
|
|
327
|
-
* Options for the create button dropdown
|
|
328
|
-
*/
|
|
329
|
-
this.dropdownOptions = [
|
|
330
|
-
{ text: "Folder" }
|
|
331
|
-
];
|
|
332
388
|
this._currentDeleteOrUnlinkState = false;
|
|
333
389
|
this.filterItemsSubject
|
|
334
390
|
.pipe(debounceTime(this._filterDebounceTime))
|
|
@@ -337,14 +393,26 @@ export class ResourceBrowserComponent {
|
|
|
337
393
|
ngOnInit() {
|
|
338
394
|
return __awaiter(this, void 0, void 0, function* () {
|
|
339
395
|
var _a, _b, _c;
|
|
396
|
+
/**
|
|
397
|
+
* Hide the create folder option is EnableCategories is false
|
|
398
|
+
*/
|
|
399
|
+
if (this.EnableCategories) {
|
|
400
|
+
this._DefaultNewItemOptions.push(...this.NewItemOptions);
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
this._DefaultNewItemOptions = this.NewItemOptions;
|
|
404
|
+
}
|
|
340
405
|
this._allResourceTypes = this.sharedService.ResourceTypes;
|
|
341
|
-
const
|
|
342
|
-
|
|
406
|
+
const resourceType = this._allResourceTypes.find(rt => {
|
|
407
|
+
return rt.Entity === this.ResourceTypeName;
|
|
408
|
+
});
|
|
409
|
+
if (!resourceType) {
|
|
343
410
|
throw new Error(`Resource Type ${this.ResourceTypeName} not found`);
|
|
344
|
-
|
|
411
|
+
}
|
|
412
|
+
this.ResourceType = resourceType;
|
|
413
|
+
if (!this.ResourceType.EntityID) {
|
|
345
414
|
throw new Error(`Resource Type ${this.ResourceTypeName} does not have an EntityID specified. EntityID is required for any Resource Type to be used with this component.`);
|
|
346
|
-
|
|
347
|
-
this.ResourceType = rt;
|
|
415
|
+
}
|
|
348
416
|
// now get the entity info for the resource type and for its category entity, if one is specified.
|
|
349
417
|
const md = new Metadata();
|
|
350
418
|
const resourceTypeEntity = md.EntityByID(this.ResourceType.EntityID);
|
|
@@ -364,30 +432,102 @@ export class ResourceBrowserComponent {
|
|
|
364
432
|
*/
|
|
365
433
|
Refresh() {
|
|
366
434
|
return __awaiter(this, void 0, void 0, function* () {
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
435
|
+
const views = yield this.LoadResources();
|
|
436
|
+
const categories = yield this.LoadCategories();
|
|
437
|
+
const items = [...categories, ...views];
|
|
438
|
+
const sortedItems = this.sortItems(items);
|
|
439
|
+
this._items = sortedItems;
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
LoadResources() {
|
|
443
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
444
|
+
let results = [];
|
|
445
|
+
if (!this.ResourceType || !this.ResourceType.Entity) {
|
|
446
|
+
return results;
|
|
447
|
+
}
|
|
448
|
+
const md = new Metadata();
|
|
449
|
+
const rv = new RunView();
|
|
450
|
+
// create a combined filter for the SQL query that combines the user's provided ItemFilter, if provided, with a user filter that only includes items that are OWNED by the current user
|
|
451
|
+
// and finally filter on the current category, if one is set and we have a category entity
|
|
452
|
+
let filter = "";
|
|
453
|
+
if (this.ItemFilter) {
|
|
454
|
+
filter += `(${this.ItemFilter})`;
|
|
455
|
+
}
|
|
456
|
+
if (this.UserIDFieldName) {
|
|
457
|
+
let base = this.ItemFilter ? "AND" : "";
|
|
458
|
+
filter += `${base}([${this.UserIDFieldName}] = '${md.CurrentUser.ID}')`;
|
|
459
|
+
}
|
|
460
|
+
if (this.CurrentCategoryID && this.CategoryIDFieldName) {
|
|
461
|
+
let base = (this.ItemFilter || this.UserIDFieldName) ? "AND" : "";
|
|
462
|
+
filter += `${base}([${this.CategoryIDFieldName}] = '${this.CurrentCategoryID}')`;
|
|
463
|
+
}
|
|
464
|
+
const itemResult = yield rv.RunView({
|
|
465
|
+
EntityName: this.ResourceType.Entity,
|
|
466
|
+
ExtraFilter: filter,
|
|
467
|
+
OrderBy: this.OrderBy,
|
|
468
|
+
ResultType: 'entity_object'
|
|
469
|
+
});
|
|
470
|
+
if (!itemResult.Success) {
|
|
471
|
+
LogError(`Unable to load views for ${this.ResourceType.Entity}. Reason: ${itemResult.ErrorMessage}`);
|
|
472
|
+
return results;
|
|
473
|
+
;
|
|
474
|
+
}
|
|
475
|
+
const views = itemResult.Results;
|
|
476
|
+
const items = views.map(view => new Item(view, ItemType.Resource));
|
|
477
|
+
return items;
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
LoadCategories() {
|
|
481
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
482
|
+
if (!this.EnableCategories || !this.CategoryEntityID) {
|
|
483
|
+
return [];
|
|
484
|
+
}
|
|
485
|
+
if (!this.ResourceType || !this.ResourceType.CategoryEntity) {
|
|
486
|
+
return [];
|
|
487
|
+
}
|
|
488
|
+
const md = new Metadata();
|
|
489
|
+
let filter = `UserID = '${md.CurrentUser.ID}' AND EntityID = '${this.CategoryEntityID}'`;
|
|
490
|
+
if (this.CurrentCategoryID) {
|
|
491
|
+
filter += ` AND ParentID = '${this.CurrentCategoryID}'`;
|
|
492
|
+
}
|
|
493
|
+
const rv = new RunView();
|
|
494
|
+
const rvResult = yield rv.RunView({
|
|
495
|
+
EntityName: this.ResourceType.CategoryEntity,
|
|
496
|
+
ExtraFilter: filter,
|
|
497
|
+
ResultType: 'entity_object'
|
|
498
|
+
});
|
|
499
|
+
if (!rvResult.Success) {
|
|
500
|
+
LogError(`Unable to load categories for ${this.ResourceType.CategoryEntity}. Reason: ${rvResult.ErrorMessage}`);
|
|
501
|
+
return [];
|
|
502
|
+
}
|
|
503
|
+
const categories = rvResult.Results;
|
|
504
|
+
const folders = categories.map((category) => {
|
|
505
|
+
const folderID = category.FirstPrimaryKey.Value;
|
|
506
|
+
const NameEntityField = category.Fields.find(field => field.EntityFieldInfo.IsNameField);
|
|
507
|
+
const folderName = NameEntityField ? NameEntityField.Value : "Folder";
|
|
508
|
+
const folder = new Folder(folderID, folderName);
|
|
509
|
+
folder.CategoryEntity = category;
|
|
510
|
+
folder.Description = category.Get("Description");
|
|
511
|
+
return folder;
|
|
512
|
+
});
|
|
513
|
+
const items = folders.map(folder => new Item(folder, ItemType.Folder));
|
|
514
|
+
return items;
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
//maybe pass in a sort function for custom sorting?
|
|
518
|
+
sortItems(items) {
|
|
519
|
+
items.sort(function (a, b) {
|
|
520
|
+
const aName = a.Name.toLowerCase();
|
|
521
|
+
const bName = b.Name.toLowerCase();
|
|
522
|
+
if (aName < bName) {
|
|
523
|
+
return -1;
|
|
389
524
|
}
|
|
525
|
+
if (aName > bName) {
|
|
526
|
+
return 1;
|
|
527
|
+
}
|
|
528
|
+
return 0;
|
|
390
529
|
});
|
|
530
|
+
return items;
|
|
391
531
|
}
|
|
392
532
|
//wrapper function for the grid view
|
|
393
533
|
onCellItemClicked(event) {
|
|
@@ -399,74 +539,63 @@ export class ResourceBrowserComponent {
|
|
|
399
539
|
}
|
|
400
540
|
this.ResourceSelected.emit(item);
|
|
401
541
|
}
|
|
402
|
-
|
|
403
|
-
// this.backButtonClickEvent.emit();
|
|
404
|
-
}
|
|
405
|
-
addResourceButtonClicked() {
|
|
542
|
+
updateFolder() {
|
|
406
543
|
return __awaiter(this, void 0, void 0, function* () {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
// }
|
|
427
|
-
// else{
|
|
428
|
-
// this.showNotification(`Unable to create ${resourceName}`, "error");
|
|
429
|
-
// }
|
|
544
|
+
const folder = this.selectedFolder;
|
|
545
|
+
if (!folder || !folder.CategoryEntity) {
|
|
546
|
+
LogError("Folder or CategoryEntity is not set, cannot update folder");
|
|
547
|
+
this.sharedService.CreateSimpleNotification("Unable to update folder", "error", 2500);
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
const categoryEntity = folder.CategoryEntity;
|
|
551
|
+
categoryEntity.Set("Name", this.upsertNewFolderName);
|
|
552
|
+
categoryEntity.Set("Description", this.upsertNewFolderDescription);
|
|
553
|
+
const saveResult = yield categoryEntity.Save();
|
|
554
|
+
if (!saveResult) {
|
|
555
|
+
LogError(`Unable to update folder ${folder.Name}`, undefined, categoryEntity.LatestResult);
|
|
556
|
+
this.sharedService.CreateSimpleNotification(`Unable to update folder ${folder.Name}`, "error", 2500);
|
|
557
|
+
}
|
|
558
|
+
else {
|
|
559
|
+
this.sharedService.CreateSimpleNotification(`Successfully updated folder ${folder.Name}`, "info", 2500);
|
|
560
|
+
yield this.Refresh();
|
|
561
|
+
}
|
|
562
|
+
this.toggleUpsertFolderView(false, false);
|
|
430
563
|
});
|
|
431
564
|
}
|
|
432
565
|
createFolder() {
|
|
433
566
|
return __awaiter(this, void 0, void 0, function* () {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
//
|
|
464
|
-
//
|
|
465
|
-
|
|
466
|
-
// else{
|
|
467
|
-
// this.sharedService.CreateSimpleNotification(`Unable to create folder ${folderName}`, "error", 3500);
|
|
468
|
-
// }
|
|
469
|
-
// this.newFolderText = "Sample Folder";
|
|
567
|
+
if (!this.ResourceType.CategoryEntity) {
|
|
568
|
+
LogError("ResourceType.CategoryEntity is not set, cannot create folder");
|
|
569
|
+
this.sharedService.CreateSimpleNotification("Unable to create folder", "error", 1500);
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
572
|
+
if (!this.CategoryEntityID) {
|
|
573
|
+
LogError("CategoryEntityID is not set, cannot create folder");
|
|
574
|
+
this.sharedService.CreateSimpleNotification("Unable to create folder", "error", 1500);
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
const md = new Metadata();
|
|
578
|
+
const folderEntity = yield md.GetEntityObject(this.ResourceType.CategoryEntity);
|
|
579
|
+
folderEntity.NewRecord();
|
|
580
|
+
folderEntity.Set("Name", this.upsertNewFolderName);
|
|
581
|
+
folderEntity.Set("Description", this.upsertNewFolderDescription);
|
|
582
|
+
folderEntity.Set("ParentID", this.CurrentCategoryID);
|
|
583
|
+
folderEntity.Set("UserID", md.CurrentUser.ID);
|
|
584
|
+
folderEntity.Set("EntityID", this.CategoryEntityID);
|
|
585
|
+
let saveResult = yield folderEntity.Save();
|
|
586
|
+
if (!saveResult) {
|
|
587
|
+
this.sharedService.CreateSimpleNotification(`Unable to create folder ${this.upsertNewFolderName}`, "error", 1500);
|
|
588
|
+
LogError(`Unable to create folder ${this.upsertNewFolderName}`, undefined, folderEntity.LatestResult);
|
|
589
|
+
}
|
|
590
|
+
this.toggleUpsertFolderView(false, false);
|
|
591
|
+
this.sharedService.CreateSimpleNotification(`successfully created folder ${this.upsertNewFolderName}`, 'success', 1500);
|
|
592
|
+
let folder = new Folder(folderEntity.Get("ID"), folderEntity.Get("Name"));
|
|
593
|
+
folder.ParentFolderID = folderEntity.Get("ParentID");
|
|
594
|
+
folder.Description = folderEntity.Get("Description");
|
|
595
|
+
let item = new Item(folder, ItemType.Folder);
|
|
596
|
+
//navigate to the newly created folder
|
|
597
|
+
//by raising an item click event
|
|
598
|
+
this.itemClick(item);
|
|
470
599
|
});
|
|
471
600
|
}
|
|
472
601
|
unlinkItem(item) {
|
|
@@ -476,39 +605,24 @@ export class ResourceBrowserComponent {
|
|
|
476
605
|
}
|
|
477
606
|
deleteOrUnlink(item, bDelete) {
|
|
478
607
|
return __awaiter(this, void 0, void 0, function* () {
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
// let event: BeforeDeleteItemEvent = new BeforeDeleteItemEvent(item);
|
|
494
|
-
// this.BeforeDeleteItemEvent.emit(event);
|
|
495
|
-
// if(event.Cancel){
|
|
496
|
-
// return;
|
|
497
|
-
// }
|
|
498
|
-
// this.deleteDialogOpened = true;
|
|
499
|
-
// }
|
|
500
|
-
// else if (item.Type === ItemType.Entity && !bDelete) {
|
|
501
|
-
// let event: BeforeUnlinkItemEvent = new BeforeUnlinkItemEvent(item);
|
|
502
|
-
// this.BeforeUnlinkItemEvent.emit(event);
|
|
503
|
-
// if(event.Cancel){
|
|
504
|
-
// return;
|
|
505
|
-
// }
|
|
506
|
-
// this.deleteDialogOpened = true;
|
|
507
|
-
// }
|
|
608
|
+
if (!item) {
|
|
609
|
+
return;
|
|
610
|
+
}
|
|
611
|
+
this._currentDeleteOrUnlinkState = bDelete;
|
|
612
|
+
this.selectedItem = item;
|
|
613
|
+
if (item.Type === ItemType.Folder && bDelete) {
|
|
614
|
+
this.deleteDialogOpened = true;
|
|
615
|
+
}
|
|
616
|
+
else if (item.Type === ItemType.Resource && bDelete) {
|
|
617
|
+
this.deleteDialogOpened = true;
|
|
618
|
+
}
|
|
619
|
+
else if (item.Type === ItemType.Resource && !bDelete) {
|
|
620
|
+
this.deleteDialogOpened = true;
|
|
621
|
+
}
|
|
508
622
|
});
|
|
509
623
|
}
|
|
510
624
|
goToParent() {
|
|
511
|
-
|
|
625
|
+
this.NavigateToParentEvent.emit();
|
|
512
626
|
}
|
|
513
627
|
deleteItem(item) {
|
|
514
628
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -517,105 +631,58 @@ export class ResourceBrowserComponent {
|
|
|
517
631
|
}
|
|
518
632
|
onConfirmDeleteItem(shouldDelete) {
|
|
519
633
|
return __awaiter(this, void 0, void 0, function* () {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
// let unlinkItemEvent: AfterUnlinkItemEvent = new AfterUnlinkItemEvent(item);
|
|
540
|
-
// this.AfterUnlinkItemEvent.emit(unlinkItemEvent);
|
|
541
|
-
// }
|
|
542
|
-
// this.selectedItem = null;
|
|
634
|
+
if (!this.selectedItem || !shouldDelete) {
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
this.deleteDialogOpened = false;
|
|
638
|
+
let item = this.selectedItem;
|
|
639
|
+
let success = false;
|
|
640
|
+
if (item.Type === ItemType.Folder && this._currentDeleteOrUnlinkState) {
|
|
641
|
+
success = yield this.deleteFolder(item);
|
|
642
|
+
}
|
|
643
|
+
else if (item.Type === ItemType.Resource && this._currentDeleteOrUnlinkState) {
|
|
644
|
+
success = yield this.deleteResource(item);
|
|
645
|
+
}
|
|
646
|
+
else if (item.Type === ItemType.Resource && !this._currentDeleteOrUnlinkState) {
|
|
647
|
+
success = yield this.unlinkResource(item);
|
|
648
|
+
}
|
|
649
|
+
this.selectedItem = null;
|
|
650
|
+
if (success) {
|
|
651
|
+
yield this.Refresh();
|
|
652
|
+
}
|
|
543
653
|
});
|
|
544
654
|
}
|
|
545
655
|
deleteFolder(item) {
|
|
546
656
|
return __awaiter(this, void 0, void 0, function* () {
|
|
657
|
+
const folder = item.Data;
|
|
658
|
+
if (!folder || !folder.CategoryEntity) {
|
|
659
|
+
LogError("Folder or CategoryEntity is not set, cannot delete folder");
|
|
660
|
+
this.sharedService.CreateSimpleNotification("Unable to delete folder", "error", 2500);
|
|
661
|
+
return false;
|
|
662
|
+
}
|
|
663
|
+
const hasChildren = yield this.doesFolderHaveChildren(folder.ID);
|
|
664
|
+
if (hasChildren) {
|
|
665
|
+
this.sharedService.CreateSimpleNotification(`Unable to delete Folder ${folder.Name} because it has children`, "error", 2500);
|
|
666
|
+
return false;
|
|
667
|
+
}
|
|
668
|
+
const categoryEntity = folder.CategoryEntity;
|
|
669
|
+
const deleteResult = yield categoryEntity.Delete();
|
|
670
|
+
if (!deleteResult) {
|
|
671
|
+
LogError(`Unable to delete folder ${folder.Name}`, undefined, categoryEntity.LatestResult);
|
|
672
|
+
this.sharedService.CreateSimpleNotification(`unable to delete folder ${folder.Name}.`, "error", 2500);
|
|
673
|
+
return false;
|
|
674
|
+
}
|
|
675
|
+
this.sharedService.CreateSimpleNotification(`Successfully deleted folder ${folder.Name}`, "info", 2500);
|
|
547
676
|
return true;
|
|
548
|
-
// const folder: Folder = <Folder>item.Data;
|
|
549
|
-
// //the DB will throw an error if we attempt to delete a folder that has children
|
|
550
|
-
// //i.e. sub folders or resources
|
|
551
|
-
// //so the default behavior is to notify the user that the delete operation cannot
|
|
552
|
-
// //go through
|
|
553
|
-
// const folderHasChildren: boolean = await this.doesFolderHaveChildren(folder.ID);
|
|
554
|
-
// if(folderHasChildren){
|
|
555
|
-
// this.showNotification(`unable to delete folder ${folder.Name} because it has children`, "error");
|
|
556
|
-
// return false;
|
|
557
|
-
// }
|
|
558
|
-
// this.showLoader = true;
|
|
559
|
-
// const md = new Metadata();
|
|
560
|
-
// let folderEntity: BaseEntity = await md.GetEntityObject<BaseEntity>(this.CategoryEntityName);
|
|
561
|
-
// let pkv: KeyValuePair = new KeyValuePair();
|
|
562
|
-
// pkv.FieldName = "ID";
|
|
563
|
-
// pkv.Value = folder.ID;
|
|
564
|
-
// let compositeKey: CompositeKey = new CompositeKey([pkv]);
|
|
565
|
-
// //create view browser component - this will be used to display views
|
|
566
|
-
// //then create a new component for applications that wraps around the view browser component
|
|
567
|
-
// let loadResult = await folderEntity.InnerLoad(compositeKey);
|
|
568
|
-
// if(!loadResult){
|
|
569
|
-
// this.sharedService.CreateSimpleNotification(`Unable to fetch folder ${folder.Name}`, "error", 3500);
|
|
570
|
-
// this.showLoader = false;
|
|
571
|
-
// return false;
|
|
572
|
-
// }
|
|
573
|
-
// let deleteResult = await folderEntity.Delete();
|
|
574
|
-
// if(!deleteResult){
|
|
575
|
-
// this.sharedService.CreateSimpleNotification(`Unable to delete folder ${folder.Name}`, "error", 3500);
|
|
576
|
-
// this.showLoader = false;
|
|
577
|
-
// return false;
|
|
578
|
-
// }
|
|
579
|
-
// else{
|
|
580
|
-
// this.sharedService.CreateSimpleNotification(`Successfully deleted folder ${folder.Name}`, "info", 2000);
|
|
581
|
-
// this.showLoader = false;
|
|
582
|
-
// }
|
|
583
|
-
// return true;
|
|
584
677
|
});
|
|
585
678
|
}
|
|
586
679
|
deleteResource(item) {
|
|
587
680
|
return __awaiter(this, void 0, void 0, function* () {
|
|
681
|
+
let genericEntity = item.Data;
|
|
682
|
+
if (!genericEntity) {
|
|
683
|
+
return false;
|
|
684
|
+
}
|
|
588
685
|
return true;
|
|
589
|
-
// let genericEntity: BaseEntity = <BaseEntity>item.Data;
|
|
590
|
-
// if(!genericEntity){
|
|
591
|
-
// return false;
|
|
592
|
-
// }
|
|
593
|
-
// //the only assumption we are making here is that the entityID
|
|
594
|
-
// //is a number
|
|
595
|
-
// const entityID = this.TryGetID(genericEntity);
|
|
596
|
-
// if (entityID && entityID.length > 0) {
|
|
597
|
-
// const md = new Metadata();
|
|
598
|
-
// let entityObject = await md.GetEntityObject(this.ItemEntityName);
|
|
599
|
-
// let pkv: KeyValuePair = new KeyValuePair();
|
|
600
|
-
// pkv.FieldName = "ID";
|
|
601
|
-
// pkv.Value = entityID;
|
|
602
|
-
// let compositeKey: CompositeKey = new CompositeKey([pkv]);
|
|
603
|
-
// let loadResult = await entityObject.InnerLoad(compositeKey);
|
|
604
|
-
// if(loadResult){
|
|
605
|
-
// let deleteResult = await entityObject.Delete();
|
|
606
|
-
// if(deleteResult){
|
|
607
|
-
// this.showNotification(`successfully deleted`, "info");
|
|
608
|
-
// return true;
|
|
609
|
-
// }
|
|
610
|
-
// else{
|
|
611
|
-
// this.showNotification(`Unable to delete`, "error");
|
|
612
|
-
// }
|
|
613
|
-
// }
|
|
614
|
-
// else{
|
|
615
|
-
// this.showNotification(`unable to fetch`, "error");
|
|
616
|
-
// }
|
|
617
|
-
// }
|
|
618
|
-
// return false;
|
|
619
686
|
});
|
|
620
687
|
}
|
|
621
688
|
unlinkResource(item) {
|
|
@@ -636,39 +703,32 @@ export class ResourceBrowserComponent {
|
|
|
636
703
|
}
|
|
637
704
|
doesFolderHaveChildren(folderID) {
|
|
638
705
|
return __awaiter(this, void 0, void 0, function* () {
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
706
|
+
if (!this.ResourceType.CategoryEntity) {
|
|
707
|
+
throw new Error("ResourceType.CategoryEntity is not set, cannot check for children");
|
|
708
|
+
}
|
|
709
|
+
const rv = new RunView();
|
|
710
|
+
const folderResult = yield rv.RunView({
|
|
711
|
+
EntityName: this.ResourceType.CategoryEntity,
|
|
712
|
+
ExtraFilter: `ParentID ='${folderID}'`
|
|
713
|
+
});
|
|
714
|
+
if (!folderResult.Success) {
|
|
715
|
+
throw new Error(`Unable to fetch children for folder ${folderID}. Reason: ${folderResult.ErrorMessage}`);
|
|
716
|
+
}
|
|
717
|
+
return folderResult.Results.length > 0;
|
|
647
718
|
});
|
|
648
719
|
}
|
|
649
|
-
showNotification(message, type) {
|
|
650
|
-
// if(this.showNotifications){
|
|
651
|
-
// this.sharedService.CreateSimpleNotification(message, type, 1000);
|
|
652
|
-
// }
|
|
653
|
-
}
|
|
654
|
-
TryGetID(data) {
|
|
655
|
-
if (data && data.ID) {
|
|
656
|
-
return data.ID;
|
|
657
|
-
}
|
|
658
|
-
else if (typeof data.Get === "function") {
|
|
659
|
-
return data.Get("ID");
|
|
660
|
-
}
|
|
661
|
-
}
|
|
662
720
|
changeViewMode(mode) {
|
|
663
|
-
|
|
664
|
-
// this.viewModeChangeEvent.emit(mode);
|
|
721
|
+
this.DisplayMode = mode;
|
|
665
722
|
}
|
|
666
723
|
onKeyup(Value) {
|
|
667
724
|
this.filter = Value;
|
|
668
725
|
this.filterItemsSubject.next(true);
|
|
669
726
|
}
|
|
670
|
-
|
|
671
|
-
this.
|
|
727
|
+
onUpsertFolderNameKeyup(value) {
|
|
728
|
+
this.upsertNewFolderName = value;
|
|
729
|
+
}
|
|
730
|
+
onUpsertFolderDescriptionKeyup(value) {
|
|
731
|
+
this.upsertNewFolderDescription = value;
|
|
672
732
|
}
|
|
673
733
|
filterItems(filter) {
|
|
674
734
|
if (!this.sourceItems) {
|
|
@@ -682,61 +742,29 @@ export class ResourceBrowserComponent {
|
|
|
682
742
|
return item.Name.toLowerCase().includes(filter.toLowerCase());
|
|
683
743
|
});
|
|
684
744
|
}
|
|
685
|
-
SetFavoriteStatus(item) {
|
|
686
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
687
|
-
// if(!item){
|
|
688
|
-
// return;
|
|
689
|
-
// }
|
|
690
|
-
// item.Favorite = !item.Favorite;
|
|
691
|
-
// const md: Metadata = new Metadata();
|
|
692
|
-
// let entityName: string = item.Type === ItemType.Folder ? this.CategoryEntityName : this.ItemEntityName;
|
|
693
|
-
// let compositeKey: CompositeKey = new CompositeKey([{FieldName: "ID", Value: item.Data.ID}]);
|
|
694
|
-
// await md.SetRecordFavoriteStatus(md.CurrentUser.ID, entityName, compositeKey, item.Favorite);
|
|
695
|
-
});
|
|
696
|
-
}
|
|
697
745
|
editItem(item) {
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
// }
|
|
715
|
-
}
|
|
716
|
-
onDropdownItemClick(data) {
|
|
746
|
+
if (!item || !item.Data) {
|
|
747
|
+
LogError("Item or item data is not set");
|
|
748
|
+
this.sharedService.CreateSimpleNotification("Unable to edit item", "error", 2500);
|
|
749
|
+
return;
|
|
750
|
+
}
|
|
751
|
+
if (item.Type === ItemType.Folder) {
|
|
752
|
+
const folder = item.Data;
|
|
753
|
+
this.selectedFolder = folder;
|
|
754
|
+
this.toggleUpsertFolderView(true, false);
|
|
755
|
+
}
|
|
756
|
+
else {
|
|
757
|
+
const event = new BeforeUpdateItemEvent(item);
|
|
758
|
+
this.EditItemEvent.emit(event);
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
onDropdownItemClick(dropdownItem) {
|
|
717
762
|
return __awaiter(this, void 0, void 0, function* () {
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
// }
|
|
724
|
-
// else if(data.text === this.resourceName){
|
|
725
|
-
// this.addResourceButtonClicked();
|
|
726
|
-
// }
|
|
727
|
-
// else if(data.text === this.createNewRecordName){
|
|
728
|
-
// if(this.entityFormDialogRef){
|
|
729
|
-
// // create a new record for the given entity
|
|
730
|
-
// const md = new Metadata();
|
|
731
|
-
// const newRecord = await md.GetEntityObject(this.entityObjectName);
|
|
732
|
-
// this.entityFormDialogRef.Record = newRecord;
|
|
733
|
-
// this.entityFormDialogRef.ShowForm();
|
|
734
|
-
// }
|
|
735
|
-
// }
|
|
736
|
-
// else{
|
|
737
|
-
// let event: DropdownOptionClickEvent = new DropdownOptionClickEvent(data.text);
|
|
738
|
-
// this.dropdownOptionClickEvent.emit(event);
|
|
739
|
-
// }
|
|
763
|
+
if (!dropdownItem || !dropdownItem.Action) {
|
|
764
|
+
LogError("Dropdown item or action is not set");
|
|
765
|
+
return;
|
|
766
|
+
}
|
|
767
|
+
dropdownItem.Action();
|
|
740
768
|
});
|
|
741
769
|
}
|
|
742
770
|
toggleCopyFromView() {
|
|
@@ -745,60 +773,60 @@ export class ResourceBrowserComponent {
|
|
|
745
773
|
getCopyFromTitle() {
|
|
746
774
|
return `Select ${this.ResourceTypeName} to Copy`;
|
|
747
775
|
}
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
776
|
+
toggleUpsertFolderView(visible, createNew) {
|
|
777
|
+
this.upsertFolderDialogVisible = visible;
|
|
778
|
+
if (createNew) {
|
|
779
|
+
this.upsertNewFolderName = "";
|
|
780
|
+
this.upsertNewFolderDescription = "";
|
|
781
|
+
this.selectedFolder = null;
|
|
751
782
|
}
|
|
752
|
-
else {
|
|
753
|
-
this.
|
|
783
|
+
else if (visible && this.selectedFolder) {
|
|
784
|
+
this.upsertNewFolderName = this.selectedFolder.Name;
|
|
785
|
+
this.upsertNewFolderDescription = this.selectedFolder.Description || "";
|
|
754
786
|
}
|
|
755
787
|
}
|
|
756
788
|
getIconForResourceType(item) {
|
|
789
|
+
if (!item) {
|
|
790
|
+
return "";
|
|
791
|
+
}
|
|
792
|
+
const LargeClass = "fa-3x ";
|
|
793
|
+
if (item.Type === ItemType.Folder) {
|
|
794
|
+
return LargeClass + "fa-regular fa-folder";
|
|
795
|
+
}
|
|
796
|
+
const resourceType = this._allResourceTypes.find(rt => rt.ID === this.ResourceType.ID);
|
|
797
|
+
if (resourceType) {
|
|
798
|
+
return LargeClass + resourceType.Icon; // + rotateStyle;
|
|
799
|
+
}
|
|
757
800
|
return "";
|
|
758
|
-
// if(!item){
|
|
759
|
-
// return "";
|
|
760
|
-
// }
|
|
761
|
-
// const LargeClass: string = "fa-3x ";
|
|
762
|
-
// if(item.Type === ItemType.Folder){
|
|
763
|
-
// return LargeClass + "fa-regular fa-folder";
|
|
764
|
-
// }
|
|
765
|
-
// const resourceType = this._allResourceTypes.find(rt => rt.Entity === this.Resource);
|
|
766
|
-
// if(resourceType){
|
|
767
|
-
// return LargeClass + resourceType.Icon;// + rotateStyle;
|
|
768
|
-
// }
|
|
769
|
-
// return "";
|
|
770
801
|
}
|
|
771
802
|
}
|
|
772
803
|
ResourceBrowserComponent.ɵfac = function ResourceBrowserComponent_Factory(t) { return new (t || ResourceBrowserComponent)(i0.ɵɵdirectiveInject(i1.SharedService)); };
|
|
773
|
-
ResourceBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ResourceBrowserComponent, selectors: [["mj-resource-browser"]], inputs: { ResourceTypeName: "ResourceTypeName", EnableCategories: "EnableCategories", EnableItemEdit: "EnableItemEdit", EnableItemDelete: "EnableItemDelete", EnableRemoveLink: "EnableRemoveLink", Title: "Title", ItemFilter: "ItemFilter", OrderBy: "OrderBy", NewItemOptions: "NewItemOptions",
|
|
804
|
+
ResourceBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ResourceBrowserComponent, selectors: [["mj-resource-browser"]], inputs: { ResourceTypeName: "ResourceTypeName", EnableCategories: "EnableCategories", CategoryEntityID: "CategoryEntityID", CurrentCategoryID: "CurrentCategoryID", EnableItemEdit: "EnableItemEdit", EnableItemDelete: "EnableItemDelete", EnableRemoveLink: "EnableRemoveLink", Title: "Title", ItemFilter: "ItemFilter", OrderBy: "OrderBy", NewItemOptions: "NewItemOptions", DisplayMode: "DisplayMode" }, outputs: { ResourceSelected: "ResourceSelected", CategoryChanged: "CategoryChanged", DisplayModeChanged: "DisplayModeChanged", NavigateToParentEvent: "NavigateToParentEvent", EditItemEvent: "EditItemEvent" }, decls: 25, vars: 8, consts: [["searchInput", ""], ["entityFormDialog", ""], [1, "generic-browser-list-container"], [1, "main-fav-wrapper"], [1, "title-wrapper"], [1, "title-flex-display"], ["textField", "Text", "themeColor", "info", 1, "custom-dropdwn", 3, "data"], [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"], ["class", "dialog-wrapper", "title", "Confirm", 3, "minWidth", "width", "close", 4, "ngIf"], ["class", "dialog-wrapper", 3, "title", "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"], ["textField", "Text", "themeColor", "info", 1, "custom-dropdwn", 3, "itemClick", "data"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-magnifying-glass", "margin-left-small"], [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", "Description", "title", "Description"], ["field", "Type", "title", "Type"], ["title", ""], ["kendoGridCellTemplate", ""], [1, "grid-wrapper"], [1, "list-btn"], ["title", "Remove Link to Shared Item", 1, "list-btn"], [1, "list-btn", 3, "click"], [1, "fa-regular", "fa-pen-to-square"], [1, "fa-regular", "fa-trash-can"], ["title", "Remove Link to Shared Item", 1, "list-btn", 3, "click"], [1, "fa-solid", "fa-link-slash", 2, "color", "rgb(19, 92, 201)"], [1, "card-wrapper", "cursor-pointer"], [1, "list-item-icon"], ["title", "Edit Item", 1, "list-btn"], ["title", "Delete 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", "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"], [1, "dialog-wrapper", 3, "close", "title", "minWidth", "width"], ["text", "Name"], ["placeholder", "Enter a folder name", 3, "valueChange", "value"], ["text", "Description"], ["placeholder", "Enter a Description", 3, "valueChange", "value"], ["kendoButton", "", "themeColor", "info", 1, "cancel-btn"]], template: function ResourceBrowserComponent_Template(rf, ctx) { if (rf & 1) {
|
|
774
805
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
775
806
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
|
|
776
807
|
i0.ɵɵtemplate(4, ResourceBrowserComponent_Conditional_4_Template, 2, 0);
|
|
777
808
|
i0.ɵɵelementStart(5, "h4");
|
|
778
809
|
i0.ɵɵtext(6);
|
|
779
810
|
i0.ɵɵelementEnd()();
|
|
780
|
-
i0.ɵɵ
|
|
781
|
-
i0.ɵɵ
|
|
782
|
-
i0.ɵɵ
|
|
783
|
-
i0.ɵɵ
|
|
784
|
-
i0.ɵɵ
|
|
785
|
-
i0.ɵɵelementStart(10, "div", 4)(11, "div", 8)(12, "kendo-textbox", 9, 0);
|
|
786
|
-
i0.ɵɵlistener("keyup", function ResourceBrowserComponent_Template_kendo_textbox_keyup_12_listener() { i0.ɵɵrestoreView(_r1); const searchInput_r4 = i0.ɵɵreference(13); return i0.ɵɵresetView(ctx.onKeyup(searchInput_r4.value)); });
|
|
787
|
-
i0.ɵɵtemplate(14, ResourceBrowserComponent_ng_template_14_Template, 1, 0, "ng-template", 10);
|
|
811
|
+
i0.ɵɵtemplate(7, ResourceBrowserComponent_Conditional_7_Template, 3, 1, "kendo-dropdownbutton", 6);
|
|
812
|
+
i0.ɵɵelementEnd();
|
|
813
|
+
i0.ɵɵelementStart(8, "div", 4)(9, "div", 7)(10, "kendo-textbox", 8, 0);
|
|
814
|
+
i0.ɵɵlistener("keyup", function ResourceBrowserComponent_Template_kendo_textbox_keyup_10_listener() { i0.ɵɵrestoreView(_r1); const searchInput_r5 = i0.ɵɵreference(11); return i0.ɵɵresetView(ctx.onKeyup(searchInput_r5.value)); });
|
|
815
|
+
i0.ɵɵtemplate(12, ResourceBrowserComponent_ng_template_12_Template, 1, 0, "ng-template", 9);
|
|
788
816
|
i0.ɵɵelementEnd()();
|
|
789
|
-
i0.ɵɵelementStart(
|
|
790
|
-
i0.ɵɵlistener("click", function
|
|
791
|
-
i0.ɵɵelement(
|
|
817
|
+
i0.ɵɵelementStart(13, "div", 10)(14, "button", 11);
|
|
818
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("List")); });
|
|
819
|
+
i0.ɵɵelement(15, "span", 12);
|
|
792
820
|
i0.ɵɵelementEnd();
|
|
793
|
-
i0.ɵɵelementStart(
|
|
794
|
-
i0.ɵɵlistener("click", function
|
|
795
|
-
i0.ɵɵelement(
|
|
821
|
+
i0.ɵɵelementStart(16, "button", 13);
|
|
822
|
+
i0.ɵɵlistener("click", function ResourceBrowserComponent_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("Tile")); });
|
|
823
|
+
i0.ɵɵelement(17, "span", 14);
|
|
796
824
|
i0.ɵɵelementEnd()()();
|
|
797
|
-
i0.ɵɵelementStart(
|
|
798
|
-
i0.ɵɵtemplate(
|
|
825
|
+
i0.ɵɵelementStart(18, "div", 15);
|
|
826
|
+
i0.ɵɵtemplate(19, ResourceBrowserComponent_Conditional_19_Template, 1, 0, "kendo-loader", 16)(20, ResourceBrowserComponent_Conditional_20_Template, 2, 1);
|
|
799
827
|
i0.ɵɵelementEnd()();
|
|
800
|
-
i0.ɵɵtemplate(
|
|
801
|
-
i0.ɵɵelement(
|
|
828
|
+
i0.ɵɵtemplate(21, ResourceBrowserComponent_kendo_dialog_21_Template, 10, 4, "kendo-dialog", 17)(22, ResourceBrowserComponent_kendo_dialog_22_Template, 13, 6, "kendo-dialog", 18);
|
|
829
|
+
i0.ɵɵelement(23, "mj-entity-form-dialog", 19, 1);
|
|
802
830
|
i0.ɵɵelementEnd();
|
|
803
831
|
} if (rf & 2) {
|
|
804
832
|
i0.ɵɵadvance(4);
|
|
@@ -806,26 +834,30 @@ ResourceBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Re
|
|
|
806
834
|
i0.ɵɵadvance(2);
|
|
807
835
|
i0.ɵɵtextInterpolate(ctx.Title);
|
|
808
836
|
i0.ɵɵadvance();
|
|
809
|
-
i0.ɵɵ
|
|
810
|
-
i0.ɵɵadvance(
|
|
837
|
+
i0.ɵɵconditional(ctx.ItemOptions.length > 0 ? 7 : -1);
|
|
838
|
+
i0.ɵɵadvance(3);
|
|
811
839
|
i0.ɵɵproperty("clearButton", true);
|
|
812
840
|
i0.ɵɵadvance(2);
|
|
813
841
|
i0.ɵɵproperty("showSeparator", true);
|
|
814
842
|
i0.ɵɵadvance(7);
|
|
815
|
-
i0.ɵɵconditional(ctx.IsLoading ?
|
|
843
|
+
i0.ɵɵconditional(ctx.IsLoading ? 19 : 20);
|
|
816
844
|
i0.ɵɵadvance(2);
|
|
817
845
|
i0.ɵɵproperty("ngIf", ctx.deleteDialogOpened);
|
|
818
846
|
i0.ɵɵadvance();
|
|
819
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
820
|
-
} }, 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}"] });
|
|
847
|
+
i0.ɵɵproperty("ngIf", ctx.upsertFolderDialogVisible);
|
|
848
|
+
} }, 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.LabelComponent, i9.CardComponent, i9.CardBodyComponent, i9.CardTitleDirective, i9.CardSubtitleDirective, i10.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}"] });
|
|
821
849
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceBrowserComponent, [{
|
|
822
850
|
type: Component,
|
|
823
|
-
args: [{ selector: 'mj-resource-browser', 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(CurrentCategoryID){\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 @if (IsLoading) {\n <kendo-loader type=\"converging-spinner\"></kendo-loader>\n }\n @else {\n @if(DisplayMode === 'List'){\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(EnableItemEdit){\n <button class=\"list-btn\" (click)=\"editItem(dataItem)\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n @if(EnableItemDelete) {\n <button class=\"list-btn\" (click)=\"deleteItem(dataItem)\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button> \n }\n @if(EnableRemoveLink) {\n <button (click)=\"unlinkItem(dataItem)\" 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 </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(EnableItemEdit && (!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(EnableItemDelete && (!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 (EnableRemoveLink && 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"] }]
|
|
851
|
+
args: [{ selector: 'mj-resource-browser', 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(CurrentCategoryID){\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 @if(ItemOptions.length > 0){\n <kendo-dropdownbutton \n class=\"custom-dropdwn\" \n (itemClick)=\"onDropdownItemClick($event)\" \n [data]=\"ItemOptions\" \n textField=\"Text\"\n themeColor=\"info\">\n <span class=\"fa-solid fa-plus\"></span>\n Create New\n </kendo-dropdownbutton> \n }\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('List')\" class=\"cursor-pointer grid-btn btn-cmn\">\n <span class=\"fa-solid fa-bars\"></span>\n </button>\n <button kendobutton (click)=\"changeViewMode('Tile')\" 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 @if (IsLoading) {\n <kendo-loader type=\"converging-spinner\"></kendo-loader>\n }\n @else {\n @if(DisplayMode === 'List'){\n <kendo-grid (cellClick)=\"onCellItemClicked($event)\" [kendoGridBinding]=\"Items\">\n <kendo-grid-column field=\"Name\" title=\"Name\"></kendo-grid-column>\n <kendo-grid-column field=\"Description\" title=\"Description\"></kendo-grid-column>\n <kendo-grid-column field=\"Type\" title=\"Type\"></kendo-grid-column>\n <kendo-grid-column title=\"\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <div class=\"grid-wrapper\">\n @if(EnableItemEdit && (!dataItem.IsLink || dataItem.LinkPermissionLevel === 'Owner' || dataItem.LinkPermissionLevel === 'Edit')) {\n <button class=\"list-btn\" (click)=\"editItem(dataItem)\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n @if(EnableItemDelete && (!dataItem.IsLike || dataItem.LinkPermissionLevel === 'Owner')) {\n <button class=\"list-btn\" (click)=\"deleteItem(dataItem)\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button> \n }\n @if(EnableRemoveLink && dataItem.IsLink) {\n <button (click)=\"unlinkItem(dataItem)\" 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 </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(EnableItemEdit && (!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(EnableItemDelete && (!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 (EnableRemoveLink && 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]=\"selectedFolder ? 'Edit Folder' : 'Create new folder'\" \n *ngIf=\"upsertFolderDialogVisible\" \n (close)=\"toggleUpsertFolderView(false, false)\"\n [minWidth]=\"250\"\n [width]=\"450\"\n class=\"dialog-wrapper\"\n >\n <div class=\"search\">\n <kendo-label text=\"Name\">\n <kendo-textbox [value]=\"upsertNewFolderName\" placeholder=\"Enter a folder name\" (valueChange)=\"onUpsertFolderNameKeyup($event)\"/>\n </kendo-label>\n </div>\n <br>\n <div class=\"search\">\n <kendo-label text=\"Description\">\n <kendo-textbox [value]=\"upsertNewFolderDescription\" placeholder=\"Enter a Description\" (valueChange)=\"onUpsertFolderDescriptionKeyup($event)\"/>\n </kendo-label>\n </div>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n @if(selectedFolder){\n <button class=\"cancel-btn\" (click)=\"updateFolder()\" kendoButton themeColor=\"info\">\n Update\n </button>\n }\n @else {\n <button class=\"cancel-btn\" (click)=\"createFolder()\" kendoButton themeColor=\"info\">\n Create\n </button>\n }\n <button class=\"yes-btn\" (click)=\"toggleUpsertFolderView(false, false)\" 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"] }]
|
|
824
852
|
}], () => [{ type: i1.SharedService }], { ResourceTypeName: [{
|
|
825
853
|
type: Input,
|
|
826
854
|
args: [{ required: true }]
|
|
827
855
|
}], EnableCategories: [{
|
|
828
856
|
type: Input
|
|
857
|
+
}], CategoryEntityID: [{
|
|
858
|
+
type: Input
|
|
859
|
+
}], CurrentCategoryID: [{
|
|
860
|
+
type: Input
|
|
829
861
|
}], EnableItemEdit: [{
|
|
830
862
|
type: Input
|
|
831
863
|
}], EnableItemDelete: [{
|
|
@@ -840,8 +872,6 @@ ResourceBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Re
|
|
|
840
872
|
type: Input
|
|
841
873
|
}], NewItemOptions: [{
|
|
842
874
|
type: Input
|
|
843
|
-
}], CurrentCategoryID: [{
|
|
844
|
-
type: Input
|
|
845
875
|
}], DisplayMode: [{
|
|
846
876
|
type: Input
|
|
847
877
|
}], ResourceSelected: [{
|
|
@@ -850,6 +880,10 @@ ResourceBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Re
|
|
|
850
880
|
type: Output
|
|
851
881
|
}], DisplayModeChanged: [{
|
|
852
882
|
type: Output
|
|
883
|
+
}], NavigateToParentEvent: [{
|
|
884
|
+
type: Output
|
|
885
|
+
}], EditItemEvent: [{
|
|
886
|
+
type: Output
|
|
853
887
|
}] }); })();
|
|
854
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceBrowserComponent, { className: "ResourceBrowserComponent", filePath: "src/lib/resource-browser/resource-browser.component.ts", lineNumber:
|
|
888
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceBrowserComponent, { className: "ResourceBrowserComponent", filePath: "src/lib/resource-browser/resource-browser.component.ts", lineNumber: 15 }); })();
|
|
855
889
|
//# sourceMappingURL=resource-browser.component.js.map
|