@dotglitch/ngx-common 2.0.0 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -22
- package/esm2022/directives/image-cache.directive.mjs +4 -1
- package/esm2022/public-api.mjs +7 -20
- package/fesm2022/dotglitch-ngx-common.mjs +1005 -9934
- package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
- package/package.json +27 -6
- package/public-api.d.ts +6 -18
- package/assets/mat-icons.d.ts +0 -5705
- package/components/command-palette/breadcrumb/breadcrumb.component.d.ts +0 -16
- package/components/command-palette/command-palette.component.d.ts +0 -38
- package/components/command-palette/shortcut/shortcut.component.d.ts +0 -9
- package/components/dynamic-html/dynamic-html.component.d.ts +0 -15
- package/components/dynamic-html/dynamic-html.module.d.ts +0 -10
- package/components/dynamic-html/dynamic-html.service.d.ts +0 -18
- package/components/dynamic-html/types.d.ts +0 -12
- package/components/filemanager/file-grid/file-grid.component.d.ts +0 -101
- package/components/filemanager/filemanager.component.d.ts +0 -207
- package/components/filemanager/folder-rename/folder-rename.component.d.ts +0 -18
- package/components/filemanager/helpers.d.ts +0 -5
- package/components/filemanager/icon-resolver.d.ts +0 -13
- package/components/filemanager/textextensions.d.ts +0 -3
- package/components/filemanager/toolbar/breadcrumb/breadcrumb.component.d.ts +0 -16
- package/components/filemanager/toolbar/icon-button/icon-button.component.d.ts +0 -11
- package/components/filemanager/toolbar/toolbar.component.d.ts +0 -31
- package/components/filemanager/tree-view/tree-view.component.d.ts +0 -21
- package/components/tabulator/tabulator.component.d.ts +0 -30
- package/components/vscode/ts-type-resolver/dependency-parser.d.ts +0 -6
- package/components/vscode/ts-type-resolver/dummy-source-cache.d.ts +0 -7
- package/components/vscode/ts-type-resolver/import-resolver.d.ts +0 -28
- package/components/vscode/ts-type-resolver/main.d.ts +0 -22
- package/components/vscode/ts-type-resolver/recursion-depth.d.ts +0 -11
- package/components/vscode/ts-type-resolver/types.d.ts +0 -179
- package/components/vscode/ts-type-resolver/unpkg-source-resolver.d.ts +0 -5
- package/components/vscode/ts-type-resolver/update-emitter.d.ts +0 -2
- package/components/vscode/vscode.component.d.ts +0 -52
- package/esm2022/assets/mat-icons.mjs +0 -5705
- package/esm2022/components/command-palette/breadcrumb/breadcrumb.component.mjs +0 -30
- package/esm2022/components/command-palette/command-palette.component.mjs +0 -257
- package/esm2022/components/command-palette/shortcut/shortcut.component.mjs +0 -19
- package/esm2022/components/dynamic-html/dynamic-html.component.mjs +0 -43
- package/esm2022/components/dynamic-html/dynamic-html.module.mjs +0 -27
- package/esm2022/components/dynamic-html/dynamic-html.service.mjs +0 -66
- package/esm2022/components/dynamic-html/types.mjs +0 -7
- package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +0 -674
- package/esm2022/components/filemanager/filemanager.component.mjs +0 -314
- package/esm2022/components/filemanager/folder-rename/folder-rename.component.mjs +0 -57
- package/esm2022/components/filemanager/helpers.mjs +0 -26
- package/esm2022/components/filemanager/icon-resolver.mjs +0 -155
- package/esm2022/components/filemanager/textextensions.mjs +0 -294
- package/esm2022/components/filemanager/toolbar/breadcrumb/breadcrumb.component.mjs +0 -22
- package/esm2022/components/filemanager/toolbar/icon-button/icon-button.component.mjs +0 -32
- package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +0 -165
- package/esm2022/components/filemanager/tree-view/tree-view.component.mjs +0 -51
- package/esm2022/components/tabulator/tabulator.component.mjs +0 -93
- package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -91
- package/esm2022/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -15
- package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +0 -311
- package/esm2022/components/vscode/ts-type-resolver/main.mjs +0 -112
- package/esm2022/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -21
- package/esm2022/components/vscode/ts-type-resolver/types.mjs +0 -14
- package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -21
- package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +0 -37
- package/esm2022/components/vscode/vscode.component.mjs +0 -232
- package/esm2022/services/command-palette.service.mjs +0 -209
- package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs +0 -81
- package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs.map +0 -1
- package/services/command-palette.service.d.ts +0 -128
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { GtkIconButtonComponent } from './icon-button/icon-button.component';
|
|
5
|
-
import { GtkBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
|
|
6
|
-
import { uploadFile } from '../helpers';
|
|
7
|
-
import { MenuDirective } from '../../../public-api';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../filemanager.component";
|
|
10
|
-
import * as i2 from "../../../public-api";
|
|
11
|
-
import * as i3 from "@angular/material/icon";
|
|
12
|
-
import * as i4 from "@angular/material/button";
|
|
13
|
-
export class ToolbarComponent {
|
|
14
|
-
constructor(fileManager, dialog, fetch) {
|
|
15
|
-
this.fileManager = fileManager;
|
|
16
|
-
this.dialog = dialog;
|
|
17
|
-
this.fetch = fetch;
|
|
18
|
-
this.onBreadcrumbClick = new EventEmitter();
|
|
19
|
-
this.currentTab = {};
|
|
20
|
-
this.showHiddenFilesChange = new EventEmitter();
|
|
21
|
-
this.showSidebarChange = new EventEmitter();
|
|
22
|
-
this.drawerMode = false;
|
|
23
|
-
this.showBareMinimum = false;
|
|
24
|
-
this.fileOptions = [
|
|
25
|
-
{
|
|
26
|
-
label: "New Folder",
|
|
27
|
-
action: (folder) => {
|
|
28
|
-
this.dialog.open("folder-rename", "@dotglitch/ngx-web-components", { inputs: { path: this.currentTab.path, name: '', config: this.config } });
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
label: "Upload file",
|
|
33
|
-
icon: "file_upload",
|
|
34
|
-
action: (evt) => uploadFile(this.fetch, this.config, this.fileManager.currentTab.path, null, this.fileManager.contextTags).then(res => {
|
|
35
|
-
// Tell the current tab to reload it's data.
|
|
36
|
-
const tab = this.fileManager.currentTab;
|
|
37
|
-
const grid = this.fileManager.fileGrids.find(t => t.tab.id == tab.id);
|
|
38
|
-
grid.loadFolder();
|
|
39
|
-
})
|
|
40
|
-
},
|
|
41
|
-
// {
|
|
42
|
-
// label: "Add to Bookmarks (WIP)",
|
|
43
|
-
// action: (folder) => {
|
|
44
|
-
// //
|
|
45
|
-
// }
|
|
46
|
-
// },
|
|
47
|
-
// "separator",
|
|
48
|
-
// {
|
|
49
|
-
// label: "Paste",
|
|
50
|
-
// action: (folder) => {
|
|
51
|
-
// //
|
|
52
|
-
// }
|
|
53
|
-
// },
|
|
54
|
-
// {
|
|
55
|
-
// label: "Select All",
|
|
56
|
-
// action: (folder) => {
|
|
57
|
-
// //
|
|
58
|
-
// }
|
|
59
|
-
// },
|
|
60
|
-
// "separator",
|
|
61
|
-
// {
|
|
62
|
-
// label: "Properties",
|
|
63
|
-
// action: (folder) => {
|
|
64
|
-
// //
|
|
65
|
-
// }
|
|
66
|
-
// },
|
|
67
|
-
];
|
|
68
|
-
this.sortOptions = [
|
|
69
|
-
{
|
|
70
|
-
label: "Sort",
|
|
71
|
-
separator: true
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
label: "A-Z",
|
|
75
|
-
action: () => this.setSorter('a-z')
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
label: "Z-A",
|
|
79
|
-
action: () => this.setSorter('z-a')
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
label: "Last Modified",
|
|
83
|
-
action: () => this.setSorter('lastmod')
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
label: "First Modified",
|
|
87
|
-
action: () => this.setSorter('firstmod')
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
label: "Size",
|
|
91
|
-
action: () => this.setSorter('size')
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
label: "Type",
|
|
95
|
-
action: () => this.setSorter('type')
|
|
96
|
-
},
|
|
97
|
-
"separator",
|
|
98
|
-
{
|
|
99
|
-
label: "Refresh",
|
|
100
|
-
action: () => this.fileManager.currentFileGrid.loadFolder()
|
|
101
|
-
}
|
|
102
|
-
];
|
|
103
|
-
}
|
|
104
|
-
historyBack(tab) {
|
|
105
|
-
console.log("history ->", tab);
|
|
106
|
-
tab.historyIndex--;
|
|
107
|
-
tab.path = tab.history[tab.historyIndex - 1];
|
|
108
|
-
}
|
|
109
|
-
historyForward(tab) {
|
|
110
|
-
console.log("history <-", tab);
|
|
111
|
-
tab.historyIndex++;
|
|
112
|
-
tab.path = tab.history[tab.historyIndex - 1];
|
|
113
|
-
}
|
|
114
|
-
toggleDrawer() {
|
|
115
|
-
if ([...this.fileManager.drawer._drawers][0].opened)
|
|
116
|
-
this.fileManager.drawer.close();
|
|
117
|
-
else
|
|
118
|
-
this.fileManager.drawer.open();
|
|
119
|
-
}
|
|
120
|
-
setSorter(mode) {
|
|
121
|
-
this.fileManager.currentTab.sortOrder = mode;
|
|
122
|
-
this.fileManager.refreshSorting();
|
|
123
|
-
}
|
|
124
|
-
onRefresh() {
|
|
125
|
-
// console.log(this.fileManager);
|
|
126
|
-
this.fileManager.fileGrids.forEach(g => g.loadFolder());
|
|
127
|
-
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.FilemanagerComponent }, { token: i2.DialogService }, { token: i2.Fetch }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ToolbarComponent, isStandalone: true, selector: "app-toolbar", inputs: { config: "config", currentTab: "currentTab", showHiddenFiles: "showHiddenFiles", showSidebar: "showSidebar", drawerMode: "drawerMode", showBareMinimum: "showBareMinimum" }, outputs: { onBreadcrumbClick: "onBreadcrumbClick", showHiddenFilesChange: "showHiddenFilesChange", showSidebarChange: "showSidebarChange" }, viewQueries: [{ propertyName: "zoomTemplate", first: true, predicate: ["zoomTemplate"], descendants: true }, { propertyName: "actionTemplate", first: true, predicate: ["actionTemplate"], descendants: true }], ngImport: i0, template: "@if (fileManager.sidebarOverlay && !drawerMode) {\n <button\n mat-icon-button\n (click)=\"toggleDrawer()\"\n >\n <mat-icon>list</mat-icon>\n </button>\n}\n\n@if (!showBareMinimum) {\n <div class=\"buttongroup\">\n <gtk-icon-button\n fontIcon=\"arrow_back_ios_new\"\n (click)=\"historyBack(currentTab)\"\n [disabled]=\"currentTab.history?.length <= 1\"\n />\n <gtk-icon-button\n fontIcon=\"arrow_forward_ios\"\n (click)=\"historyForward(currentTab)\"\n [disabled]=\"currentTab.historyIndex >= (currentTab.history?.length-1)\"\n />\n </div>\n\n @if (!drawerMode) {\n <div style=\"width: 40px\"></div>\n }\n <gtk-icon-button\n fontIcon=\"sync\"\n (click)=\"onRefresh()\"\n />\n}\n\n@if (currentTab) {\n <app-breadcrumb\n style=\"flex: 1\"\n [crumbs]=\"currentTab.breadcrumb\"\n (crumbClick)=\"onBreadcrumbClick.next($event)\"\n [config]=\"config\"\n />\n}\n\n@if (!drawerMode) {\n <!-- <div style=\"flex: 1\"></div> -->\n\n <gtk-icon-button\n fontIcon=\"more_vert\"\n [ngx-menu]=\"fileOptions\"\n [ngx-menu-config]=\"{position: 'bottom'}\"\n />\n\n <div style=\"width: 8px\"></div>\n\n <!-- <gtk-icon-button\n fontIcon=\"search\"\n /> -->\n\n @if (fileManager.width > 800) {\n <div style=\"width: 100px\"></div>\n }\n\n <gtk-icon-button\n [fontIcon]=\"currentTab.viewMode == 'list' ? 'view_list' : 'grid_view'\"\n (click)=\"currentTab.viewMode = currentTab.viewMode == 'list' ? 'grid' : 'list'; fileManager.onResize()\"\n />\n\n <gtk-icon-button\n fontIcon=\"sort\"\n [ngx-menu]=\"sortOptions\"\n [ngx-menu-config]=\"{position: 'bottom'}\"\n />\n\n}\n", styles: [":host{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: GtkIconButtonComponent, selector: "gtk-icon-button", inputs: ["fontIcon", "disabled"], outputs: ["click"] }, { kind: "component", type: GtkBreadcrumbComponent, selector: "app-breadcrumb", inputs: ["crumbs", "config"], outputs: ["crumbClick"] }, { kind: "directive", type: MenuDirective, selector: "[ngx-contextmenu],[ngx-menu]", inputs: ["ngx-menu-context", "ngx-contextmenu", "ngx-menu", "ngx-menu-config"] }] }); }
|
|
130
|
-
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
132
|
-
type: Component,
|
|
133
|
-
args: [{ selector: 'app-toolbar', imports: [
|
|
134
|
-
MatIconModule,
|
|
135
|
-
MatButtonModule,
|
|
136
|
-
GtkIconButtonComponent,
|
|
137
|
-
GtkBreadcrumbComponent,
|
|
138
|
-
MenuDirective
|
|
139
|
-
], standalone: true, template: "@if (fileManager.sidebarOverlay && !drawerMode) {\n <button\n mat-icon-button\n (click)=\"toggleDrawer()\"\n >\n <mat-icon>list</mat-icon>\n </button>\n}\n\n@if (!showBareMinimum) {\n <div class=\"buttongroup\">\n <gtk-icon-button\n fontIcon=\"arrow_back_ios_new\"\n (click)=\"historyBack(currentTab)\"\n [disabled]=\"currentTab.history?.length <= 1\"\n />\n <gtk-icon-button\n fontIcon=\"arrow_forward_ios\"\n (click)=\"historyForward(currentTab)\"\n [disabled]=\"currentTab.historyIndex >= (currentTab.history?.length-1)\"\n />\n </div>\n\n @if (!drawerMode) {\n <div style=\"width: 40px\"></div>\n }\n <gtk-icon-button\n fontIcon=\"sync\"\n (click)=\"onRefresh()\"\n />\n}\n\n@if (currentTab) {\n <app-breadcrumb\n style=\"flex: 1\"\n [crumbs]=\"currentTab.breadcrumb\"\n (crumbClick)=\"onBreadcrumbClick.next($event)\"\n [config]=\"config\"\n />\n}\n\n@if (!drawerMode) {\n <!-- <div style=\"flex: 1\"></div> -->\n\n <gtk-icon-button\n fontIcon=\"more_vert\"\n [ngx-menu]=\"fileOptions\"\n [ngx-menu-config]=\"{position: 'bottom'}\"\n />\n\n <div style=\"width: 8px\"></div>\n\n <!-- <gtk-icon-button\n fontIcon=\"search\"\n /> -->\n\n @if (fileManager.width > 800) {\n <div style=\"width: 100px\"></div>\n }\n\n <gtk-icon-button\n [fontIcon]=\"currentTab.viewMode == 'list' ? 'view_list' : 'grid_view'\"\n (click)=\"currentTab.viewMode = currentTab.viewMode == 'list' ? 'grid' : 'list'; fileManager.onResize()\"\n />\n\n <gtk-icon-button\n fontIcon=\"sort\"\n [ngx-menu]=\"sortOptions\"\n [ngx-menu-config]=\"{position: 'bottom'}\"\n />\n\n}\n", styles: [":host{display:flex}\n"] }]
|
|
140
|
-
}], ctorParameters: () => [{ type: i1.FilemanagerComponent }, { type: i2.DialogService }, { type: i2.Fetch }], propDecorators: { zoomTemplate: [{
|
|
141
|
-
type: ViewChild,
|
|
142
|
-
args: ['zoomTemplate']
|
|
143
|
-
}], actionTemplate: [{
|
|
144
|
-
type: ViewChild,
|
|
145
|
-
args: ['actionTemplate']
|
|
146
|
-
}], config: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}], onBreadcrumbClick: [{
|
|
149
|
-
type: Output
|
|
150
|
-
}], currentTab: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}], showHiddenFiles: [{
|
|
153
|
-
type: Input
|
|
154
|
-
}], showHiddenFilesChange: [{
|
|
155
|
-
type: Output
|
|
156
|
-
}], showSidebar: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], showSidebarChange: [{
|
|
159
|
-
type: Output
|
|
160
|
-
}], drawerMode: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], showBareMinimum: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvZmlsZW1hbmFnZXIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUczRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBd0IsYUFBYSxFQUFZLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQWVwRixNQUFNLE9BQU8sZ0JBQWdCO0lBbUJ6QixZQUNXLFdBQWlDLEVBQ2hDLE1BQXFCLEVBQ3JCLEtBQVk7UUFGYixnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBZmQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV4QyxlQUFVLEdBQWdCLEVBQVMsQ0FBQztRQUduQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBELHNCQUFpQixHQUFHLElBQUksWUFBWSxF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T0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0F2SVEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsMmxCQ3hCN0IsNnpEQXdFQSw4RUR4RFEsYUFBYSxtTEFDYixlQUFlLDRJQUNmLHNCQUFzQixrSEFDdEIsc0JBQXNCLGtIQUN0QixhQUFhOzs0RkFJUixnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0ksYUFBYSxXQUdkO3dCQUNMLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsYUFBYTtxQkFDaEIsY0FDVyxJQUFJO3lJQUdXLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDSSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFbEIsTUFBTTtzQkFBZCxLQUFLO2dCQUdJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFFRSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBHdGtJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3RrQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlbWFuYWdlckNvbXBvbmVudCwgRmlsZVZpZXdUYWIsIEZTRGVzY3JpcHRvciwgTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVTb3J0aW5nIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgdXBsb2FkRmlsZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRmV0Y2gsIE1lbnVEaXJlY3RpdmUsIE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIEd0a0ljb25CdXR0b25Db21wb25lbnQsXG4gICAgICAgIEd0a0JyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgICAgIE1lbnVEaXJlY3RpdmVcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnem9vbVRlbXBsYXRlJykgem9vbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2FjdGlvblRlbXBsYXRlJykgYWN0aW9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBjb25maWc6IE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbjtcblxuXG4gICAgQE91dHB1dCgpIG9uQnJlYWRjcnVtYkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KCkgY3VycmVudFRhYjogRmlsZVZpZXdUYWIgPSB7fSBhcyBhbnk7XG5cbiAgICBASW5wdXQoKSBzaG93SGlkZGVuRmlsZXM6IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIHNob3dIaWRkZW5GaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBASW5wdXQoKSBzaG93U2lkZWJhcjogYm9vbGVhbjtcbiAgICBAT3V0cHV0KCkgc2hvd1NpZGViYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBASW5wdXQoKSBkcmF3ZXJNb2RlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0JhcmVNaW5pbXVtID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGZpbGVNYW5hZ2VyOiBGaWxlbWFuYWdlckNvbXBvbmVudCxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZmV0Y2g6IEZldGNoXG4gICAgKSB7XG5cbiAgICB9XG5cbiAgICBmaWxlT3B0aW9uczogTWVudUl0ZW08RlNEZXNjcmlwdG9yPltdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogXCJOZXcgRm9sZGVyXCIsXG4gICAgICAgICAgICBhY3Rpb246IChmb2xkZXIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKFwiZm9sZGVyLXJlbmFtZVwiLCBcIkBkb3RnbGl0Y2gvbmd4LXdlYi1jb21wb25lbnRzXCIsIHsgaW5wdXRzOiB7IHBhdGg6IHRoaXMuY3VycmVudFRhYi5wYXRoLCBuYW1lOiAnJywgY29uZmlnOiB0aGlzLmNvbmZpZyB9IH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIlVwbG9hZCBmaWxlXCIsXG4gICAgICAgICAgICBpY29uOiBcImZpbGVfdXBsb2FkXCIsXG4gICAgICAgICAgICBhY3Rpb246IChldnQpID0+IHVwbG9hZEZpbGUodGhpcy5mZXRjaCwgdGhpcy5jb25maWcsIHRoaXMuZmlsZU1hbmFnZXIuY3VycmVudFRhYi5wYXRoLCBudWxsLCB0aGlzLmZpbGVNYW5hZ2VyLmNvbnRleHRUYWdzKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVGVsbCB0aGUgY3VycmVudCB0YWIgdG8gcmVsb2FkIGl0J3MgZGF0YS5cbiAgICAgICAgICAgICAgICBjb25zdCB0YWIgPSAgdGhpcy5maWxlTWFuYWdlci5jdXJyZW50VGFiO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyaWQgPSB0aGlzLmZpbGVNYW5hZ2VyLmZpbGVHcmlkcy5maW5kKHQgPT4gdC50YWIuaWQgPT0gdGFiLmlkKTtcbiAgICAgICAgICAgICAgICBncmlkLmxvYWRGb2xkZXIoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0sXG4gICAgICAgIC8vIHtcbiAgICAgICAgLy8gICAgIGxhYmVsOiBcIkFkZCB0byBCb29rbWFya3MgKFdJUClcIixcbiAgICAgICAgLy8gICAgIGFjdGlvbjogKGZvbGRlcikgPT4ge1xuICAgICAgICAvLyAgICAgICAgIC8vXG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH0sXG4gICAgICAgIC8vIFwic2VwYXJhdG9yXCIsXG4gICAgICAgIC8vIHtcbiAgICAgICAgLy8gICAgIGxhYmVsOiBcIlBhc3RlXCIsXG4gICAgICAgIC8vICAgICBhY3Rpb246IChmb2xkZXIpID0+IHtcbiAgICAgICAgLy8gICAgICAgICAvL1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9LFxuICAgICAgICAvLyB7XG4gICAgICAgIC8vICAgICBsYWJlbDogXCJTZWxlY3QgQWxsXCIsXG4gICAgICAgIC8vICAgICBhY3Rpb246IChmb2xkZXIpID0+IHtcbiAgICAgICAgLy8gICAgICAgICAvL1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9LFxuICAgICAgICAvLyBcInNlcGFyYXRvclwiLFxuICAgICAgICAvLyB7XG4gICAgICAgIC8vICAgICBsYWJlbDogXCJQcm9wZXJ0aWVzXCIsXG4gICAgICAgIC8vICAgICBhY3Rpb246IChmb2xkZXIpID0+IHtcbiAgICAgICAgLy8gICAgICAgICAvL1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9LFxuICAgIF1cblxuICAgIHNvcnRPcHRpb25zOiBNZW51SXRlbTxGU0Rlc2NyaXB0b3I+W10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIlNvcnRcIixcbiAgICAgICAgICAgIHNlcGFyYXRvcjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogXCJBLVpcIixcbiAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5zZXRTb3J0ZXIoJ2EteicpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIlotQVwiLFxuICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLnNldFNvcnRlcignei1hJylcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IFwiTGFzdCBNb2RpZmllZFwiLFxuICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLnNldFNvcnRlcignbGFzdG1vZCcpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIkZpcnN0IE1vZGlmaWVkXCIsXG4gICAgICAgICAgICBhY3Rpb246ICgpID0+IHRoaXMuc2V0U29ydGVyKCdmaXJzdG1vZCcpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIlNpemVcIixcbiAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5zZXRTb3J0ZXIoJ3NpemUnKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogXCJUeXBlXCIsXG4gICAgICAgICAgICBhY3Rpb246ICgpID0+IHRoaXMuc2V0U29ydGVyKCd0eXBlJylcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZXBhcmF0b3JcIixcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IFwiUmVmcmVzaFwiLFxuICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmZpbGVNYW5hZ2VyLmN1cnJlbnRGaWxlR3JpZC5sb2FkRm9sZGVyKClcbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBoaXN0b3J5QmFjayh0YWI6IEZpbGVWaWV3VGFiKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaGlzdG9yeSAtPlwiLCB0YWIpXG4gICAgICAgIHRhYi5oaXN0b3J5SW5kZXgtLTtcbiAgICAgICAgdGFiLnBhdGggPSB0YWIuaGlzdG9yeVt0YWIuaGlzdG9yeUluZGV4IC0gMV07XG4gICAgfVxuXG4gICAgaGlzdG9yeUZvcndhcmQodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICBjb25zb2xlLmxvZyhcImhpc3RvcnkgPC1cIiwgdGFiKVxuICAgICAgICB0YWIuaGlzdG9yeUluZGV4Kys7XG4gICAgICAgIHRhYi5wYXRoID0gdGFiLmhpc3RvcnlbdGFiLmhpc3RvcnlJbmRleCAtIDFdO1xuICAgIH1cblxuICAgIHRvZ2dsZURyYXdlcigpIHtcbiAgICAgICAgaWYgKFsuLi50aGlzLmZpbGVNYW5hZ2VyLmRyYXdlci5fZHJhd2Vyc11bMF0ub3BlbmVkKVxuICAgICAgICAgICAgdGhpcy5maWxlTWFuYWdlci5kcmF3ZXIuY2xvc2UoKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5maWxlTWFuYWdlci5kcmF3ZXIub3BlbigpO1xuICAgIH1cblxuICAgIHNldFNvcnRlcihtb2RlOiBGaWxlU29ydGluZykge1xuICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyLmN1cnJlbnRUYWIuc29ydE9yZGVyID0gbW9kZTtcbiAgICAgICAgdGhpcy5maWxlTWFuYWdlci5yZWZyZXNoU29ydGluZygpO1xuICAgIH1cblxuICAgIG9uUmVmcmVzaCgpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5maWxlTWFuYWdlcik7XG4gICAgICAgIHRoaXMuZmlsZU1hbmFnZXIuZmlsZUdyaWRzLmZvckVhY2goZyA9PiBnLmxvYWRGb2xkZXIoKSk7XG4gICAgfVxufVxuIiwiQGlmIChmaWxlTWFuYWdlci5zaWRlYmFyT3ZlcmxheSAmJiAhZHJhd2VyTW9kZSkge1xuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVEcmF3ZXIoKVwiXG4gICAgPlxuICAgICAgICA8bWF0LWljb24+bGlzdDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG59XG5cbkBpZiAoIXNob3dCYXJlTWluaW11bSkge1xuICAgIDxkaXYgY2xhc3M9XCJidXR0b25ncm91cFwiPlxuICAgICAgICA8Z3RrLWljb24tYnV0dG9uXG4gICAgICAgICAgICBmb250SWNvbj1cImFycm93X2JhY2tfaW9zX25ld1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGlzdG9yeUJhY2soY3VycmVudFRhYilcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImN1cnJlbnRUYWIuaGlzdG9yeT8ubGVuZ3RoIDw9IDFcIlxuICAgICAgICAvPlxuICAgICAgICA8Z3RrLWljb24tYnV0dG9uXG4gICAgICAgICAgICBmb250SWNvbj1cImFycm93X2ZvcndhcmRfaW9zXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoaXN0b3J5Rm9yd2FyZChjdXJyZW50VGFiKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFRhYi5oaXN0b3J5SW5kZXggPj0gKGN1cnJlbnRUYWIuaGlzdG9yeT8ubGVuZ3RoLTEpXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoIWRyYXdlck1vZGUpIHtcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiA0MHB4XCI+PC9kaXY+XG4gICAgfVxuICAgIDxndGstaWNvbi1idXR0b25cbiAgICAgICAgZm9udEljb249XCJzeW5jXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUmVmcmVzaCgpXCJcbiAgICAvPlxufVxuXG5AaWYgKGN1cnJlbnRUYWIpIHtcbiAgICA8YXBwLWJyZWFkY3J1bWJcbiAgICAgICAgc3R5bGU9XCJmbGV4OiAxXCJcbiAgICAgICAgW2NydW1ic109XCJjdXJyZW50VGFiLmJyZWFkY3J1bWJcIlxuICAgICAgICAoY3J1bWJDbGljayk9XCJvbkJyZWFkY3J1bWJDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgLz5cbn1cblxuQGlmICghZHJhd2VyTW9kZSkge1xuICAgIDwhLS0gPGRpdiBzdHlsZT1cImZsZXg6IDFcIj48L2Rpdj4gLS0+XG5cbiAgICA8Z3RrLWljb24tYnV0dG9uXG4gICAgICAgIGZvbnRJY29uPVwibW9yZV92ZXJ0XCJcbiAgICAgICAgW25neC1tZW51XT1cImZpbGVPcHRpb25zXCJcbiAgICAgICAgW25neC1tZW51LWNvbmZpZ109XCJ7cG9zaXRpb246ICdib3R0b20nfVwiXG4gICAgLz5cblxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogOHB4XCI+PC9kaXY+XG5cbiAgICA8IS0tIDxndGstaWNvbi1idXR0b25cbiAgICAgICAgZm9udEljb249XCJzZWFyY2hcIlxuICAgIC8+IC0tPlxuXG4gICAgQGlmIChmaWxlTWFuYWdlci53aWR0aCA+IDgwMCkge1xuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMHB4XCI+PC9kaXY+XG4gICAgfVxuXG4gICAgPGd0ay1pY29uLWJ1dHRvblxuICAgICAgICBbZm9udEljb25dPVwiY3VycmVudFRhYi52aWV3TW9kZSA9PSAnbGlzdCcgPyAndmlld19saXN0JyA6ICdncmlkX3ZpZXcnXCJcbiAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRUYWIudmlld01vZGUgPSBjdXJyZW50VGFiLnZpZXdNb2RlID09ICdsaXN0JyA/ICdncmlkJyA6ICdsaXN0JzsgZmlsZU1hbmFnZXIub25SZXNpemUoKVwiXG4gICAgLz5cblxuICAgIDxndGstaWNvbi1idXR0b25cbiAgICAgICAgZm9udEljb249XCJzb3J0XCJcbiAgICAgICAgW25neC1tZW51XT1cInNvcnRPcHRpb25zXCJcbiAgICAgICAgW25neC1tZW51LWNvbmZpZ109XCJ7cG9zaXRpb246ICdib3R0b20nfVwiXG4gICAgLz5cblxufVxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
|
|
3
|
-
import { MatExpansionModule } from '@angular/material/expansion';
|
|
4
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
5
|
-
import { IconResolver } from '../icon-resolver';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../filemanager.component";
|
|
8
|
-
import * as i2 from "@angular/material/expansion";
|
|
9
|
-
import * as i3 from "@angular/material/progress-bar";
|
|
10
|
-
export class TreeViewComponent {
|
|
11
|
-
get libConfig() { return this.fileManager.libConfig; }
|
|
12
|
-
constructor(fileManager) {
|
|
13
|
-
this.fileManager = fileManager;
|
|
14
|
-
this.click = new EventEmitter();
|
|
15
|
-
this.loadChildren = new EventEmitter();
|
|
16
|
-
this.iconResolver = new IconResolver(this.libConfig.assetPath);
|
|
17
|
-
}
|
|
18
|
-
tryLoadChildren(item, panel) {
|
|
19
|
-
this.loadChildren.next({
|
|
20
|
-
item,
|
|
21
|
-
cb: (children) => {
|
|
22
|
-
item['_children'] = children;
|
|
23
|
-
if (children.length == 0)
|
|
24
|
-
panel.close();
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeViewComponent, deps: [{ token: i1.FilemanagerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TreeViewComponent, isStandalone: true, selector: "app-tree-view", inputs: { rowTemplateIn: ["rowTemplate", "rowTemplateIn"], data: "data" }, outputs: { click: "click", loadChildren: "loadChildren" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<mat-accordion displayMode=\"flat\" [multi]=\"true\">\n @for (item of data; track item) {\n <mat-expansion-panel\n #panel\n expanded=\"false\"\n togglePosition=\"before\"\n [class.isleaf]=\"item['_children']?.length == 0\"\n (afterExpand)=\"tryLoadChildren(item, panel)\"\n >\n <mat-expansion-panel-header>\n <div (click)=\"$event.stopPropagation(); click.next(item);\" style=\"display: flex; align-items: center;\">\n @if (panel.expanded) {\n <img\n style=\"height: 20px; margin-right: 8px\"\n [src]=\"iconResolver.resolveIcon(item)?.path.replace('.svg', '-open.svg')\"\n />\n }\n @else {\n <img\n style=\"height: 20px; margin-right: 8px\"\n [src]=\"iconResolver.resolveIcon(item)?.path\"\n />\n }\n\n {{item.name}}\n </div>\n </mat-expansion-panel-header>\n\n @if (item['_children']) {\n <app-tree-view\n [data]=\"item['_children']\"\n (click)=\"click.next(item)\"\n (loadChildren)=\"loadChildren.next($event)\"\n />\n }\n @else {\n <mat-progress-bar color=\"primary\" mode=\"query\"/>\n }\n </mat-expansion-panel>\n }\n</mat-accordion>\n", styles: [":host{display:block;color:var(--text-color)}ul{list-style:none;padding:0;margin:0}ul li>div:hover{background-color:var(--list-row-hover-background-color)}.label{top:4px;position:relative}.active ::ng-deep>.mat-expansion-panel-header>.mat-content{background-color:#494949;border-radius:7px;padding-left:12px}.active ::ng-deep>.mat-expansion-panel-header>.mat-content.label{font-weight:bolder}.isleaf ::ng-deep .mat-expansion-indicator{display:none}:host ::ng-deep .mat-expansion-panel-header,:host ::ng-deep .mat-expansion-panel-header.mat-expanded{height:32px}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 0 24px}:host ::ng-deep .mat-expansion-panel{box-shadow:none!important;background:#0000}:host ::ng-deep .mat-expansion-panel .mat-content{align-items:center}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-indicator:after{transform:rotate(315deg);transition:transform .2s ease}:host ::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{transform:rotate(225deg)}\n"], dependencies: [{ kind: "component", type: TreeViewComponent, selector: "app-tree-view", inputs: ["rowTemplate", "data"], outputs: ["click", "loadChildren"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeViewComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: 'app-tree-view', imports: [
|
|
34
|
-
NgTemplateOutlet,
|
|
35
|
-
MatExpansionModule,
|
|
36
|
-
MatProgressBarModule
|
|
37
|
-
], standalone: true, template: "<mat-accordion displayMode=\"flat\" [multi]=\"true\">\n @for (item of data; track item) {\n <mat-expansion-panel\n #panel\n expanded=\"false\"\n togglePosition=\"before\"\n [class.isleaf]=\"item['_children']?.length == 0\"\n (afterExpand)=\"tryLoadChildren(item, panel)\"\n >\n <mat-expansion-panel-header>\n <div (click)=\"$event.stopPropagation(); click.next(item);\" style=\"display: flex; align-items: center;\">\n @if (panel.expanded) {\n <img\n style=\"height: 20px; margin-right: 8px\"\n [src]=\"iconResolver.resolveIcon(item)?.path.replace('.svg', '-open.svg')\"\n />\n }\n @else {\n <img\n style=\"height: 20px; margin-right: 8px\"\n [src]=\"iconResolver.resolveIcon(item)?.path\"\n />\n }\n\n {{item.name}}\n </div>\n </mat-expansion-panel-header>\n\n @if (item['_children']) {\n <app-tree-view\n [data]=\"item['_children']\"\n (click)=\"click.next(item)\"\n (loadChildren)=\"loadChildren.next($event)\"\n />\n }\n @else {\n <mat-progress-bar color=\"primary\" mode=\"query\"/>\n }\n </mat-expansion-panel>\n }\n</mat-accordion>\n", styles: [":host{display:block;color:var(--text-color)}ul{list-style:none;padding:0;margin:0}ul li>div:hover{background-color:var(--list-row-hover-background-color)}.label{top:4px;position:relative}.active ::ng-deep>.mat-expansion-panel-header>.mat-content{background-color:#494949;border-radius:7px;padding-left:12px}.active ::ng-deep>.mat-expansion-panel-header>.mat-content.label{font-weight:bolder}.isleaf ::ng-deep .mat-expansion-indicator{display:none}:host ::ng-deep .mat-expansion-panel-header,:host ::ng-deep .mat-expansion-panel-header.mat-expanded{height:32px}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 0 24px}:host ::ng-deep .mat-expansion-panel{box-shadow:none!important;background:#0000}:host ::ng-deep .mat-expansion-panel .mat-content{align-items:center}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-indicator:after{transform:rotate(315deg);transition:transform .2s ease}:host ::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{transform:rotate(225deg)}\n"] }]
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.FilemanagerComponent }], propDecorators: { rowTemplate: [{
|
|
39
|
-
type: ContentChild,
|
|
40
|
-
args: ["rowTemplate", { read: TemplateRef }]
|
|
41
|
-
}], rowTemplateIn: [{
|
|
42
|
-
type: Input,
|
|
43
|
-
args: ["rowTemplate"]
|
|
44
|
-
}], data: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], click: [{
|
|
47
|
-
type: Output
|
|
48
|
-
}], loadChildren: [{
|
|
49
|
-
type: Output
|
|
50
|
-
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci90cmVlLXZpZXcvdHJlZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci90cmVlLXZpZXcvdHJlZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQXdCLEtBQUssRUFBWSxNQUFNLEVBQUUsV0FBVyxFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUNoSyxPQUFPLEVBQUUsa0JBQWtCLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQWNoRCxNQUFNLE9BQU8saUJBQWlCO0lBVTFCLElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXRELFlBQ3FCLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQVA1QyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFReEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQXdCO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUk7WUFDSixFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFDO2dCQUM3QixJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQztvQkFDcEIsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDOytHQTNCUSxpQkFBaUI7bUdBQWpCLGlCQUFpQixrU0FDVyxXQUFXLDZCQ25CcEQsaWxEQXlDQSxpakNEdkJhLGlCQUFpQiw4SEFMdEIsa0JBQWtCLGtpQkFDbEIsb0JBQW9COzs0RkFJZixpQkFBaUI7a0JBWDdCLFNBQVM7K0JBQ0ksZUFBZSxXQUdoQjt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUN2QixjQUNXLElBQUk7eUZBR29DLFdBQVc7c0JBQTlELFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDNUIsYUFBYTtzQkFBbEMsS0FBSzt1QkFBQyxhQUFhO2dCQUVYLElBQUk7c0JBQVosS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlLCBNYXRFeHBhbnNpb25QYW5lbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBJY29uUmVzb2x2ZXIgfSBmcm9tICcuLi9pY29uLXJlc29sdmVyJztcbmltcG9ydCB7IEZpbGVtYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtdHJlZS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGVcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVHJlZVZpZXdDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoXCJyb3dUZW1wbGF0ZVwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHJvd1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dChcInJvd1RlbXBsYXRlXCIpIHJvd1RlbXBsYXRlSW46IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBkYXRhOiBhbnlbXTtcblxuICAgIEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgbG9hZENoaWxkcmVuID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgaWNvblJlc29sdmVyOiBJY29uUmVzb2x2ZXI7XG4gICAgZ2V0IGxpYkNvbmZpZygpIHsgcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXIubGliQ29uZmlnOyB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmaWxlTWFuYWdlcjogRmlsZW1hbmFnZXJDb21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaWNvblJlc29sdmVyID0gbmV3IEljb25SZXNvbHZlcih0aGlzLmxpYkNvbmZpZy5hc3NldFBhdGgpO1xuICAgIH1cblxuICAgIHRyeUxvYWRDaGlsZHJlbihpdGVtLCBwYW5lbDogTWF0RXhwYW5zaW9uUGFuZWwpIHtcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4ubmV4dCh7XG4gICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgY2I6IChjaGlsZHJlbikgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1bJ19jaGlsZHJlbiddID0gY2hpbGRyZW47XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PSAwKVxuICAgICAgICAgICAgICAgICAgICBwYW5lbC5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cbiIsIjxtYXQtYWNjb3JkaW9uIGRpc3BsYXlNb2RlPVwiZmxhdFwiIFttdWx0aV09XCJ0cnVlXCI+XG4gICAgQGZvciAoaXRlbSBvZiBkYXRhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsXG4gICAgICAgICAgICAjcGFuZWxcbiAgICAgICAgICAgIGV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgdG9nZ2xlUG9zaXRpb249XCJiZWZvcmVcIlxuICAgICAgICAgICAgW2NsYXNzLmlzbGVhZl09XCJpdGVtWydfY2hpbGRyZW4nXT8ubGVuZ3RoID09IDBcIlxuICAgICAgICAgICAgKGFmdGVyRXhwYW5kKT1cInRyeUxvYWRDaGlsZHJlbihpdGVtLCBwYW5lbClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjbGljay5uZXh0KGl0ZW0pO1wiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChwYW5lbC5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDhweFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpY29uUmVzb2x2ZXIucmVzb2x2ZUljb24oaXRlbSk/LnBhdGgucmVwbGFjZSgnLnN2ZycsICctb3Blbi5zdmcnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImhlaWdodDogMjBweDsgbWFyZ2luLXJpZ2h0OiA4cHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaWNvblJlc29sdmVyLnJlc29sdmVJY29uKGl0ZW0pPy5wYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0ubmFtZX19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuXG4gICAgICAgICAgICBAaWYgKGl0ZW1bJ19jaGlsZHJlbiddKSB7XG4gICAgICAgICAgICAgICAgPGFwcC10cmVlLXZpZXdcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiaXRlbVsnX2NoaWxkcmVuJ11cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2submV4dChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIChsb2FkQ2hpbGRyZW4pPVwibG9hZENoaWxkcmVuLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwicXVlcnlcIi8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICB9XG48L21hdC1hY2NvcmRpb24+XG4iXX0=
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ViewEncapsulation, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { TabulatorFull as Tabulator } from 'tabulator-tables';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TabulatorComponent {
|
|
5
|
-
set dataSource(data) {
|
|
6
|
-
this._dataSource = data;
|
|
7
|
-
// TODO: this is performance hell for reasons I do not understand.
|
|
8
|
-
if (this.table?.getDataCount() > 0) {
|
|
9
|
-
(async () => {
|
|
10
|
-
const container = this.table.element.querySelector(".tabulator-tableholder");
|
|
11
|
-
const initialTop = container.scrollTop;
|
|
12
|
-
const initialLeft = container.scrollLeft;
|
|
13
|
-
await this.table.setData(data);
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
container.scrollTo({ left: initialLeft, top: initialTop + 1, behavior: "instant" });
|
|
16
|
-
setTimeout(() => {
|
|
17
|
-
// @ts-ignore
|
|
18
|
-
container.scrollTo({ left: initialLeft, top: initialTop, behavior: "instant" });
|
|
19
|
-
});
|
|
20
|
-
})();
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.table?.setData(this.dataSource);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
;
|
|
27
|
-
get dataSource() { return this._dataSource; }
|
|
28
|
-
;
|
|
29
|
-
set columns(data) {
|
|
30
|
-
this._columns = data;
|
|
31
|
-
this.table?.setColumns(this.columns);
|
|
32
|
-
}
|
|
33
|
-
;
|
|
34
|
-
get columns() { return this._columns; }
|
|
35
|
-
constructor() {
|
|
36
|
-
this._dataSource = [];
|
|
37
|
-
this._columns = [];
|
|
38
|
-
this.options = {};
|
|
39
|
-
this.cellClick = new EventEmitter();
|
|
40
|
-
this.cellDblClick = new EventEmitter();
|
|
41
|
-
this.rowClick = new EventEmitter();
|
|
42
|
-
this.rowContext = new EventEmitter();
|
|
43
|
-
this.rowDblClick = new EventEmitter();
|
|
44
|
-
}
|
|
45
|
-
ngAfterViewInit() {
|
|
46
|
-
const table = this.table = new Tabulator(this.tableRef.nativeElement, {
|
|
47
|
-
index: this.key,
|
|
48
|
-
data: this._dataSource,
|
|
49
|
-
// reactiveData: true,
|
|
50
|
-
columns: this._columns,
|
|
51
|
-
layout: 'fitDataFill',
|
|
52
|
-
height: "100%",
|
|
53
|
-
maxHeight: window.innerHeight,
|
|
54
|
-
...this.options
|
|
55
|
-
});
|
|
56
|
-
table.on("rowClick", (e, row) => this.rowClick.next({ event: e, row, data: row.getData() }));
|
|
57
|
-
table.on("rowContext", (e, row) => this.rowContext.next({ event: e, row, data: row.getData() }));
|
|
58
|
-
table.on("rowDblClick", (e, row) => this.rowDblClick.next({ event: e, row, data: row.getData() }));
|
|
59
|
-
table.on("tableBuilt", () => {
|
|
60
|
-
table.redraw();
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
ngOnChanges(changes) {
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabulatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TabulatorComponent, isStandalone: true, selector: "app-tabulator", inputs: { dataSource: "dataSource", columns: "columns", key: "key", options: "options" }, outputs: { cellClick: "cellClick", cellDblClick: "cellDblClick", rowClick: "rowClick", rowContext: "rowContext", rowDblClick: "rowDblClick" }, viewQueries: [{ propertyName: "tableRef", first: true, predicate: ["table"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #table></div>\n", styles: [".tabulator{position:relative;border:1px solid #999;background-color:#fff;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select{-webkit-user-select:none;user-select:none}.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){-webkit-user-select:none;user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#fff;color:#555;font-weight:700;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;outline:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #ddd;background:#fff;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:#e6e6e6;pointer-events:none}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:initial}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #ddd;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{cursor:pointer;background-color:#e6e6e6}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;inset:4px 0 auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder{box-sizing:border-box;display:inline-block;background:#fff!important;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:700;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:700;background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-range-overlay{position:absolute;inset:0;z-index:10;pointer-events:none}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{position:absolute;box-sizing:border-box;border:1px solid #2975DD}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{content:\"\";position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background-color:#2975dd;border-radius:999px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{position:absolute;box-sizing:border-box;border:2px solid #2975DD}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#fff;color:#555;font-weight:700;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:#fff!important;border-bottom:1px solid #ddd;border-top:1px solid #ddd;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:#fff!important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:#fff3}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{cursor:pointer;background:#0003;color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:11;vertical-align:middle}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:#0006;text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:700;font-size:16px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #D00;color:#590000}.tabulator-row{position:relative;box-sizing:border-box;min-height:22px;background-color:#fff}.tabulator-row.tabulator-row-even{background-color:#fff}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #ddd;border-bottom:1px solid #ddd;pointer-events:none;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #ddd;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1D68CD;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #dd0000}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{width:100%;height:3px;margin-top:2px;background:#666}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #ddd;border-bottom:2px solid #ddd}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:#0000001a;overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:#0003}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:700;font-size:1.1em}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:.7;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;padding:5px 5px 5px 10px;background:#ccc;font-weight:700;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:#0000001a}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #ddd;box-shadow:0 0 5px #0003;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:Min(500px,100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;-webkit-user-select:none;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover: hover) and (pointer: fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#fff}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{display:inline-block;position:absolute;top:calc(5px + .4em);right:10px;height:7px;width:7px;content:\"\";border-width:1px 1px 0 0;border-style:solid;border-color:#ddd;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #ddd}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1d68cd}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid rgba(255,255,255,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1D68CD}@media (hover: hover) and (pointer: fine){.tabulator-edit-list .tabulator-edit-list-item:hover{cursor:pointer;color:#fff;background:#1d68cd}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #ddd;padding:6px 4px 4px;color:#333;font-weight:700}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #ddd;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:initial;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:initial;margin-left:5px;border-bottom-left-radius:initial;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:initial;margin-left:5px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;inset:0;z-index:10000}body.tabulator-print-fullscreen-hide>*:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #ddd;border-bottom:2px solid #ddd}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;padding:5px 5px 5px 10px;background:#ccc;font-weight:700;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:#0000001a}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:#0000001a;overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:#0003}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator{border:none;background-color:#fff}.tabulator .tabulator-header .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #999}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #fff}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator-row{border-bottom:1px solid #ddd}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row.tabulator-group span{color:#666}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#666}\n", ".tabulator,.tabulator .tabulator-tableholder{background-color:var(--panel-background-color)}.tabulator .tabulator-tableholder .tabulator-table{color:var(--text-color);background-color:var(--panel-background-color)}.tabulator .tabulator-header{border-bottom:none;background-color:var(--input-background-color)}.tabulator .tabulator-header .tabulator-col{background-color:var(--input-background-color);border-right-color:#0000;color:var(--text-bright-color)}.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:var(--table-row-hover-background-color)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #444}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:5px solid #444}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow,.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:6px solid #999}.tabulator .tabulator-row{border-bottom-color:#0000;background-color:var(--panel-background-color)}.tabulator .tabulator-row .tabulator-cell{border-right-color:#0000}.tabulator .tabulator-row.tabulator-row-even{background-color:var(--table-row-alt-background-color)}.tabulator .tabulator-row:hover,.tabulator .tabulator-row.tabulator-selectable:hover{background-color:var(--table-row-hover-background-color)}.tabulator .tabulator-row.selected{background-color:var(--table-row-selected-background-color, rgba(13, 71, 161, .4));color:var(--table-row-selected-color)}.tabulator .tabulator-row.selected:hover{background-color:var(--table-row-selected-hover-background-color, #0D47A1)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabulatorComponent, decorators: [{
|
|
69
|
-
type: Component,
|
|
70
|
-
args: [{ selector: 'app-tabulator', encapsulation: ViewEncapsulation.None, imports: [], standalone: true, template: "<div #table></div>\n", styles: [".tabulator{position:relative;border:1px solid #999;background-color:#fff;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select{-webkit-user-select:none;user-select:none}.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){-webkit-user-select:none;user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#fff;color:#555;font-weight:700;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;outline:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #ddd;background:#fff;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:#e6e6e6;pointer-events:none}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:initial}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #ddd;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{cursor:pointer;background-color:#e6e6e6}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;inset:4px 0 auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder{box-sizing:border-box;display:inline-block;background:#fff!important;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:700;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:700;background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-range-overlay{position:absolute;inset:0;z-index:10;pointer-events:none}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{position:absolute;box-sizing:border-box;border:1px solid #2975DD}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{content:\"\";position:absolute;right:-3px;bottom:-3px;width:6px;height:6px;background-color:#2975dd;border-radius:999px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{position:absolute;box-sizing:border-box;border:2px solid #2975DD}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#fff;color:#555;font-weight:700;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:#fff!important;border-bottom:1px solid #ddd;border-top:1px solid #ddd;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:#fff!important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:#fff3}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{cursor:pointer;background:#0003;color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:11;vertical-align:middle}@media (hover: hover) and (pointer: fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:#0006;text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:700;font-size:16px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #D00;color:#590000}.tabulator-row{position:relative;box-sizing:border-box;min-height:22px;background-color:#fff}.tabulator-row.tabulator-row-even{background-color:#fff}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #ddd;border-bottom:1px solid #ddd;pointer-events:none;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #ddd;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:none}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1D68CD;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #dd0000}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{width:100%;height:3px;margin-top:2px;background:#666}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #ddd;border-bottom:2px solid #ddd}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:#0000001a;overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:#0003}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:700;font-size:1.1em}@media (hover: hover) and (pointer: fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:.7;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;padding:5px 5px 5px 10px;background:#ccc;font-weight:700;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:#0000001a}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #ddd;box-shadow:0 0 5px #0003;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:Min(500px,100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;-webkit-user-select:none;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover: hover) and (pointer: fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#fff}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{display:inline-block;position:absolute;top:calc(5px + .4em);right:10px;height:7px;width:7px;content:\"\";border-width:1px 1px 0 0;border-style:solid;border-color:#ddd;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #ddd}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1d68cd}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid rgba(255,255,255,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1D68CD}@media (hover: hover) and (pointer: fine){.tabulator-edit-list .tabulator-edit-list-item:hover{cursor:pointer;color:#fff;background:#1d68cd}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #ddd;padding:6px 4px 4px;color:#333;font-weight:700}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #ddd;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:initial;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:initial;margin-left:5px;border-bottom-left-radius:initial;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:initial;margin-left:5px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;inset:0;z-index:10000}body.tabulator-print-fullscreen-hide>*:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #ddd;border-bottom:2px solid #ddd}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;padding:5px 5px 5px 10px;background:#ccc;font-weight:700;min-width:100%}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:#0000001a}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:#0000001a;overflow:hidden}@media (hover: hover) and (pointer: fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:#0003}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:\"\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator{border:none;background-color:#fff}.tabulator .tabulator-header .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #999}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #fff}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator-row{border-bottom:1px solid #ddd}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row.tabulator-group span{color:#666}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#666}\n", ".tabulator,.tabulator .tabulator-tableholder{background-color:var(--panel-background-color)}.tabulator .tabulator-tableholder .tabulator-table{color:var(--text-color);background-color:var(--panel-background-color)}.tabulator .tabulator-header{border-bottom:none;background-color:var(--input-background-color)}.tabulator .tabulator-header .tabulator-col{background-color:var(--input-background-color);border-right-color:#0000;color:var(--text-bright-color)}.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:var(--table-row-hover-background-color)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #444}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:5px solid #444}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow,.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:6px solid #999}.tabulator .tabulator-row{border-bottom-color:#0000;background-color:var(--panel-background-color)}.tabulator .tabulator-row .tabulator-cell{border-right-color:#0000}.tabulator .tabulator-row.tabulator-row-even{background-color:var(--table-row-alt-background-color)}.tabulator .tabulator-row:hover,.tabulator .tabulator-row.tabulator-selectable:hover{background-color:var(--table-row-hover-background-color)}.tabulator .tabulator-row.selected{background-color:var(--table-row-selected-background-color, rgba(13, 71, 161, .4));color:var(--table-row-selected-color)}.tabulator .tabulator-row.selected:hover{background-color:var(--table-row-selected-hover-background-color, #0D47A1)}\n"] }]
|
|
71
|
-
}], ctorParameters: () => [], propDecorators: { tableRef: [{
|
|
72
|
-
type: ViewChild,
|
|
73
|
-
args: ["table"]
|
|
74
|
-
}], dataSource: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], columns: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], key: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], options: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], cellClick: [{
|
|
83
|
-
type: Output
|
|
84
|
-
}], cellDblClick: [{
|
|
85
|
-
type: Output
|
|
86
|
-
}], rowClick: [{
|
|
87
|
-
type: Output
|
|
88
|
-
}], rowContext: [{
|
|
89
|
-
type: Output
|
|
90
|
-
}], rowDblClick: [{
|
|
91
|
-
type: Output
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFidWxhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy90YWJ1bGF0b3IvdGFidWxhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy90YWJ1bGF0b3IvdGFidWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFpQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQTJDLGFBQWEsSUFBSSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFtQnZHLE1BQU0sT0FBTyxrQkFBa0I7SUFJM0IsSUFBYSxVQUFVLENBQUMsSUFBYztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUV4QixrRUFBa0U7UUFDbEUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pDLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQzdFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7Z0JBRXpDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLGFBQWE7Z0JBQ2IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFVBQVUsR0FBQyxDQUFD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eEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtJQUVsQyxDQUFDOytHQTNFUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwwYUNwQi9CLHNCQUNBOzs0RkRtQmEsa0JBQWtCO2tCQVg5QixTQUFTOytCQUNJLGVBQWUsaUJBTVYsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixFQUFFLGNBQ0MsSUFBSTt3REFHSSxRQUFRO3NCQUEzQixTQUFTO3VCQUFDLE9BQU87Z0JBR0wsVUFBVTtzQkFBdEIsS0FBSztnQkEwQk8sT0FBTztzQkFBbkIsS0FBSztnQkFNRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUlJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFFRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uLCBPcHRpb25zLCBSb3dDb21wb25lbnQsIFRhYnVsYXRvckZ1bGwgYXMgVGFidWxhdG9yIH0gZnJvbSAndGFidWxhdG9yLXRhYmxlcyc7XG5cbmV4cG9ydCB0eXBlIFRhYnVsYXRvckV2ZW50PFQgPSBhbnk+ID0ge1xuICAgIGV2ZW50OiBhbnksXG4gICAgcm93OiBSb3dDb21wb25lbnQsXG4gICAgZGF0YTogVFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10YWJ1bGF0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJ1bGF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3RhYnVsYXRvci10YWJsZXMvZGlzdC9jc3MvdGFidWxhdG9yX3NpbXBsZS5jc3MnLFxuICAgICAgICAnLi90YWJ1bGF0b3IuY29tcG9uZW50LnNjc3MnXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGFidWxhdG9yQ29tcG9uZW50PFQgPSBhbnk+IHtcbiAgICBAVmlld0NoaWxkKFwidGFibGVcIikgdGFibGVSZWY6IEVsZW1lbnRSZWY8YW55PjtcblxuICAgIHByaXZhdGUgX2RhdGFTb3VyY2UgPSBbXTtcbiAgICBASW5wdXQoKSBzZXQgZGF0YVNvdXJjZShkYXRhOiBPYmplY3RbXSkge1xuICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gZGF0YTtcblxuICAgICAgICAvLyBUT0RPOiB0aGlzIGlzIHBlcmZvcm1hbmNlIGhlbGwgZm9yIHJlYXNvbnMgSSBkbyBub3QgdW5kZXJzdGFuZC5cbiAgICAgICAgaWYgKHRoaXMudGFibGU/LmdldERhdGFDb3VudCgpID4gMCkge1xuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnRhYmxlLmVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi50YWJ1bGF0b3ItdGFibGVob2xkZXJcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbExlZnQgPSBjb250YWluZXIuc2Nyb2xsTGVmdDtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudGFibGUuc2V0RGF0YShkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbFRvKHsgbGVmdDogaW5pdGlhbExlZnQsIHRvcDogaW5pdGlhbFRvcCsxLCBiZWhhdmlvcjogXCJpbnN0YW50XCIgfSk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbFRvKHsgbGVmdDogaW5pdGlhbExlZnQsIHRvcDogaW5pdGlhbFRvcCwgYmVoYXZpb3I6IFwiaW5zdGFudFwiIH0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSgpXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlPy5zZXREYXRhKHRoaXMuZGF0YVNvdXJjZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGdldCBkYXRhU291cmNlKCkgeyByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZSB9O1xuXG4gICAgcHJpdmF0ZSBfY29sdW1ucyA9IFtdO1xuICAgIEBJbnB1dCgpIHNldCBjb2x1bW5zKGRhdGE6IENvbHVtbkRlZmluaXRpb25bXSkge1xuICAgICAgICB0aGlzLl9jb2x1bW5zID0gZGF0YTtcbiAgICAgICAgdGhpcy50YWJsZT8uc2V0Q29sdW1ucyh0aGlzLmNvbHVtbnMpO1xuICAgIH07XG4gICAgZ2V0IGNvbHVtbnMoKSB7IHJldHVybiB0aGlzLl9jb2x1bW5zIH1cblxuICAgIEBJbnB1dCgpIGtleTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgb3B0aW9uczogT3B0aW9ucyA9IHt9O1xuXG4gICAgdGFibGU6IFRhYnVsYXRvcjtcblxuICAgIEBPdXRwdXQoKSBjZWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGNlbGxEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSByb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VGFidWxhdG9yRXZlbnQ8VD4+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NvbnRleHQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYnVsYXRvckV2ZW50PFQ+PigpO1xuICAgIEBPdXRwdXQoKSByb3dEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VGFidWxhdG9yRXZlbnQ8VD4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuXG4gICAgICAgIGNvbnN0IHRhYmxlID0gdGhpcy50YWJsZSA9IG5ldyBUYWJ1bGF0b3IodGhpcy50YWJsZVJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgICBpbmRleDogdGhpcy5rZXksXG4gICAgICAgICAgICBkYXRhOiB0aGlzLl9kYXRhU291cmNlLFxuICAgICAgICAgICAgLy8gcmVhY3RpdmVEYXRhOiB0cnVlLFxuICAgICAgICAgICAgY29sdW1uczogdGhpcy5fY29sdW1ucyxcbiAgICAgICAgICAgIGxheW91dDogJ2ZpdERhdGFGaWxsJyxcbiAgICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICAgICAgICAgIC4uLnRoaXMub3B0aW9uc1xuICAgICAgICB9KTtcblxuICAgICAgICB0YWJsZS5vbihcInJvd0NsaWNrXCIsIChlLCByb3cpID0+IHRoaXMucm93Q2xpY2submV4dCh7IGV2ZW50OiBlLCByb3csIGRhdGE6IHJvdy5nZXREYXRhKCkgfSkpO1xuICAgICAgICB0YWJsZS5vbihcInJvd0NvbnRleHRcIiwgKGUsIHJvdykgPT4gdGhpcy5yb3dDb250ZXh0Lm5leHQoeyBldmVudDogZSwgcm93LCBkYXRhOiByb3cuZ2V0RGF0YSgpIH0pKTtcbiAgICAgICAgdGFibGUub24oXCJyb3dEYmxDbGlja1wiLCAoZSwgcm93KSA9PiB0aGlzLnJvd0RibENsaWNrLm5leHQoeyBldmVudDogZSwgcm93LCBkYXRhOiByb3cuZ2V0RGF0YSgpIH0pKTtcblxuICAgICAgICB0YWJsZS5vbihcInRhYmxlQnVpbHRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgdGFibGUucmVkcmF3KClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cbiAgICB9XG5cbn1cbiIsIjxkaXYgI3RhYmxlPjwvZGl2PlxuIl19
|