@memberjunction/ng-explorer-core 0.9.211 → 0.9.214
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/generic/Item.types.d.ts +14 -1
- package/dist/generic/Item.types.d.ts.map +1 -1
- package/dist/generic/Item.types.js +17 -0
- package/dist/generic/app-nav-view.types.d.ts +1 -0
- package/dist/generic/app-nav-view.types.d.ts.map +1 -1
- package/dist/generic/app-nav-view.types.js +1 -0
- package/dist/lib/app-view/application-view.component.d.ts +17 -4
- package/dist/lib/app-view/application-view.component.d.ts.map +1 -1
- package/dist/lib/app-view/application-view.component.js +154 -66
- package/dist/lib/base-browser-component/base-browser-component.d.ts +8 -8
- package/dist/lib/base-browser-component/base-browser-component.d.ts.map +1 -1
- package/dist/lib/base-browser-component/base-browser-component.js +39 -43
- package/dist/lib/dashboard-browser-component/dashboard-browser.component.d.ts +5 -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 +22 -37
- package/dist/lib/data-browser-component/data-browser.component.js +2 -2
- package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts +9 -2
- package/dist/lib/expansion-panel-component/expansion-panel-component.d.ts.map +1 -1
- package/dist/lib/expansion-panel-component/expansion-panel-component.js +152 -38
- package/dist/lib/favorites/favorites.component.js +2 -2
- package/dist/lib/files/files.component.d.ts +2 -2
- package/dist/lib/files/files.component.d.ts.map +1 -1
- package/dist/lib/files/files.component.js +11 -9
- package/dist/lib/generic-browse-list/generic-browse-list.component.js +45 -76
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts +36 -4
- package/dist/lib/generic-browser-list/generic-browser-list.component.d.ts.map +1 -1
- package/dist/lib/generic-browser-list/generic-browser-list.component.js +414 -75
- package/dist/lib/header/header.component.js +2 -2
- package/dist/lib/home-component/home.component.js +2 -2
- package/dist/lib/navigation/navigation.component.d.ts +2 -2
- package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
- package/dist/lib/navigation/navigation.component.js +21 -9
- package/dist/lib/query-browser-component/query-browser.component.d.ts +5 -5
- package/dist/lib/query-browser-component/query-browser.component.d.ts.map +1 -1
- package/dist/lib/query-browser-component/query-browser.component.js +22 -38
- package/dist/lib/report-browser-component/report-browser.component.d.ts +7 -6
- package/dist/lib/report-browser-component/report-browser.component.d.ts.map +1 -1
- package/dist/lib/report-browser-component/report-browser.component.js +24 -37
- package/dist/lib/single-application/single-application.component.js +2 -2
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +3 -3
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts +4 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +31 -20
- package/dist/lib/single-entity/single-entity.component.js +2 -2
- package/dist/lib/single-view/single-view.component.js +3 -3
- package/dist/lib/user-view-properties/view-properties-dialog.component.d.ts.map +1 -1
- package/dist/lib/user-view-properties/view-properties-dialog.component.js +26 -24
- package/dist/module.d.ts +12 -11
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +4 -0
- package/package.json +10 -10
|
@@ -1,29 +1,19 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { Component, Input } from '@angular/core';
|
|
11
|
+
import { Metadata, RunView } from "@memberjunction/core";
|
|
12
|
+
import { ItemType, TreeFolder, TreeItem } from '../../generic/Item.types';
|
|
2
13
|
import * as i0 from "@angular/core";
|
|
3
14
|
import * as i1 from "@memberjunction/ng-shared";
|
|
4
15
|
import * as i2 from "@angular/router";
|
|
5
|
-
import * as i3 from "@angular
|
|
6
|
-
import * as i4 from "@progress/kendo-angular-listview";
|
|
7
|
-
import * as i5 from "@progress/kendo-angular-layout";
|
|
8
|
-
function ExpansionPanelComponent_kendo_expansionpanel_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
-
i0.ɵɵelementStart(0, "h3");
|
|
10
|
-
i0.ɵɵtext(1);
|
|
11
|
-
i0.ɵɵelementEnd();
|
|
12
|
-
} if (rf & 2) {
|
|
13
|
-
const dataItem_r4 = ctx.dataItem;
|
|
14
|
-
i0.ɵɵadvance();
|
|
15
|
-
i0.ɵɵtextInterpolate(dataItem_r4.Name);
|
|
16
|
-
} }
|
|
17
|
-
function ExpansionPanelComponent_kendo_expansionpanel_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
-
i0.ɵɵelementStart(0, "kendo-expansionpanel", 2)(1, "div", 3)(2, "kendo-listview", 4);
|
|
19
|
-
i0.ɵɵtemplate(3, ExpansionPanelComponent_kendo_expansionpanel_1_ng_template_3_Template, 2, 1, "ng-template", 5);
|
|
20
|
-
i0.ɵɵelementEnd()()();
|
|
21
|
-
} if (rf & 2) {
|
|
22
|
-
const item_r1 = ctx.$implicit;
|
|
23
|
-
i0.ɵɵproperty("title", item_r1.Name);
|
|
24
|
-
i0.ɵɵadvance(2);
|
|
25
|
-
i0.ɵɵproperty("height", 400)("data", item_r1.Children);
|
|
26
|
-
} }
|
|
16
|
+
import * as i3 from "@progress/kendo-angular-treeview";
|
|
27
17
|
export class ExpansionPanelComponent {
|
|
28
18
|
constructor(sharedService, router) {
|
|
29
19
|
this.sharedService = sharedService;
|
|
@@ -31,30 +21,154 @@ export class ExpansionPanelComponent {
|
|
|
31
21
|
this.items = [];
|
|
32
22
|
}
|
|
33
23
|
ngOnInit() {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
}
|
|
25
|
+
onTreeNodeSelect(event) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
let selectedItem = this.getTreeItem(event.index);
|
|
28
|
+
if (!selectedItem) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (selectedItem.Type === ItemType.Application) {
|
|
32
|
+
let application = selectedItem.Data;
|
|
33
|
+
this.router.navigate(["app", application.Name]);
|
|
34
|
+
}
|
|
35
|
+
else if (selectedItem.Type === ItemType.Entity) {
|
|
36
|
+
//we need to get the root item to get the applicationName
|
|
37
|
+
const keys = event.index.split("_");
|
|
38
|
+
let rootItem = this.items[parseInt(keys[0])];
|
|
39
|
+
let application = rootItem.Data;
|
|
40
|
+
let entity = selectedItem.Data;
|
|
41
|
+
this.router.navigate(["app", application.Name, entity.Entity]);
|
|
42
|
+
}
|
|
43
|
+
else if (selectedItem.Type === ItemType.UserView) {
|
|
44
|
+
let userView = selectedItem.Data;
|
|
45
|
+
this.router.navigate(["resource", "view", userView.ID]);
|
|
46
|
+
}
|
|
47
|
+
else if (selectedItem.Type === ItemType.Folder) {
|
|
48
|
+
//we need to get the root item to get the applicationName
|
|
49
|
+
const keys = event.index.split("_");
|
|
50
|
+
let rootItem = this.items[parseInt(keys[0])];
|
|
51
|
+
let application = rootItem.Data;
|
|
52
|
+
let folder = selectedItem.Data;
|
|
53
|
+
this.router.navigate(["app", application.Name, folder.ID]);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
onTreeNodeExpand(event) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
let selectedItem = this.getTreeItem(event.index);
|
|
60
|
+
if (!selectedItem) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (selectedItem.Type === ItemType.Application) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (selectedItem.Type === ItemType.Entity) {
|
|
67
|
+
selectedItem.ChildItems = [];
|
|
68
|
+
let data = selectedItem.Data;
|
|
69
|
+
let treeNodeFolders = yield this.getFoldersForTreeNode(data.EntityID, null);
|
|
70
|
+
let treeNodeUserViews = yield this.getUserViewsForTreeNode(data.EntityID, null);
|
|
71
|
+
selectedItem.ChildItems.push(...treeNodeFolders);
|
|
72
|
+
selectedItem.ChildItems.push(...treeNodeUserViews);
|
|
73
|
+
}
|
|
74
|
+
else if (selectedItem.Type === ItemType.Folder) {
|
|
75
|
+
selectedItem.ChildItems = [];
|
|
76
|
+
let data = selectedItem.Data;
|
|
77
|
+
let parentFolderID = data.ParentFolderID ? data.ParentFolderID.toString() : null;
|
|
78
|
+
let treeNodeFolders = yield this.getFoldersForTreeNode(data.EntityID, parentFolderID);
|
|
79
|
+
let treeNodeUserViews = yield this.getUserViewsForTreeNode(data.EntityID, data.ID.toString());
|
|
80
|
+
selectedItem.ChildItems.push(...treeNodeFolders);
|
|
81
|
+
selectedItem.ChildItems.push(...treeNodeUserViews);
|
|
82
|
+
}
|
|
83
|
+
this.sortItems(selectedItem.ChildItems);
|
|
84
|
+
//this is to simply refresh the treeview and show the new items
|
|
85
|
+
this.items = [...this.items];
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
getFoldersForTreeNode(entityID, selectedFolderID) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const md = new Metadata();
|
|
91
|
+
const categoryIDFilter = selectedFolderID ? `ParentID=${selectedFolderID}` : 'ParentID IS NULL';
|
|
92
|
+
const userViewFilter = `EntityID = ${entityID} AND ` + categoryIDFilter;
|
|
93
|
+
const viewResults = yield this.RunView('User View Categories', userViewFilter);
|
|
94
|
+
return viewResults.map((result) => {
|
|
95
|
+
let treeFolder = new TreeFolder(result.EntityID, result.ID, result.Name);
|
|
96
|
+
treeFolder.ParentFolderID = result.ID;
|
|
97
|
+
let child = new TreeItem(treeFolder, ItemType.Folder);
|
|
98
|
+
//we need a dummy child node so that the expand arrow appears
|
|
99
|
+
child.ChildItems.push(new TreeItem({ Name: 'Stub Node' }, ItemType.StubData));
|
|
100
|
+
return child;
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
getUserViewsForTreeNode(entityID, selectedFolderID) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const md = new Metadata();
|
|
107
|
+
const categoryIDFilter = selectedFolderID ? `CategoryID=${selectedFolderID}` : 'CategoryID IS NULL';
|
|
108
|
+
const userViewFilter = `UserID = ${md.CurrentUser.ID} AND EntityID = ${entityID} AND ` + categoryIDFilter;
|
|
109
|
+
const viewResults = yield this.RunView('User Views', userViewFilter);
|
|
110
|
+
return viewResults.map((result) => {
|
|
111
|
+
let treeItem = new TreeItem(result, ItemType.UserView);
|
|
112
|
+
return treeItem;
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
RunView(entityName, extraFilter) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
const rv = new RunView();
|
|
119
|
+
const result = yield rv.RunView({
|
|
120
|
+
EntityName: entityName,
|
|
121
|
+
ExtraFilter: extraFilter
|
|
122
|
+
});
|
|
123
|
+
if (result && result.Success) {
|
|
124
|
+
return result.Results;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//maybe pass in a sort function for custom sorting?
|
|
132
|
+
sortItems(items) {
|
|
133
|
+
items.sort(function (a, b) {
|
|
134
|
+
if (a.Name < b.Name) {
|
|
135
|
+
return -1;
|
|
136
|
+
}
|
|
137
|
+
if (a.Name > b.Name) {
|
|
138
|
+
return 1;
|
|
139
|
+
}
|
|
140
|
+
return 0;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//not very robust and can easily break but
|
|
144
|
+
//this works for the common path
|
|
145
|
+
getTreeItem(index) {
|
|
146
|
+
const keys = index.split("_");
|
|
147
|
+
let selectedItem = null;
|
|
148
|
+
for (const key of keys) {
|
|
149
|
+
if (!selectedItem) {
|
|
150
|
+
selectedItem = this.items[parseInt(key)];
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
selectedItem = selectedItem.ChildItems[parseInt(key)];
|
|
154
|
+
}
|
|
41
155
|
}
|
|
42
|
-
|
|
156
|
+
return selectedItem;
|
|
43
157
|
}
|
|
44
158
|
}
|
|
45
159
|
ExpansionPanelComponent.ɵfac = function ExpansionPanelComponent_Factory(t) { return new (t || ExpansionPanelComponent)(i0.ɵɵdirectiveInject(i1.SharedService), i0.ɵɵdirectiveInject(i2.Router)); };
|
|
46
|
-
ExpansionPanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExpansionPanelComponent, selectors: [["expansion-panel-component"]], inputs: { items: "items" }, decls: 2, vars: 1, consts: [[1, "wrapper"], [
|
|
47
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
48
|
-
i0.ɵɵ
|
|
49
|
-
i0.ɵɵelementEnd();
|
|
160
|
+
ExpansionPanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExpansionPanelComponent, selectors: [["expansion-panel-component"]], inputs: { items: "items" }, decls: 2, vars: 1, consts: [[1, "panelbar-wrapper"], ["textField", "Name", "kendoTreeViewExpandable", "", "kendoTreeViewHierarchyBinding", "", "childrenField", "ChildItems", 3, "nodes", "expand", "selectionChange"]], template: function ExpansionPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "kendo-treeview", 1);
|
|
162
|
+
i0.ɵɵlistener("expand", function ExpansionPanelComponent_Template_kendo_treeview_expand_1_listener($event) { return ctx.onTreeNodeExpand($event); })("selectionChange", function ExpansionPanelComponent_Template_kendo_treeview_selectionChange_1_listener($event) { return ctx.onTreeNodeSelect($event); });
|
|
163
|
+
i0.ɵɵelementEnd()();
|
|
50
164
|
} if (rf & 2) {
|
|
51
165
|
i0.ɵɵadvance();
|
|
52
|
-
i0.ɵɵproperty("
|
|
53
|
-
} }, dependencies: [i3.
|
|
166
|
+
i0.ɵɵproperty("nodes", ctx.items);
|
|
167
|
+
} }, dependencies: [i3.TreeViewComponent, i3.ExpandDirective, i3.HierarchyBindingDirective], styles: [".wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n}\r\n \r\nkendo-expansionpanel[_ngcontent-%COMP%] {\r\n width: 300px;\r\n}\r\n \r\n.content[_ngcontent-%COMP%] {\r\n display: flex;\r\n}\r\n\r\n.panelbar-wrapper[_ngcontent-%COMP%] {\r\n width: 274px;\r\n margin: 0 auto;\r\n height: calc(100vh - 80px);\r\n overflow-y: auto;\r\n padding: 16px 0;\r\n box-sizing: border-box;\r\n}\r\n .panelbar-wrapper .k-treeview-group .k-treeview-item {\r\n padding: 5px 14px !important;\r\n}\r\n .panelbar-wrapper .k-treeview-group .k-treeview-item div .k-treeview-toggle {\r\n margin: 0;\r\n}\r\n .panelbar-wrapper .k-treeview-group .k-treeview-item div {\r\n color: var(--white-color);\r\n}\r\n\r\n .panelbar-wrapper .k-treeview-group .k-treeview-item:hover {\r\n background: rgba(255, 255, 255, 0.15);\r\n}\r\n\r\n .panelbar-wrapper .k-treeview-group .k-treeview-item div > .k-treeview-leaf {\r\n white-space: pre-line;\r\n box-shadow: none;\r\n}\r\n .panelbar-wrapper .k-treeview-group .k-treeview-item div > .k-treeview-leaf:hover, .panelbar-wrapper .k-treeview-group .k-treeview-item div > .k-treeview-leaf:focus {\r\n box-shadow: none;\r\n background: transparent;\r\n color: var(--white-color);\r\n}"] });
|
|
54
168
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExpansionPanelComponent, [{
|
|
55
169
|
type: Component,
|
|
56
|
-
args: [{ selector: 'expansion-panel-component', template: "<div class=\"wrapper\">\r\n <kendo-
|
|
170
|
+
args: [{ selector: 'expansion-panel-component', template: "<div class=\"panelbar-wrapper\">\r\n <kendo-treeview\r\n [nodes]=\"items\"\r\n textField=\"Name\"\r\n kendoTreeViewExpandable\r\n kendoTreeViewHierarchyBinding\r\n childrenField=\"ChildItems\"\r\n (expand)=\"onTreeNodeExpand($event)\"\r\n (selectionChange)=\"onTreeNodeSelect($event)\"\r\n >\r\n </kendo-treeview>\r\n</div>", styles: [".wrapper {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n}\r\n \r\nkendo-expansionpanel {\r\n width: 300px;\r\n}\r\n \r\n.content {\r\n display: flex;\r\n}\r\n\r\n.panelbar-wrapper {\r\n width: 274px;\r\n margin: 0 auto;\r\n height: calc(100vh - 80px);\r\n overflow-y: auto;\r\n padding: 16px 0;\r\n box-sizing: border-box;\r\n}\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item {\r\n padding: 5px 14px !important;\r\n}\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item div .k-treeview-toggle {\r\n margin: 0;\r\n}\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item div {\r\n color: var(--white-color);\r\n}\r\n\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item:hover {\r\n background: rgba(255, 255, 255, 0.15);\r\n}\r\n\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item div > .k-treeview-leaf {\r\n white-space: pre-line;\r\n box-shadow: none;\r\n}\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item div > .k-treeview-leaf:hover,\r\n::ng-deep .panelbar-wrapper .k-treeview-group .k-treeview-item div > .k-treeview-leaf:focus {\r\n box-shadow: none;\r\n background: transparent;\r\n color: var(--white-color);\r\n}\r\n"] }]
|
|
57
171
|
}], () => [{ type: i1.SharedService }, { type: i2.Router }], { items: [{
|
|
58
172
|
type: Input
|
|
59
173
|
}] }); })();
|
|
60
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ExpansionPanelComponent, { className: "ExpansionPanelComponent", filePath: "src\\lib\\expansion-panel-component\\expansion-panel-component.ts", lineNumber:
|
|
174
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ExpansionPanelComponent, { className: "ExpansionPanelComponent", filePath: "src\\lib\\expansion-panel-component\\expansion-panel-component.ts", lineNumber: 13 }); })();
|
|
@@ -127,9 +127,9 @@ FavoritesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Favorite
|
|
|
127
127
|
i0.ɵɵelementEnd();
|
|
128
128
|
} if (rf & 2) {
|
|
129
129
|
i0.ɵɵproperty("data", ctx.favorites);
|
|
130
|
-
} }, dependencies: [i2.ItemTemplateDirective, i2.HeaderTemplateDirective, i2.ListViewComponent], styles: [".favorites-list[_ngcontent-%COMP%] {\r\n width: 400px;\r\n}", ".main-area[_ngcontent-%COMP%] {\r\n
|
|
130
|
+
} }, dependencies: [i2.ItemTemplateDirective, i2.HeaderTemplateDirective, i2.ListViewComponent], styles: [".favorites-list[_ngcontent-%COMP%] {\r\n width: 400px;\r\n}", ".main-area[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n width: 100%;\r\n gap: 24px;\r\n padding: 24px 0;\r\n}\r\n.list-view[_ngcontent-%COMP%] {\r\n padding: 16px;\r\n min-width: 300px;\r\n border-radius: 4px;\r\n background: #FAFAFA;\r\n border: none;\r\n}\r\n .list-view .k-listview-header, .list-view .k-listview-footer {\r\n border: none;\r\n}\r\n .list-view .k-listview-content {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 4px;\r\n background: #fff;\r\n padding: 16px;\r\n}\r\n\r\n.header[_ngcontent-%COMP%], .footer[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 16px;\r\n height: auto;\r\n margin:0;\r\n}\r\n\r\n.header[_ngcontent-%COMP%] {\r\n color: #424242;\r\n margin-bottom: 16px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\nfont-size: 16px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 20px;\r\n}\r\n\r\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\r\n width: 24px;\r\n height: 24px;\r\n min-width: 24px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 10px;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: 50%;\r\n}\r\n.footer[_ngcontent-%COMP%] {\r\n font-size: 14px;\r\n margin-top: 16px;\r\n}\r\n\r\n.list-item[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 30px;\r\n cursor: pointer;\r\n margin: 4px;\r\n}\r\n.card-container[_ngcontent-%COMP%] {\r\n margin: 0;\r\n padding: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n}\r\n\r\n\r\n\r\n\r\n \r\n.view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\r\n color: var(--sideNav);\r\n}\r\n.card-wrapper[_ngcontent-%COMP%] {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 6px;\r\n width: 100% !important;\r\n}\r\n.card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\r\n background: #fff;\r\n padding: 12px 20px;\r\n}\r\n.card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\r\n overflow: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n background: #fafafa;\r\n padding: 4px 15px;\r\n}\r\n.view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 16px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n margin-bottom: 0;\r\n letter-spacing: 0.18px;\r\n}\r\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\r\n color: #666;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n height: 48px;\r\n margin-bottom: 0;\r\n}\r\n.card-container[_ngcontent-%COMP%] {\r\n padding: 0;\r\n margin: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n}\r\n.main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\r\n display: grid;\r\n grid-template-columns: repeat(4, 1fr);\r\n gap: 20px;\r\n}"] });
|
|
131
131
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FavoritesComponent, [{
|
|
132
132
|
type: Component,
|
|
133
|
-
args: [{ selector: 'app-favorites', template: "<kendo-listview\n [data]=\"favorites\"\n class=\"list-view\"\n>\n <ng-container class=\"entity-wrap\">\n <ng-template kendoListViewHeaderTemplate>\n <div class=\"header\"> \n <div class=\"head-tag\">\n <span class=\"k-icon k-i-clock\"></span>\n Favorites\n </div>\n <div class=\"count\">{{favorites.length}}</div>\n </div>\n </ng-template>\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div class=\"list-item\" (click)=\"favoriteItemClick(dataItem)\">\n <b>{{dataItem.Entity}}</b>: {{favoriteItemDisplayName(dataItem)}}\n </div>\n </ng-template>\n </ng-container>\n</kendo-listview>\n", styles: [".favorites-list {\r\n width: 400px;\r\n}", "\r\n.main-area {\r\n
|
|
133
|
+
args: [{ selector: 'app-favorites', template: "<kendo-listview\n [data]=\"favorites\"\n class=\"list-view\"\n>\n <ng-container class=\"entity-wrap\">\n <ng-template kendoListViewHeaderTemplate>\n <div class=\"header\"> \n <div class=\"head-tag\">\n <span class=\"k-icon k-i-clock\"></span>\n Favorites\n </div>\n <div class=\"count\">{{favorites.length}}</div>\n </div>\n </ng-template>\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div class=\"list-item\" (click)=\"favoriteItemClick(dataItem)\">\n <b>{{dataItem.Entity}}</b>: {{favoriteItemDisplayName(dataItem)}}\n </div>\n </ng-template>\n </ng-container>\n</kendo-listview>\n", styles: [".favorites-list {\r\n width: 400px;\r\n}", "\r\n.main-area {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n width: 100%;\r\n gap: 24px;\r\n padding: 24px 0;\r\n}\r\n.list-view {\r\n padding: 16px;\r\n min-width: 300px;\r\n border-radius: 4px;\r\n background: #FAFAFA;\r\n border: none;\r\n}\r\n::ng-deep .list-view .k-listview-header, \r\n::ng-deep .list-view .k-listview-footer {\r\n border: none;\r\n}\r\n::ng-deep .list-view .k-listview-content {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 4px;\r\n background: #fff;\r\n padding: 16px;\r\n}\r\n\r\n.header,\r\n.footer {\r\n color: #424242;\r\n font-size: 16px;\r\n height: auto;\r\n margin:0;\r\n}\r\n\r\n.header {\r\n color: #424242;\r\n margin-bottom: 16px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.header .head-tag {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\nfont-size: 16px;\r\nfont-style: normal;\r\nfont-weight: 400;\r\nline-height: 20px;\r\n}\r\n\r\n.header .count {\r\n width: 24px;\r\n height: 24px;\r\n min-width: 24px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 10px;\r\n background: rgba(0, 0, 0, 0.08);\r\n border-radius: 50%;\r\n}\r\n.footer {\r\n font-size: 14px;\r\n margin-top: 16px;\r\n}\r\n\r\n.list-item {\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 30px;\r\n cursor: pointer;\r\n margin: 4px;\r\n}\r\n.card-container {\r\n margin: 0;\r\n padding: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n.card-header-entity .title-wrap h1 {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n}\r\n.card-header-entity .title-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.card-header-entity .title-wrap p {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n}\r\n\r\n\r\n\r\n\r\n \r\n.view-card .view-icon {\r\n color: var(--sideNav);\r\n}\r\n.card-wrapper {\r\n border: 1px solid rgba(0, 0, 0, 0.08);\r\n border-radius: 6px;\r\n width: 100% !important;\r\n}\r\n.card-wrapper .k-card-body {\r\n background: #fff;\r\n padding: 12px 20px;\r\n}\r\n.card-wrapper .view-card {\r\n overflow: auto;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n background: #fafafa;\r\n padding: 4px 15px;\r\n}\r\n.view-card .btn-wrapper {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.k-card-body .view-card-content h5 {\r\n color: #424242;\r\n font-size: 16px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n margin-bottom: 0;\r\n letter-spacing: 0.18px;\r\n}\r\n.k-card-body .view-card-content p {\r\n color: #666;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n height: 48px;\r\n margin-bottom: 0;\r\n}\r\n.card-container {\r\n padding: 0;\r\n margin: 0;\r\n box-shadow: none;\r\n}\r\n.card-header-entity {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n padding-bottom: 20px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n}\r\n\r\n.card-header-entity .title-wrap h1 {\r\n color: #424242;\r\n font-size: 28px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 28px;\r\n margin-bottom: 15px;\r\n}\r\n.card-header-entity .title-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.card-header-entity .title-wrap p {\r\n margin: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n color: #424242;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 20px;\r\n}\r\n.main-area .card-list {\r\n display: grid;\r\n grid-template-columns: repeat(4, 1fr);\r\n gap: 20px;\r\n}\r\n"] }]
|
|
134
134
|
}], () => [{ type: i1.Router }], null); })();
|
|
135
135
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FavoritesComponent, { className: "FavoritesComponent", filePath: "src\\lib\\favorites\\favorites.component.ts", lineNumber: 11 }); })();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class FilesComponent {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
CategoryID: number | undefined;
|
|
4
|
+
categorySelected(newCategoryID: number): void;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilesComponent, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<FilesComponent, "app-files", never, {}, {}, never, never, false, never>;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.component.d.ts","sourceRoot":"","sources":["../../../src/lib/files/files.component.ts"],"names":[],"mappings":";AAEA,qBAKa,cAAc;IAClB,
|
|
1
|
+
{"version":3,"file":"files.component.d.ts","sourceRoot":"","sources":["../../../src/lib/files/files.component.ts"],"names":[],"mappings":";AAEA,qBAKa,cAAc;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,gBAAgB,CAAC,aAAa,EAAE,MAAM;yCAHlC,cAAc;2CAAd,cAAc;CAM1B"}
|
|
@@ -2,21 +2,23 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@memberjunction/ng-file-storage";
|
|
4
4
|
export class FilesComponent {
|
|
5
|
-
|
|
6
|
-
this.
|
|
7
|
-
}
|
|
8
|
-
selectItem(item) {
|
|
9
|
-
this.currentItem = item;
|
|
5
|
+
categorySelected(newCategoryID) {
|
|
6
|
+
this.CategoryID = newCategoryID;
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
9
|
FilesComponent.ɵfac = function FilesComponent_Factory(t) { return new (t || FilesComponent)(); };
|
|
13
|
-
FilesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesComponent, selectors: [["app-files"]], decls: 3, vars:
|
|
14
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
15
|
-
i0.ɵɵ
|
|
10
|
+
FilesComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilesComponent, selectors: [["app-files"]], decls: 3, vars: 1, consts: [[1, "container"], [3, "categorySelected"], [3, "CategoryID"]], template: function FilesComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "mj-files-category-tree", 1);
|
|
12
|
+
i0.ɵɵlistener("categorySelected", function FilesComponent_Template_mj_files_category_tree_categorySelected_1_listener($event) { return ctx.categorySelected($event); });
|
|
13
|
+
i0.ɵɵelementEnd();
|
|
14
|
+
i0.ɵɵelement(2, "mj-files-grid", 2);
|
|
16
15
|
i0.ɵɵelementEnd();
|
|
16
|
+
} if (rf & 2) {
|
|
17
|
+
i0.ɵɵadvance(2);
|
|
18
|
+
i0.ɵɵproperty("CategoryID", ctx.CategoryID);
|
|
17
19
|
} }, dependencies: [i1.CategoryTreeComponent, i1.FilesGridComponent], styles: [".container[_ngcontent-%COMP%] {\r\n display: flex;\r\n }"] });
|
|
18
20
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilesComponent, [{
|
|
19
21
|
type: Component,
|
|
20
|
-
args: [{ selector: 'app-files', template: "<div class=\"container\">\r\n
|
|
22
|
+
args: [{ selector: 'app-files', template: "<div class=\"container\">\r\n <mj-files-category-tree (categorySelected)=\"categorySelected($event)\"></mj-files-category-tree>\r\n <mj-files-grid [CategoryID]=\"CategoryID\"></mj-files-grid>\r\n</div>\r\n", styles: [" .container {\r\n display: flex;\r\n } "] }]
|
|
21
23
|
}], null, null); })();
|
|
22
24
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilesComponent, { className: "FilesComponent", filePath: "src\\lib\\files\\files.component.ts", lineNumber: 8 }); })();
|