@dotglitch/ngx-common 1.0.51 → 1.1.2
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/components/command-palette/command-palette.component.d.ts +20 -0
- package/components/command-palette/shortcut/shortcut.component.d.ts +9 -0
- package/components/dynamic-html/dynamic-html.component.d.ts +1 -1
- package/components/filemanager/file-grid/file-grid.component.d.ts +1 -1
- package/components/filemanager/filemanager.component.d.ts +1 -1
- package/components/filemanager/folder-rename/folder-rename.component.d.ts +1 -1
- package/components/filemanager/toolbar/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/components/filemanager/toolbar/icon-button/icon-button.component.d.ts +1 -1
- package/components/filemanager/toolbar/toolbar.component.d.ts +1 -1
- package/components/filemanager/tree-view/tree-view.component.d.ts +1 -1
- package/components/lazy-loader/lazy-loader.component.d.ts +1 -1
- package/components/menu/menu.component.d.ts +1 -1
- package/components/tabulator/tabulator.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +1 -1
- package/components/vscode/vscode.component.d.ts +1 -1
- package/directives/menu.directive.d.ts +2 -2
- package/directives/tooltip.directive.d.ts +1 -1
- package/esm2022/components/command-palette/command-palette.component.mjs +107 -0
- package/esm2022/components/command-palette/shortcut/shortcut.component.mjs +19 -0
- package/{esm2020 → esm2022}/components/dynamic-html/dynamic-html.component.mjs +5 -5
- package/esm2022/components/dynamic-html/dynamic-html.module.mjs +27 -0
- package/{esm2020 → esm2022}/components/dynamic-html/dynamic-html.service.mjs +6 -6
- package/{esm2020 → esm2022}/components/filemanager/file-grid/file-grid.component.mjs +5 -5
- package/esm2022/components/filemanager/filemanager.component.mjs +302 -0
- package/{esm2020 → esm2022}/components/filemanager/folder-rename/folder-rename.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/filemanager/toolbar/breadcrumb/breadcrumb.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/filemanager/toolbar/icon-button/icon-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/filemanager/toolbar/toolbar.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/filemanager/tree-view/tree-view.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/lazy-loader/lazy-loader.component.mjs +6 -6
- package/esm2022/components/lazy-loader/lazy-loader.module.mjs +29 -0
- package/esm2022/components/lazy-loader/lazy-loader.service.mjs +215 -0
- package/{esm2020 → esm2022}/components/menu/menu.component.mjs +7 -7
- package/{esm2020 → esm2022}/components/react-magic-wrapper/react-magic-wrapper.component.mjs +5 -5
- package/esm2022/components/tabulator/tabulator.component.mjs +92 -0
- package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +10 -10
- package/{esm2020 → esm2022}/components/vscode/vscode.component.mjs +5 -5
- package/{esm2020 → esm2022}/directives/menu.directive.mjs +7 -7
- package/{esm2020 → esm2022}/directives/tooltip.directive.mjs +7 -7
- package/{esm2020 → esm2022}/pipes/html-bypass.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/pipes/resource-bypass.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/pipes/script-bypass.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/pipes/style-bypass.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/pipes/url-bypass.pipe.mjs +5 -5
- package/esm2022/public-api.mjs +58 -0
- package/esm2022/services/command-palette.service.mjs +205 -0
- package/{esm2020 → esm2022}/services/dependency.service.mjs +6 -6
- package/{esm2020 → esm2022}/services/dialog.service.mjs +5 -5
- package/{esm2020 → esm2022}/services/fetch.service.mjs +5 -5
- package/{esm2020 → esm2022}/services/file.service.mjs +5 -5
- package/{esm2020 → esm2022}/services/keyboard.service.mjs +5 -5
- package/{esm2020 → esm2022}/services/navigation.service.mjs +5 -5
- package/{esm2020 → esm2022}/services/theme.service.mjs +5 -5
- package/{fesm2020/dotglitch-ngx-common-folder-rename.component-dcb5b712.mjs → fesm2022/dotglitch-ngx-common-folder-rename.component-jf2j2TId.mjs} +7 -7
- package/{fesm2020/dotglitch-ngx-common-folder-rename.component-dcb5b712.mjs.map → fesm2022/dotglitch-ngx-common-folder-rename.component-jf2j2TId.mjs.map} +1 -1
- package/{fesm2020 → fesm2022}/dotglitch-ngx-common.mjs +471 -158
- package/fesm2022/dotglitch-ngx-common.mjs.map +1 -0
- package/package.json +9 -15
- package/public-api.d.ts +5 -1
- package/services/command-palette.service.d.ts +103 -0
- package/esm2020/components/dynamic-html/dynamic-html.module.mjs +0 -27
- package/esm2020/components/filemanager/filemanager.component.mjs +0 -302
- package/esm2020/components/lazy-loader/lazy-loader.module.mjs +0 -29
- package/esm2020/components/lazy-loader/lazy-loader.service.mjs +0 -215
- package/esm2020/components/tabulator/tabulator.component.mjs +0 -92
- package/esm2020/public-api.mjs +0 -54
- package/fesm2015/dotglitch-ngx-common-folder-rename.component-984ccea3.mjs +0 -82
- package/fesm2015/dotglitch-ngx-common-folder-rename.component-984ccea3.mjs.map +0 -1
- package/fesm2015/dotglitch-ngx-common.mjs +0 -10815
- package/fesm2015/dotglitch-ngx-common.mjs.map +0 -1
- package/fesm2020/dotglitch-ngx-common.mjs.map +0 -1
- /package/{esm2020 → esm2022}/assets/mat-icons.mjs +0 -0
- /package/{esm2020 → esm2022}/components/dynamic-html/types.mjs +0 -0
- /package/{esm2020 → esm2022}/components/filemanager/helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/components/filemanager/icon-resolver.mjs +0 -0
- /package/{esm2020 → esm2022}/components/filemanager/textextensions.mjs +0 -0
- /package/{esm2020 → esm2022}/components/lazy-loader/types.mjs +0 -0
- /package/{esm2020 → esm2022}/components/types.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/import-resolver.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/main.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/types.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -0
- /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/update-emitter.mjs +0 -0
- /package/{esm2020 → esm2022}/directives/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/dotglitch-ngx-common.mjs +0 -0
- /package/{esm2020 → esm2022}/types/menu.mjs +0 -0
- /package/{esm2020 → esm2022}/types/popup.mjs +0 -0
- /package/{esm2020 → esm2022}/types/tooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
+
import { NgForOf, NgIf } from '@angular/common';
|
|
3
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatDrawerContainer, MatSidenavModule } from '@angular/material/sidenav';
|
|
6
|
+
import { AngularSplitModule } from 'angular-split';
|
|
7
|
+
import { FileGridComponent } from './file-grid/file-grid.component';
|
|
8
|
+
import { ToolbarComponent } from './toolbar/toolbar.component';
|
|
9
|
+
import { TreeViewComponent } from './tree-view/tree-view.component';
|
|
10
|
+
import { NGX_WEB_COMPONENTS_CONFIG } from '../types';
|
|
11
|
+
import { IconResolver } from './icon-resolver';
|
|
12
|
+
import { ulid } from 'ulidx';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../lazy-loader/lazy-loader.service";
|
|
15
|
+
import * as i2 from "../../public-api";
|
|
16
|
+
import * as i3 from "angular-split";
|
|
17
|
+
import * as i4 from "@angular/material/tabs";
|
|
18
|
+
import * as i5 from "@angular/material/icon";
|
|
19
|
+
import * as i6 from "@angular/material/sidenav";
|
|
20
|
+
export class FilemanagerComponent {
|
|
21
|
+
get currentFileGrid() { return this.fileGrids[this.tabIndex]; }
|
|
22
|
+
constructor(libConfig = {}, lazyLoader, viewContainer, fetch) {
|
|
23
|
+
this.libConfig = libConfig;
|
|
24
|
+
this.lazyLoader = lazyLoader;
|
|
25
|
+
this.viewContainer = viewContainer;
|
|
26
|
+
this.fetch = fetch;
|
|
27
|
+
this.config = {
|
|
28
|
+
apiSettings: {
|
|
29
|
+
listEntriesUrl: `/api/filesystem/`,
|
|
30
|
+
uploadEntryUrl: `/api/filesystem/`,
|
|
31
|
+
downloadEntryUrl: `/api/filesystem/`,
|
|
32
|
+
deleteEntryUrl: `/api/filesystem/`,
|
|
33
|
+
createDirectoryUrl: `/api/filesystem/folder`,
|
|
34
|
+
renameEntryUrl: `/api/filesystem/rename`
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
this.gridSize = "normal";
|
|
38
|
+
this.value = [];
|
|
39
|
+
this.valueChange = new EventEmitter();
|
|
40
|
+
this.gridValues = [];
|
|
41
|
+
/**
|
|
42
|
+
* Emits when focused files change.
|
|
43
|
+
* Only available in `focusFiles` mode.
|
|
44
|
+
*/
|
|
45
|
+
this.focusedFilesChange = new EventEmitter();
|
|
46
|
+
/**
|
|
47
|
+
* Emits when a file is uploaded.
|
|
48
|
+
*/
|
|
49
|
+
this.fileUpload = new EventEmitter();
|
|
50
|
+
/**
|
|
51
|
+
* Emits when a file is downloaded.
|
|
52
|
+
*/
|
|
53
|
+
this.fileDownload = new EventEmitter();
|
|
54
|
+
this.fileRename = new EventEmitter();
|
|
55
|
+
this.fileDelete = new EventEmitter();
|
|
56
|
+
this.fileCopy = new EventEmitter();
|
|
57
|
+
this.filePaste = new EventEmitter();
|
|
58
|
+
this.fileSelect = new EventEmitter();
|
|
59
|
+
this.fileDblClick = new EventEmitter();
|
|
60
|
+
this.folderSelect = new EventEmitter();
|
|
61
|
+
this.folderDblClick = new EventEmitter();
|
|
62
|
+
/**
|
|
63
|
+
* Emits when multiple file selections change.
|
|
64
|
+
*/
|
|
65
|
+
this.filesSelect = new EventEmitter();
|
|
66
|
+
/**
|
|
67
|
+
* Emits when any selection changes, single or multiple files.
|
|
68
|
+
*/
|
|
69
|
+
// @Output() selectionChange = new EventEmitter<FSDescriptor[]>();
|
|
70
|
+
this.showHiddenFiles = false;
|
|
71
|
+
this.showSidebar = true;
|
|
72
|
+
this.sidebarOverlay = false;
|
|
73
|
+
this.width = 0;
|
|
74
|
+
this.isHomeAncestor = false;
|
|
75
|
+
this.currentTab = {};
|
|
76
|
+
this.tabIndex = 0;
|
|
77
|
+
this.tabs = [];
|
|
78
|
+
lazyLoader.registerComponent({
|
|
79
|
+
id: "folder-rename",
|
|
80
|
+
group: "@dotglitch/ngx-web-components",
|
|
81
|
+
load: () => import('./folder-rename/folder-rename.component')
|
|
82
|
+
});
|
|
83
|
+
this.iconResolver = new IconResolver(libConfig.assetPath);
|
|
84
|
+
}
|
|
85
|
+
ngOnInit() {
|
|
86
|
+
this.initTab(this.config.path);
|
|
87
|
+
this.currentTab = this.tabs[0];
|
|
88
|
+
}
|
|
89
|
+
ngAfterViewInit() {
|
|
90
|
+
this.onResize();
|
|
91
|
+
setTimeout(() => this.onResize(), 250);
|
|
92
|
+
}
|
|
93
|
+
onTreeViewLoadChildren({ item, cb }) {
|
|
94
|
+
const url = this.config.apiSettings.listEntriesUrlTemplate
|
|
95
|
+
? this.config.apiSettings.listEntriesUrlTemplate(item.path + item.name)
|
|
96
|
+
: this.config.apiSettings.listEntriesUrl;
|
|
97
|
+
this.fetch.post(url, { path: item.path + item.name, showHidden: this.showHiddenFiles })
|
|
98
|
+
.then((data) => {
|
|
99
|
+
const dirs = data.dirs;
|
|
100
|
+
cb(dirs);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
initTab(path) {
|
|
104
|
+
this.tabs.push(this.currentTab = {
|
|
105
|
+
id: ulid(),
|
|
106
|
+
label: this.getTabLabel(path),
|
|
107
|
+
breadcrumb: this.calcBreadcrumb(path),
|
|
108
|
+
path,
|
|
109
|
+
selection: [],
|
|
110
|
+
viewMode: this.mode || 'grid',
|
|
111
|
+
historyIndex: 0,
|
|
112
|
+
history: [],
|
|
113
|
+
sidebarItems: [],
|
|
114
|
+
sortOrder: 'a-z'
|
|
115
|
+
});
|
|
116
|
+
this.tabIndex = this.tabs.length;
|
|
117
|
+
}
|
|
118
|
+
closeTab(tab) {
|
|
119
|
+
this.tabs.splice(this.tabs.findIndex(t => t.id == tab.id), 1);
|
|
120
|
+
}
|
|
121
|
+
calcBreadcrumb(path) {
|
|
122
|
+
if (!path)
|
|
123
|
+
return null;
|
|
124
|
+
path = path.replace("#/", '/');
|
|
125
|
+
// If we're acting like we're in a changed root, we wipe out
|
|
126
|
+
// breadcrumbs below the root
|
|
127
|
+
if (this.config.chrootPath) {
|
|
128
|
+
path = path.replace(this.config.chrootPath, '');
|
|
129
|
+
const parts = path.split('/');
|
|
130
|
+
path = path.replace(/^\//, this.config.chrootPath);
|
|
131
|
+
return parts.map((p, i) => {
|
|
132
|
+
const path = parts.slice(0, i + 1).join('/');
|
|
133
|
+
return {
|
|
134
|
+
id: (this.config.chrootPath + (path || '/')).replace(/\/+/g, '/'),
|
|
135
|
+
label: p || ""
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const parts = path.split('/');
|
|
141
|
+
return parts.map((p, i) => {
|
|
142
|
+
const path = parts.slice(0, i + 1).join('/');
|
|
143
|
+
return {
|
|
144
|
+
id: path || '/',
|
|
145
|
+
label: p || ""
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
onBreadcrumbClick(crumb) {
|
|
151
|
+
if (crumb.id) {
|
|
152
|
+
this.currentTab.path = crumb.id;
|
|
153
|
+
this.currentTab.breadcrumb = this.calcBreadcrumb(crumb.id);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
onTabPathChange(tab) {
|
|
157
|
+
tab.label = this.getTabLabel(tab.path);
|
|
158
|
+
tab.breadcrumb = this.calcBreadcrumb(tab.path);
|
|
159
|
+
tab.historyIndex++;
|
|
160
|
+
tab.history.push(tab.path);
|
|
161
|
+
tab.history.splice(typeof this.config.maxHistoryLength == 'number' ? this.config.maxHistoryLength : 50);
|
|
162
|
+
}
|
|
163
|
+
onTreeViewSelect(item) {
|
|
164
|
+
this.currentTab.path = item.path + item.name;
|
|
165
|
+
}
|
|
166
|
+
onTabLoadFiles(tab, files) {
|
|
167
|
+
if (tab.sidebarItems.length == 0) {
|
|
168
|
+
tab.sidebarItems = files.filter(f => f.kind == "directory");
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
const currentItems = tab.sidebarItems;
|
|
172
|
+
const dirItems = files.filter(f => f.kind == "directory");
|
|
173
|
+
function recurse(items) {
|
|
174
|
+
return items.find(i => tab.path?.startsWith(i.path));
|
|
175
|
+
}
|
|
176
|
+
const target = recurse(currentItems);
|
|
177
|
+
if (target)
|
|
178
|
+
target['_children'] = dirItems;
|
|
179
|
+
tab.sidebarItems = currentItems;
|
|
180
|
+
}
|
|
181
|
+
onGridValueChange() {
|
|
182
|
+
this.value = this.gridValues.flat(1);
|
|
183
|
+
this.valueChange.emit(this.value);
|
|
184
|
+
}
|
|
185
|
+
getTabLabel(path) {
|
|
186
|
+
return path?.split('/').filter(p => p).pop();
|
|
187
|
+
}
|
|
188
|
+
async onResize() {
|
|
189
|
+
// Trigger re-calculation of the view
|
|
190
|
+
this.fileGrids.forEach(g => g.resize());
|
|
191
|
+
const el = this.viewContainer.element.nativeElement;
|
|
192
|
+
const bounds = el.getBoundingClientRect();
|
|
193
|
+
this.width = bounds.width;
|
|
194
|
+
// If the view area is less than 650px wide, use overlay the sidebar panel
|
|
195
|
+
this.sidebarOverlay = bounds.width < 650;
|
|
196
|
+
if (this.sidebarOverlay == false && [...this.drawer._drawers][0].opened) {
|
|
197
|
+
this.drawer.close();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
async onResizeEnd() {
|
|
201
|
+
this.onResize();
|
|
202
|
+
setTimeout(() => this.onResize(), 250);
|
|
203
|
+
}
|
|
204
|
+
getSelection() {
|
|
205
|
+
if (this.currentTab.viewMode == "grid") {
|
|
206
|
+
return this.currentTab.selection;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
return this.value;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
clearSelection() {
|
|
213
|
+
this.fileGrids.forEach(g => g.clearSelection());
|
|
214
|
+
}
|
|
215
|
+
// Tell the child grid to refresh it's sorting
|
|
216
|
+
refreshSorting() {
|
|
217
|
+
this.fileGrids.forEach(g => g.sort());
|
|
218
|
+
}
|
|
219
|
+
refreshData() {
|
|
220
|
+
this.fileGrids.forEach(g => g.loadFolder());
|
|
221
|
+
}
|
|
222
|
+
getFileData(file) {
|
|
223
|
+
let url = this.config.apiSettings.renameEntryUrlTemplate
|
|
224
|
+
? this.config.apiSettings.renameEntryUrlTemplate(file.path + file.name)
|
|
225
|
+
: this.config.apiSettings.renameEntryUrl;
|
|
226
|
+
url = (url.includes('?') ? '&' : '?') + `dir=${file.path}&file=${file.name}`;
|
|
227
|
+
return url;
|
|
228
|
+
}
|
|
229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FilemanagerComponent, deps: [{ token: NGX_WEB_COMPONENTS_CONFIG, optional: true }, { token: i1.LazyLoaderService }, { token: i0.ViewContainerRef }, { token: i2.Fetch }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: FilemanagerComponent, isStandalone: true, selector: "app-filemanager", inputs: { config: "config", gridSize: "gridSize", mode: "mode", contextTags: "contextTags", value: "value" }, outputs: { valueChange: "valueChange", focusedFilesChange: "focusedFilesChange", fileUpload: "fileUpload", fileDownload: "fileDownload", fileRename: "fileRename", fileDelete: "fileDelete", fileCopy: "fileCopy", filePaste: "filePaste", fileSelect: "fileSelect", fileDblClick: "fileDblClick", folderSelect: "folderSelect", folderDblClick: "folderDblClick", filesSelect: "filesSelect" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "toolbar", first: true, predicate: ToolbarComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatDrawerContainer, descendants: true }, { propertyName: "fileGrids", predicate: FileGridComponent, descendants: true }], ngImport: i0, template: "<app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [showBareMinimum]=\"width < 500 && config.showBreadcrumb != false\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n/>\n\n<mat-drawer-container>\n <mat-drawer #drawer mode=\"over\">\n <app-toolbar\n *ngIf=\"width < 500 && config.showBreadcrumb != false\"\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [drawerMode]=\"true\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n />\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </mat-drawer>\n <mat-drawer-content>\n <as-split direction=\"horizontal\" [gutterSize]=\"sidebarOverlay ? 0 : 2\" [unit]=\"'pixel'\" (dragEnd)=\"onResizeEnd()\">\n <as-split-area\n style=\"background-color: var(--filemanager-sidebar-background-color, #2c2c2c)\"\n [size]=\"215\"\n [minSize]=\"215\"\n [maxSize]=\"width/4\"\n [visible]=\"!sidebarOverlay && config.showTreeview != false\"\n >\n <div class=\"sidebar\"\n *ngIf=\"!sidebarOverlay && config.showTreeview != false\"\n (click)=\"currentTab.selection = []\"\n >\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </div>\n </as-split-area>\n <as-split-area style=\"background-color: var(--filemanager-background-color, #272727);\">\n <div class=\"content\"\n [style.--tab-height]=\"tabs.length > 1 ? '36px' : '0'\"\n >\n <mat-tab-group #tabGroup (selectedTabChange)=\"currentTab = tabs[$event.index]\" [(selectedIndex)]=\"tabIndex\">\n <mat-tab *ngFor=\"let tab of tabs; let i = index\">\n <ng-template mat-tab-label>\n {{tab.label}}\n <mat-icon\n class=\"close\"\n (click)=\"closeTab(tab)\">\n close\n </mat-icon>\n </ng-template>\n\n <ng-template matTabContent>\n <app-file-grid\n [viewMode]=\"tab.viewMode\"\n [tab]=\"tab\"\n [config]=\"config\"\n [gridSize]=\"gridSize\"\n [sortOrder]=\"tab.sortOrder\"\n [(selection)]=\"tab.selection\"\n [(path)]=\"tab.path\"\n (pathChange)=\"onTabPathChange(tab)\"\n [(value)]=\"gridValues[i]\"\n (valueChange)=\"onGridValueChange()\"\n (loadFiles)=\"onTabLoadFiles(tab, $event)\"\n\n (fileSelect)=\"fileSelect.next($event)\"\n (fileDblClick)=\"fileDblClick.next($event)\"\n (folderSelect)=\"folderSelect.next($event)\"\n (folderDblClick)=\"folderDblClick.next($event)\"\n />\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </as-split-area>\n </as-split>\n </mat-drawer-content>\n</mat-drawer-container>\n\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:100%}:host .content{display:flex;height:100%;overflow:hidden}:host ::ng-deep .as-split-gutter{background-color:var(--gutter-color, #121212)!important}:host ::ng-deep .mat-mdc-tab-header{height:var(--tab-height, 0);transition:height .25s ease}:host ::ng-deep .mat-mdc-tab-header .mdc-tab{height:var(--tab-height, 0);background-color:var(--filemanager-tab-background-color, #303030)}:host ::ng-deep .mat-mdc-tab .mdc-tab__content{position:static}:host ::ng-deep .mat-mdc-tab:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label,:host ::ng-deep .mat-mdc-tab-link:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label{color:var(--text-subdued-color)}.sidebar{border-right:1px solid transparent;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s ease}.sidebar ul{list-style-type:none;text-align:left;margin:0;padding:0;display:flex;flex-direction:column}.sidebar ul li{display:flex;align-items:center;transition:all .2s ease;font-size:14px;padding:6px 6px 6px 24px}.sidebar ul li mat-icon{margin-right:8px}.sidebar ul li:hover{background-color:#343434}.sidebar ul .tooltip{background-color:#101010cc;border:1px solid #414141;opacity:0;pointer-events:none;transition:all .2s ease}.active .sidebar{background-color:#2c2c2c;border-right-color:#1c1c1c}.active .sidebar li:hover{background-color:#343434}.close{position:absolute;right:12px;color:#666;transition:color .25s ease}.close:hover{color:#ccc}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i3.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { kind: "directive", type: i3.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: FileGridComponent, selector: "app-file-grid", inputs: ["path", "config", "showHiddenFiles", "viewMode", "gridSize", "tab", "selection", "value", "sortOrder"], outputs: ["pathChange", "fileSelect", "fileDblClick", "folderSelect", "folderDblClick", "newTab", "loadFiles", "selectionChange", "valueChange"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i4.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i4.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: ToolbarComponent, selector: "app-toolbar", inputs: ["config", "currentTab", "showHiddenFiles", "showSidebar", "drawerMode", "showBareMinimum"], outputs: ["onBreadcrumbClick", "showHiddenFilesChange", "showSidebarChange"] }, { kind: "component", type: TreeViewComponent, selector: "app-tree-view", inputs: ["rowTemplate", "data"], outputs: ["click", "loadChildren"] }] }); }
|
|
231
|
+
}
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FilemanagerComponent, decorators: [{
|
|
233
|
+
type: Component,
|
|
234
|
+
args: [{ selector: 'app-filemanager', imports: [
|
|
235
|
+
NgIf,
|
|
236
|
+
NgForOf,
|
|
237
|
+
AngularSplitModule,
|
|
238
|
+
FileGridComponent,
|
|
239
|
+
MatTabsModule,
|
|
240
|
+
MatIconModule,
|
|
241
|
+
MatSidenavModule,
|
|
242
|
+
ToolbarComponent,
|
|
243
|
+
TreeViewComponent
|
|
244
|
+
], standalone: true, template: "<app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [showBareMinimum]=\"width < 500 && config.showBreadcrumb != false\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n/>\n\n<mat-drawer-container>\n <mat-drawer #drawer mode=\"over\">\n <app-toolbar\n *ngIf=\"width < 500 && config.showBreadcrumb != false\"\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [drawerMode]=\"true\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n />\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </mat-drawer>\n <mat-drawer-content>\n <as-split direction=\"horizontal\" [gutterSize]=\"sidebarOverlay ? 0 : 2\" [unit]=\"'pixel'\" (dragEnd)=\"onResizeEnd()\">\n <as-split-area\n style=\"background-color: var(--filemanager-sidebar-background-color, #2c2c2c)\"\n [size]=\"215\"\n [minSize]=\"215\"\n [maxSize]=\"width/4\"\n [visible]=\"!sidebarOverlay && config.showTreeview != false\"\n >\n <div class=\"sidebar\"\n *ngIf=\"!sidebarOverlay && config.showTreeview != false\"\n (click)=\"currentTab.selection = []\"\n >\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </div>\n </as-split-area>\n <as-split-area style=\"background-color: var(--filemanager-background-color, #272727);\">\n <div class=\"content\"\n [style.--tab-height]=\"tabs.length > 1 ? '36px' : '0'\"\n >\n <mat-tab-group #tabGroup (selectedTabChange)=\"currentTab = tabs[$event.index]\" [(selectedIndex)]=\"tabIndex\">\n <mat-tab *ngFor=\"let tab of tabs; let i = index\">\n <ng-template mat-tab-label>\n {{tab.label}}\n <mat-icon\n class=\"close\"\n (click)=\"closeTab(tab)\">\n close\n </mat-icon>\n </ng-template>\n\n <ng-template matTabContent>\n <app-file-grid\n [viewMode]=\"tab.viewMode\"\n [tab]=\"tab\"\n [config]=\"config\"\n [gridSize]=\"gridSize\"\n [sortOrder]=\"tab.sortOrder\"\n [(selection)]=\"tab.selection\"\n [(path)]=\"tab.path\"\n (pathChange)=\"onTabPathChange(tab)\"\n [(value)]=\"gridValues[i]\"\n (valueChange)=\"onGridValueChange()\"\n (loadFiles)=\"onTabLoadFiles(tab, $event)\"\n\n (fileSelect)=\"fileSelect.next($event)\"\n (fileDblClick)=\"fileDblClick.next($event)\"\n (folderSelect)=\"folderSelect.next($event)\"\n (folderDblClick)=\"folderDblClick.next($event)\"\n />\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </as-split-area>\n </as-split>\n </mat-drawer-content>\n</mat-drawer-container>\n\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:100%}:host .content{display:flex;height:100%;overflow:hidden}:host ::ng-deep .as-split-gutter{background-color:var(--gutter-color, #121212)!important}:host ::ng-deep .mat-mdc-tab-header{height:var(--tab-height, 0);transition:height .25s ease}:host ::ng-deep .mat-mdc-tab-header .mdc-tab{height:var(--tab-height, 0);background-color:var(--filemanager-tab-background-color, #303030)}:host ::ng-deep .mat-mdc-tab .mdc-tab__content{position:static}:host ::ng-deep .mat-mdc-tab:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label,:host ::ng-deep .mat-mdc-tab-link:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label{color:var(--text-subdued-color)}.sidebar{border-right:1px solid transparent;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s ease}.sidebar ul{list-style-type:none;text-align:left;margin:0;padding:0;display:flex;flex-direction:column}.sidebar ul li{display:flex;align-items:center;transition:all .2s ease;font-size:14px;padding:6px 6px 6px 24px}.sidebar ul li mat-icon{margin-right:8px}.sidebar ul li:hover{background-color:#343434}.sidebar ul .tooltip{background-color:#101010cc;border:1px solid #414141;opacity:0;pointer-events:none;transition:all .2s ease}.active .sidebar{background-color:#2c2c2c;border-right-color:#1c1c1c}.active .sidebar li:hover{background-color:#343434}.close{position:absolute;right:12px;color:#666;transition:color .25s ease}.close:hover{color:#ccc}\n"] }]
|
|
245
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
246
|
+
type: Optional
|
|
247
|
+
}, {
|
|
248
|
+
type: Inject,
|
|
249
|
+
args: [NGX_WEB_COMPONENTS_CONFIG]
|
|
250
|
+
}] }, { type: i1.LazyLoaderService }, { type: i0.ViewContainerRef }, { type: i2.Fetch }], propDecorators: { tabGroup: [{
|
|
251
|
+
type: ViewChild,
|
|
252
|
+
args: ['tabGroup']
|
|
253
|
+
}], fileGrids: [{
|
|
254
|
+
type: ViewChildren,
|
|
255
|
+
args: [FileGridComponent]
|
|
256
|
+
}], treeView: [{
|
|
257
|
+
type: ViewChild,
|
|
258
|
+
args: [TreeViewComponent]
|
|
259
|
+
}], toolbar: [{
|
|
260
|
+
type: ViewChild,
|
|
261
|
+
args: [ToolbarComponent]
|
|
262
|
+
}], drawer: [{
|
|
263
|
+
type: ViewChild,
|
|
264
|
+
args: [MatDrawerContainer]
|
|
265
|
+
}], config: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], gridSize: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], mode: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], contextTags: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}], value: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], valueChange: [{
|
|
276
|
+
type: Output
|
|
277
|
+
}], focusedFilesChange: [{
|
|
278
|
+
type: Output
|
|
279
|
+
}], fileUpload: [{
|
|
280
|
+
type: Output
|
|
281
|
+
}], fileDownload: [{
|
|
282
|
+
type: Output
|
|
283
|
+
}], fileRename: [{
|
|
284
|
+
type: Output
|
|
285
|
+
}], fileDelete: [{
|
|
286
|
+
type: Output
|
|
287
|
+
}], fileCopy: [{
|
|
288
|
+
type: Output
|
|
289
|
+
}], filePaste: [{
|
|
290
|
+
type: Output
|
|
291
|
+
}], fileSelect: [{
|
|
292
|
+
type: Output
|
|
293
|
+
}], fileDblClick: [{
|
|
294
|
+
type: Output
|
|
295
|
+
}], folderSelect: [{
|
|
296
|
+
type: Output
|
|
297
|
+
}], folderDblClick: [{
|
|
298
|
+
type: Output
|
|
299
|
+
}], filesSelect: [{
|
|
300
|
+
type: Output
|
|
301
|
+
}] } });
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQWUseUJBQXlCLEVBQTBCLE1BQU0sVUFBVSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDOzs7Ozs7OztBQTRKN0IsTUFB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QW5CLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwLCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREcmF3ZXJDb250YWluZXIsIE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IEFuZ3VsYXJTcGxpdE1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3BsaXQnO1xuXG5pbXBvcnQgeyBGaWxlR3JpZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1ncmlkL2ZpbGUtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3L3RyZWUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVNvcnRpbmcsIE5HWF9XRUJfQ09NUE9ORU5UU19DT05GSUcsIE5neFdlYkNvbXBvbmVudHNDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBJY29uUmVzb2x2ZXIgfSBmcm9tICcuL2ljb24tcmVzb2x2ZXInO1xuaW1wb3J0IHsgTGF6eUxvYWRlclNlcnZpY2UsIE5HWF9MQVpZX0xPQURFUl9DT05GSUcgfSBmcm9tICcuLi9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZldGNoIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyB1bGlkIH0gZnJvbSAndWxpZHgnO1xuXG4vLyBUT0RPOlxuLyoqXG4gKiBNdWx0aXBsZSBtdXNpYyAvIHZpZGVvIC8gaW1hZ2UgZmlsZXMgc2VsZWN0ZWQgdHVybnMgaW50byBhIHBsYXlsaXN0XG4gKiBEcmFnZ2luZyBtdXNpYyAvIHZpZGVvIC8gaW1hZ2UgcXVldWVzIHRoZSBmaWxlKHMpXG4gKiBDYW4gc2F2ZSBhbmQgZWRpdCBhIGxpc3Qgb2YgZmlsZXMgYXMgcGxheWxpc3RcbiAqIENhbiBcImxvb3BcIiBcInJhbmRvbWl6ZVwiXG4gKi9cblxuZXhwb3J0IHR5cGUgRGlyZWN0b3J5RGVzY3JpcHRvciA9IHtcbiAgICBraW5kOiBcImRpcmVjdG9yeVwiLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBjb250ZW50czoge1xuICAgICAgICBkaXJzOiBEaXJlY3RvcnlEZXNjcmlwdG9yW10sXG4gICAgICAgIGZpbGVzOiBGaWxlRGVzY3JpcHRvcltdXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBGaWxlRGVzY3JpcHRvciA9IHtcbiAgICBraW5kOiBcImZpbGVcIixcbiAgICBzdGF0czoge1xuICAgICAgICBzaXplOiBudW1iZXI7XG4gICAgICAgIC8vIFNpemUgZm9yIHppcHBlZCBmaWxlXG4gICAgICAgIGNvbXByZXNzZWRTaXplPzogbnVtYmVyLFxuICAgICAgICBhdGltZU1zOiBudW1iZXI7XG4gICAgICAgIG10aW1lTXM6IG51bWJlcjtcbiAgICAgICAgY3RpbWVNczogbnVtYmVyO1xuICAgICAgICBiaXJ0aHRpbWVNczogbnVtYmVyO1xuICAgIH0sXG4gICAgcGF0aDogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGV4dDogc3RyaW5nLFxuICAgIC8vIENvbW1lbnQgZm9yIGVudHJpZXMgaW4gYSB6aXAgZmlsZS5cbiAgICBjb21tZW50Pzogc3RyaW5nXG59O1xuXG5leHBvcnQgdHlwZSBGU0Rlc2NyaXB0b3IgPSBEaXJlY3RvcnlEZXNjcmlwdG9yIHwgRmlsZURlc2NyaXB0b3I7XG5cbmV4cG9ydCB0eXBlIEZpbGVWaWV3VGFiID0ge1xuICAgIGlkOiBzdHJpbmcsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBicmVhZGNydW1iOiB7XG4gICAgICAgIGlkOiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmdcbiAgICB9W10sXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHNlbGVjdGlvbjogRlNEZXNjcmlwdG9yW10sXG4gICAgdmlld01vZGU6IFwiZ3JpZFwiIHwgXCJsaXN0XCIsXG4gICAgaGlzdG9yeUluZGV4OiBudW1iZXIsXG4gICAgaGlzdG9yeTogc3RyaW5nW10sXG4gICAgc2lkZWJhckl0ZW1zOiBGU0Rlc2NyaXB0b3JbXSxcbiAgICBzb3J0T3JkZXI6IEZpbGVTb3J0aW5nXG59XG5cbi8vIFRPRE86IHJlcGxhY2UgaHR0cCBjb25maWdzXG50eXBlIEh0dHBDb25maWd1cmF0aW9uID0gKFxuICAgIHsgdXJsOiBzdHJpbmcgfSB8XG4gICAgeyB1cmxUZW1wbGF0ZTogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nIH1cbikgJiB7XG4gICAgbWV0aG9kPzogXCJnZXRcIiB8IFwicHV0XCIgfCBcInBvc3RcIiB8IFwicGF0Y2hcIiB8IFwiZGVsZXRlXCIsXG4gICAgaGVhZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbn1cblxuZXhwb3J0IHR5cGUgTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uID0gUGFydGlhbDx7XG4gICAgLyoqXG4gICAgICogSW5pdGlhbCBwYXRoXG4gICAgICovXG4gICAgcGF0aDogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHJvb3QgcGF0aCAod2lsbCBhcHBlYXIgYXMgJy8nKS5cbiAgICAgKiBEZWZhdWx0cyB0byAnLycuXG4gICAgICpcbiAgICAgKiBVc2VyIGNhbm5vdCB2aWV3IG91dHNpZGUgb2YgdGhpcyBwYXRoLlxuICAgICAqICAgKE5vdCB0byBiZSB1c2VkIGFzIGEgc2VjdXJpdHkgbWVhc3VyZSEpXG4gICAgICovXG4gICAgY2hyb290UGF0aDogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogUmVzdHJpY3QgdXNlcnMgdG8gb25seSBuYXZpZ2F0ZSBhcm91bmQgdG8gc3VicGF0aHMgb2YgdGhlIHNwZWNpZmllZCBgcGF0aGBcbiAgICAgKi9cbiAgICBuYXZpZ2F0ZU9ubHlUb0Rlc2NlbmRhbnRzOiBib29sZWFuLFxuICAgIHNob3dCcmVhZGNydW1iOiBib29sZWFuLFxuICAgIHNob3dUcmVldmlldzogYm9vbGVhbixcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIFwicm9vdFwiIHBhdGggYC9gXG4gICAgICogRGVmYXVsdHMgdG8gXCJTdG9yYWdlXCJcbiAgICAgKi9cbiAgICByb290TmFtZTogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgc3RvcmVkIGluIGhpc3RvcnkuXG4gICAgICovXG4gICAgbWF4SGlzdG9yeUxlbmd0aDogbnVtYmVyLFxuXG4gICAgYXBpU2V0dGluZ3M6IHtcbiAgICAgICAgbGlzdEVudHJpZXNVcmw/OiBzdHJpbmcsXG4gICAgICAgIGxpc3RFbnRyaWVzVXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGRvd25sb2FkRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIGRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgdXBsb2FkRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIHVwbG9hZEVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZUVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICBkZWxldGVFbnRyeVVybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICByZW5hbWVFbnRyeVVybD86IHN0cmluZyxcbiAgICAgICAgcmVuYW1lRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsPzogc3RyaW5nLFxuICAgICAgICBjcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZ1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCB0aGF0IGltYWdlcyBhcmUgbG9hZGVkIGZyb20uXG4gICAgICogRGVmYXVsdCB2YWx1ZSBgL2Fzc2V0cy9kb3RnbGl0Y2gvd2ViY29tcG9uZW50cy9gXG4gICAgICovXG4gICAgYXNzZXRQYXRoOiBzdHJpbmcsXG4gICAgc2lkZWJhckxvY2F0aW9uU3RyYXRlZ3k6IFwia25vd25cIiB8IFwiY3VycmVudERpcmVjdG9yeVwiLFxuXG4gICAgaWNvblJlc29sdmVyOiAoZmlsZTogRlNEZXNjcmlwdG9yKSA9PiBzdHJpbmcsXG5cbiAgICBpbWFnZVNpemU6IFwibm9ybWFsXCIgfCBcInNtYWxsXCIgfCBcImh1Z2VcIixcblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgc2VsZWN0aW9uTW9kZTogXCJzaW5nbGVcIiB8IFwibXVsdGlwbGVcIixcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZGV0ZXJtaW5lcyBpZiB0aGUgZmlsZW1hbmFnZXIgc2hvd3Mgc2VsZWN0ZWQgZW50cmllc1xuICAgICAqXG4gICAgICogSWYgc2V0IHRvIGBmb2N1c0ZpbGVzYCwgZmlsZSBwYXRocyB0aGF0IG1hdGNoIGZyb20gdGhlIHByb3ZpZGVkIGBmb2N1c2VkRmlsZXNgXG4gICAgICogd2lsbCBiZSBoaWdobGlnaHRlZCwgYW5kIGNhbiBiZSBzZWxlY3RlZCAvIGRlc2VsZWN0ZWQuXG4gICAgICovXG4gICAgbW9kZTogXCJmb2N1c0ZpbGVzXCIgfCBcIm5vcm1hbFwiLFxuICAgIGZvY3VzZWRGaWxlczogc3RyaW5nW11cbn0+XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbGVtYW5hZ2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBBbmd1bGFyU3BsaXRNb2R1bGUsXG4gICAgICAgIEZpbGVHcmlkQ29tcG9uZW50LFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgICAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBUcmVlVmlld0NvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlbWFuYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgndGFiR3JvdXAnKSB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG4gICAgQFZpZXdDaGlsZHJlbihGaWxlR3JpZENvbXBvbmVudCkgZmlsZUdyaWRzOiBGaWxlR3JpZENvbXBvbmVudFtdO1xuICAgIEBWaWV3Q2hpbGQoVHJlZVZpZXdDb21wb25lbnQpIHRyZWVWaWV3OiBUcmVlVmlld0NvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKFRvb2xiYXJDb21wb25lbnQpIHRvb2xiYXI6IFRvb2xiYXJDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZChNYXREcmF3ZXJDb250YWluZXIpIGRyYXdlcjogTWF0RHJhd2VyQ29udGFpbmVyO1xuXG4gICAgQElucHV0KCkgY29uZmlnOiBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIGFwaVNldHRpbmdzOiB7XG4gICAgICAgICAgICBsaXN0RW50cmllc1VybDogYC9hcGkvZmlsZXN5c3RlbS9gLFxuICAgICAgICAgICAgdXBsb2FkRW50cnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIGRvd25sb2FkRW50cnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIGRlbGV0ZUVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBjcmVhdGVEaXJlY3RvcnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vZm9sZGVyYCxcbiAgICAgICAgICAgIHJlbmFtZUVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL3JlbmFtZWBcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBASW5wdXQoKSBncmlkU2l6ZTogXCJzbWFsbFwiIHwgXCJub3JtYWxcIiB8IFwibGFyZ2VcIiA9IFwibm9ybWFsXCI7XG4gICAgQElucHV0KCkgbW9kZTogXCJncmlkXCIgfCBcImxpc3RcIjtcbiAgICBASW5wdXQoKSBjb250ZXh0VGFnczoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG5cblxuICAgIEBJbnB1dCgpIHZhbHVlOiBGU0Rlc2NyaXB0b3JbXSA9IFtdO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG5cbiAgICBncmlkVmFsdWVzOiBGU0Rlc2NyaXB0b3JbXVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIGZvY3VzZWQgZmlsZXMgY2hhbmdlLlxuICAgICAqIE9ubHkgYXZhaWxhYmxlIGluIGBmb2N1c0ZpbGVzYCBtb2RlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmb2N1c2VkRmlsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhIGZpbGUgaXMgdXBsb2FkZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIGZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhIGZpbGUgaXMgZG93bmxvYWRlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZmlsZURvd25sb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlUmVuYW1lID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlQ29weSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZVBhc3RlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRGJsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmb2xkZXJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERpcmVjdG9yeURlc2NyaXB0b3I+KCk7XG4gICAgQE91dHB1dCgpIGZvbGRlckRibENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3RvcnlEZXNjcmlwdG9yPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtdWx0aXBsZSBmaWxlIHNlbGVjdGlvbnMgY2hhbmdlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmaWxlc1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhbnkgc2VsZWN0aW9uIGNoYW5nZXMsIHNpbmdsZSBvciBtdWx0aXBsZSBmaWxlcy5cbiAgICAgKi9cbiAgICAvLyBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU0Rlc2NyaXB0b3JbXT4oKTtcblxuICAgIHNob3dIaWRkZW5GaWxlcyA9IGZhbHNlO1xuICAgIHNob3dTaWRlYmFyID0gdHJ1ZTtcbiAgICBzaWRlYmFyT3ZlcmxheSA9IGZhbHNlO1xuICAgIHdpZHRoID0gMDtcblxuICAgIGlzSG9tZUFuY2VzdG9yID0gZmFsc2U7XG5cbiAgICBjdXJyZW50VGFiOiBGaWxlVmlld1RhYiA9IHt9IGFzIGFueTtcbiAgICBnZXQgY3VycmVudEZpbGVHcmlkKCkgeyByZXR1cm4gdGhpcy5maWxlR3JpZHNbdGhpcy50YWJJbmRleF0gfVxuICAgIHRhYkluZGV4ID0gMDtcbiAgICB0YWJzOiBGaWxlVmlld1RhYltdID0gW107XG5cbiAgICBpY29uUmVzb2x2ZXI6IEljb25SZXNvbHZlcjtcblxuICAgIGNvbnN0cnVjdG9yIChcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOR1hfV0VCX0NPTVBPTkVOVFNfQ09ORklHKSByZWFkb25seSBsaWJDb25maWc6IE5neFdlYkNvbXBvbmVudHNDb25maWcgPSB7fSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsYXp5TG9hZGVyOiBMYXp5TG9hZGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGZldGNoOiBGZXRjaFxuICAgICkge1xuICAgICAgICBsYXp5TG9hZGVyLnJlZ2lzdGVyQ29tcG9uZW50KHtcbiAgICAgICAgICAgIGlkOiBcImZvbGRlci1yZW5hbWVcIixcbiAgICAgICAgICAgIGdyb3VwOiBcIkBkb3RnbGl0Y2gvbmd4LXdlYi1jb21wb25lbnRzXCIsXG4gICAgICAgICAgICBsb2FkOiAoKSA9PiBpbXBvcnQoJy4vZm9sZGVyLXJlbmFtZS9mb2xkZXItcmVuYW1lLmNvbXBvbmVudCcpXG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5pY29uUmVzb2x2ZXIgPSBuZXcgSWNvblJlc29sdmVyKGxpYkNvbmZpZy5hc3NldFBhdGgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRUYWIodGhpcy5jb25maWcucGF0aCk7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYiA9IHRoaXMudGFic1swXTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMub25SZXNpemUoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25SZXNpemUoKSwgMjUwKTtcbiAgICB9XG5cbiAgICBvblRyZWVWaWV3TG9hZENoaWxkcmVuKHtpdGVtLCBjYn0pIHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jb25maWcuYXBpU2V0dGluZ3MubGlzdEVudHJpZXNVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5saXN0RW50cmllc1VybFRlbXBsYXRlKGl0ZW0ucGF0aCArIGl0ZW0ubmFtZSlcbiAgICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MubGlzdEVudHJpZXNVcmxcblxuICAgICAgICB0aGlzLmZldGNoLnBvc3QodXJsLCB7IHBhdGg6IGl0ZW0ucGF0aCArIGl0ZW0ubmFtZSwgc2hvd0hpZGRlbjogdGhpcy5zaG93SGlkZGVuRmlsZXMgfSlcbiAgICAgICAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXJzOiBEaXJlY3RvcnlEZXNjcmlwdG9yW10gPSBkYXRhLmRpcnM7XG4gICAgICAgICAgICAgICAgY2IoZGlycyk7XG4gICAgICAgICAgICB9KVxuICAgIH1cblxuICAgIGluaXRUYWIocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFicy5wdXNoKHRoaXMuY3VycmVudFRhYiA9IHtcbiAgICAgICAgICAgIGlkOiB1bGlkKCksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRUYWJMYWJlbChwYXRoKSxcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHRoaXMuY2FsY0JyZWFkY3J1bWIocGF0aCksXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgc2VsZWN0aW9uOiBbXSxcbiAgICAgICAgICAgIHZpZXdNb2RlOiB0aGlzLm1vZGUgfHwgJ2dyaWQnLFxuICAgICAgICAgICAgaGlzdG9yeUluZGV4OiAwLFxuICAgICAgICAgICAgaGlzdG9yeTogW10sXG4gICAgICAgICAgICBzaWRlYmFySXRlbXM6IFtdLFxuICAgICAgICAgICAgc29ydE9yZGVyOiAnYS16J1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50YWJJbmRleCA9IHRoaXMudGFicy5sZW5ndGg7XG4gICAgfVxuXG4gICAgY2xvc2VUYWIodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICB0aGlzLnRhYnMuc3BsaWNlKHRoaXMudGFicy5maW5kSW5kZXgodCA9PiB0LmlkID09IHRhYi5pZCksIDEpO1xuICAgIH1cblxuICAgIGNhbGNCcmVhZGNydW1iKHBhdGg6IHN0cmluZykge1xuICAgICAgICBpZiAoIXBhdGgpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoXCIjL1wiLCAnLycpO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIGFjdGluZyBsaWtlIHdlJ3JlIGluIGEgY2hhbmdlZCByb290LCB3ZSB3aXBlIG91dFxuICAgICAgICAvLyBicmVhZGNydW1icyBiZWxvdyB0aGUgcm9vdFxuICAgICAgICBpZiAodGhpcy5jb25maWcuY2hyb290UGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoLCAnJyk7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvXlxcLy8sIHRoaXMuY29uZmlnLmNocm9vdFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRzLm1hcCgocCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwYXJ0cy5zbGljZSgwLCBpICsgMSkuam9pbignLycpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoICsgKHBhdGggfHwgJy8nKSkucmVwbGFjZSgvXFwvKy9nLCAnLycpLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcCB8fCBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJ0cy5tYXAoKHAsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gcGFydHMuc2xpY2UoMCwgaSArIDEpLmpvaW4oJy8nKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBwYXRoIHx8ICcvJyxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAgfHwgXCJcIlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQnJlYWRjcnVtYkNsaWNrKGNydW1iKSB7XG4gICAgICAgIGlmIChjcnVtYi5pZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiLnBhdGggPSBjcnVtYi5pZDtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRhYi5icmVhZGNydW1iID0gdGhpcy5jYWxjQnJlYWRjcnVtYihjcnVtYi5pZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYlBhdGhDaGFuZ2UodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICB0YWIubGFiZWwgPSB0aGlzLmdldFRhYkxhYmVsKHRhYi5wYXRoKTtcbiAgICAgICAgdGFiLmJyZWFkY3J1bWIgPSB0aGlzLmNhbGNCcmVhZGNydW1iKHRhYi5wYXRoKTtcblxuICAgICAgICB0YWIuaGlzdG9yeUluZGV4Kys7XG4gICAgICAgIHRhYi5oaXN0b3J5LnB1c2godGFiLnBhdGgpO1xuICAgICAgICB0YWIuaGlzdG9yeS5zcGxpY2UodHlwZW9mIHRoaXMuY29uZmlnLm1heEhpc3RvcnlMZW5ndGggPT0gJ251bWJlcicgPyB0aGlzLmNvbmZpZy5tYXhIaXN0b3J5TGVuZ3RoIDogNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdTZWxlY3QoaXRlbTogRlNEZXNjcmlwdG9yKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYi5wYXRoID0gaXRlbS5wYXRoICsgaXRlbS5uYW1lO1xuICAgIH1cblxuICAgIG9uVGFiTG9hZEZpbGVzKHRhYjogRmlsZVZpZXdUYWIsIGZpbGVzOiBGU0Rlc2NyaXB0b3JbXSkge1xuICAgICAgICBpZiAodGFiLnNpZGViYXJJdGVtcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgdGFiLnNpZGViYXJJdGVtcyA9IGZpbGVzLmZpbHRlcihmID0+IGYua2luZCA9PSBcImRpcmVjdG9yeVwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRhYi5zaWRlYmFySXRlbXM7XG4gICAgICAgIGNvbnN0IGRpckl0ZW1zID0gZmlsZXMuZmlsdGVyKGYgPT4gZi5raW5kID09IFwiZGlyZWN0b3J5XCIpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHJlY3Vyc2UoaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtcy5maW5kKGkgPT4gdGFiLnBhdGg/LnN0YXJ0c1dpdGgoaS5wYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gcmVjdXJzZShjdXJyZW50SXRlbXMpO1xuXG4gICAgICAgIGlmICh0YXJnZXQpXG4gICAgICAgICAgICB0YXJnZXRbJ19jaGlsZHJlbiddID0gZGlySXRlbXM7XG5cbiAgICAgICAgdGFiLnNpZGViYXJJdGVtcyA9IGN1cnJlbnRJdGVtcztcbiAgICB9XG5cbiAgICBvbkdyaWRWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ3JpZFZhbHVlcy5mbGF0KDEpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSlcbiAgICB9XG5cbiAgICBnZXRUYWJMYWJlbChwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg/LnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCkucG9wKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25SZXNpemUoKSB7XG4gICAgICAgIC8vIFRyaWdnZXIgcmUtY2FsY3VsYXRpb24gb2YgdGhlIHZpZXdcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcucmVzaXplKCkpO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgYm91bmRzID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIHRoaXMud2lkdGggPSBib3VuZHMud2lkdGg7XG5cbiAgICAgICAgLy8gSWYgdGhlIHZpZXcgYXJlYSBpcyBsZXNzIHRoYW4gNjUwcHggd2lkZSwgdXNlIG92ZXJsYXkgdGhlIHNpZGViYXIgcGFuZWxcbiAgICAgICAgdGhpcy5zaWRlYmFyT3ZlcmxheSA9IGJvdW5kcy53aWR0aCA8IDY1MDtcbiAgICAgICAgaWYgKHRoaXMuc2lkZWJhck92ZXJsYXkgPT0gZmFsc2UgJiYgWy4uLnRoaXMuZHJhd2VyLl9kcmF3ZXJzXVswXS5vcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhd2VyLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBvblJlc2l6ZUVuZCgpIHtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblJlc2l6ZSgpLCAyNTApO1xuICAgIH1cblxuICAgIGdldFNlbGVjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFRhYi52aWV3TW9kZSA9PSBcImdyaWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFRhYi5zZWxlY3Rpb25cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuZmlsZUdyaWRzLmZvckVhY2goZyA9PiBnLmNsZWFyU2VsZWN0aW9uKCkpO1xuICAgIH1cblxuICAgIC8vIFRlbGwgdGhlIGNoaWxkIGdyaWQgdG8gcmVmcmVzaCBpdCdzIHNvcnRpbmdcbiAgICByZWZyZXNoU29ydGluZygpIHtcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcuc29ydCgpKTtcbiAgICB9XG5cbiAgICByZWZyZXNoRGF0YSgpIHtcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcubG9hZEZvbGRlcigpKTtcbiAgICB9XG5cbiAgICBnZXRGaWxlRGF0YShmaWxlOiBGaWxlRGVzY3JpcHRvcikge1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5jb25maWcuYXBpU2V0dGluZ3MucmVuYW1lRW50cnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlKGZpbGUucGF0aCArIGZpbGUubmFtZSlcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MucmVuYW1lRW50cnlVcmw7XG5cbiAgICAgICAgdXJsID0gKHVybC5pbmNsdWRlcygnPycpID8gJyYnIDogJz8nKSArIGBkaXI9JHtmaWxlLnBhdGh9JmZpbGU9JHtmaWxlLm5hbWV9YDtcblxuICAgICAgICByZXR1cm4gdXJsO1xuICAgIH1cbn1cbiIsIjxhcHAtdG9vbGJhclxuICAgIFtjdXJyZW50VGFiXT1cImN1cnJlbnRUYWJcIlxuICAgIFsoc2hvd0hpZGRlbkZpbGVzKV09XCJzaG93SGlkZGVuRmlsZXNcIlxuICAgIFsoc2hvd1NpZGViYXIpXT1cInNob3dTaWRlYmFyXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW3Nob3dCYXJlTWluaW11bV09XCJ3aWR0aCA8IDUwMCAmJiBjb25maWcuc2hvd0JyZWFkY3J1bWIgIT0gZmFsc2VcIlxuICAgIChvbkJyZWFkY3J1bWJDbGljayk9XCJvbkJyZWFkY3J1bWJDbGljaygkZXZlbnQpXCJcbi8+XG5cbjxtYXQtZHJhd2VyLWNvbnRhaW5lcj5cbiAgICA8bWF0LWRyYXdlciAjZHJhd2VyIG1vZGU9XCJvdmVyXCI+XG4gICAgICAgIDxhcHAtdG9vbGJhclxuICAgICAgICAgICAgKm5nSWY9XCJ3aWR0aCA8IDUwMCAmJiBjb25maWcuc2hvd0JyZWFkY3J1bWIgIT0gZmFsc2VcIlxuICAgICAgICAgICAgW2N1cnJlbnRUYWJdPVwiY3VycmVudFRhYlwiXG4gICAgICAgICAgICBbKHNob3dIaWRkZW5GaWxlcyldPVwic2hvd0hpZGRlbkZpbGVzXCJcbiAgICAgICAgICAgIFsoc2hvd1NpZGViYXIpXT1cInNob3dTaWRlYmFyXCJcbiAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICAgIFtkcmF3ZXJNb2RlXT1cInRydWVcIlxuICAgICAgICAgICAgKG9uQnJlYWRjcnVtYkNsaWNrKT1cIm9uQnJlYWRjcnVtYkNsaWNrKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8YXBwLXRyZWUtdmlld1xuICAgICAgICAgICAgW2RhdGFdPVwiY3VycmVudFRhYi5zaWRlYmFySXRlbXNcIlxuICAgICAgICAgICAgKGxvYWRDaGlsZHJlbik9XCJvblRyZWVWaWV3TG9hZENoaWxkcmVuKCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJlZVZpZXdTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgPC9tYXQtZHJhd2VyPlxuICAgIDxtYXQtZHJhd2VyLWNvbnRlbnQ+XG4gICAgICAgIDxhcy1zcGxpdCBkaXJlY3Rpb249XCJob3Jpem9udGFsXCIgW2d1dHRlclNpemVdPVwic2lkZWJhck92ZXJsYXkgPyAwIDogMlwiIFt1bml0XT1cIidwaXhlbCdcIiAoZHJhZ0VuZCk9XCJvblJlc2l6ZUVuZCgpXCI+XG4gICAgICAgICAgICA8YXMtc3BsaXQtYXJlYVxuICAgICAgICAgICAgICAgIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZmlsZW1hbmFnZXItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yLCAjMmMyYzJjKVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiMjE1XCJcbiAgICAgICAgICAgICAgICBbbWluU2l6ZV09XCIyMTVcIlxuICAgICAgICAgICAgICAgIFttYXhTaXplXT1cIndpZHRoLzRcIlxuICAgICAgICAgICAgICAgIFt2aXNpYmxlXT1cIiFzaWRlYmFyT3ZlcmxheSAmJiBjb25maWcuc2hvd1RyZWV2aWV3ICE9IGZhbHNlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhclwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3VycmVudFRhYi5zZWxlY3Rpb24gPSBbXVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLXRyZWUtdmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiY3VycmVudFRhYi5zaWRlYmFySXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRDaGlsZHJlbik9XCJvblRyZWVWaWV3TG9hZENoaWxkcmVuKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJlZVZpZXdTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2FzLXNwbGl0LWFyZWE+XG4gICAgICAgICAgICA8YXMtc3BsaXQtYXJlYSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHZhcigtLWZpbGVtYW5hZ2VyLWJhY2tncm91bmQtY29sb3IsICMyNzI3MjcpO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tdGFiLWhlaWdodF09XCJ0YWJzLmxlbmd0aCA+IDEgPyAnMzZweCcgOiAnMCdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJjdXJyZW50VGFiID0gdGFic1skZXZlbnQuaW5kZXhdXCIgWyhzZWxlY3RlZEluZGV4KV09XCJ0YWJJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGFiLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhYih0YWIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1maWxlLWdyaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3TW9kZV09XCJ0YWIudmlld01vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYl09XCJ0YWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dyaWRTaXplXT1cImdyaWRTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0T3JkZXJdPVwidGFiLnNvcnRPcmRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGlvbildPVwidGFiLnNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHBhdGgpXT1cInRhYi5wYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXRoQ2hhbmdlKT1cIm9uVGFiUGF0aENoYW5nZSh0YWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImdyaWRWYWx1ZXNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uR3JpZFZhbHVlQ2hhbmdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRGaWxlcyk9XCJvblRhYkxvYWRGaWxlcyh0YWIsICRldmVudClcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZURibENsaWNrKT1cImZpbGVEYmxDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvbGRlclNlbGVjdCk9XCJmb2xkZXJTZWxlY3QubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2xkZXJEYmxDbGljayk9XCJmb2xkZXJEYmxDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYXMtc3BsaXQtYXJlYT5cbiAgICAgICAgPC9hcy1zcGxpdD5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG5cbiJdfQ==
|
package/{esm2020 → esm2022}/components/filemanager/folder-rename/folder-rename.component.mjs
RENAMED
|
@@ -36,10 +36,10 @@ export class FolderRenameComponent {
|
|
|
36
36
|
}
|
|
37
37
|
this.dialog.close(true);
|
|
38
38
|
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FolderRenameComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.Fetch }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: FolderRenameComponent, isStandalone: true, selector: "app-folder-rename", inputs: { path: "path", name: "name", config: "config" }, ngImport: i0, template: "<mat-form-field style=\"width: 280px;\">\n <mat-label>Name</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"name\" (keyup)=\"$event.key == 'Enter' && onSave()\">\n</mat-form-field>\n\n<div style=\"align-self: end;\">\n <button mat-flat-button (click)=\"onSave()\"><mat-icon>check</mat-icon>Ok</button>\n <button mat-flat-button (click)=\"dialog.close()\"><mat-icon>cancel</mat-icon>Cancel</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;padding:24px}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
39
41
|
}
|
|
40
|
-
|
|
41
|
-
FolderRenameComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FolderRenameComponent, isStandalone: true, selector: "app-folder-rename", inputs: { path: "path", name: "name", config: "config" }, ngImport: i0, template: "<mat-form-field style=\"width: 280px;\">\n <mat-label>Name</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"name\" (keyup)=\"$event.key == 'Enter' && onSave()\">\n</mat-form-field>\n\n<div style=\"align-self: end;\">\n <button mat-flat-button (click)=\"onSave()\"><mat-icon>check</mat-icon>Ok</button>\n <button mat-flat-button (click)=\"dialog.close()\"><mat-icon>cancel</mat-icon>Cancel</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;padding:24px}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FolderRenameComponent, decorators: [{
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FolderRenameComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'app-folder-rename', imports: [
|
|
45
45
|
MatInputModule,
|
|
@@ -47,11 +47,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
47
47
|
MatButtonModule,
|
|
48
48
|
FormsModule
|
|
49
49
|
], standalone: true, template: "<mat-form-field style=\"width: 280px;\">\n <mat-label>Name</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"name\" (keyup)=\"$event.key == 'Enter' && onSave()\">\n</mat-form-field>\n\n<div style=\"align-self: end;\">\n <button mat-flat-button (click)=\"onSave()\"><mat-icon>check</mat-icon>Ok</button>\n <button mat-flat-button (click)=\"dialog.close()\"><mat-icon>cancel</mat-icon>Cancel</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;padding:24px}\n"] }]
|
|
50
|
-
}], ctorParameters:
|
|
50
|
+
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.Fetch }], propDecorators: { path: [{
|
|
51
51
|
type: Input
|
|
52
52
|
}], name: [{
|
|
53
53
|
type: Input
|
|
54
54
|
}], config: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJlbmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvZmlsZW1hbmFnZXIvZm9sZGVyLXJlbmFtZS9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci9mb2xkZXItcmVuYW1lL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFnQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsWUFDVyxNQUF5QixFQUN4QixLQUFZO1FBRGIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVBmLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtiLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0I7Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7WUFFNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO2FBQ0k7WUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQywwQkFBMEI7Z0JBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzNFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQTtZQUV0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRSxHQUFHLEdBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzhHQWpDUSxxQkFBcUI7a0dBQXJCLHFCQUFxQix1SUNyQmxDLDhhQVNBLGlIREtRLGNBQWMsc25CQUNkLGFBQWEsbUxBQ2IsZUFBZSwyTkFDZixXQUFXOzsyRkFJTixxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0ksbUJBQW1CLFdBR3BCO3dCQUNMLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFdBQVc7cUJBQ2QsY0FDVyxJQUFJO3FHQUlQLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9maWxlbWFuYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmV0Y2ggfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZm9sZGVyLXJlbmFtZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZvbGRlclJlbmFtZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBwYXRoOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgY29uZmlnOiBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb247XG5cbiAgICBpc1JlbmFtZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZ1JlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIGZldGNoOiBGZXRjaFxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pc1JlbmFtZSA9IHRoaXMubmFtZS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZW5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGVcbiAgICAgICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGUodGhpcy5wYXRoICsgdGhpcy5uYW1lKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MucmVuYW1lRW50cnlVcmxcblxuICAgICAgICAgICAgdGhpcy5mZXRjaC5wb3N0KHVybCwgeyBwYXRoOiB0aGlzLnBhdGggKyAnLycgKyB0aGlzLm5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5jcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuY3JlYXRlRGlyZWN0b3J5VXJsVGVtcGxhdGUodGhpcy5wYXRoICsgdGhpcy5uYW1lKVxuICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuY3JlYXRlRGlyZWN0b3J5VXJsXG5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHtwYXRoOiB0aGlzLnBhdGggKycvJysgdGhpcy5uYW1lfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2UodHJ1ZSk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDI4MHB4O1wiPlxuICAgIDxtYXQtbGFiZWw+TmFtZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwibmFtZVwiIChrZXl1cCk9XCIkZXZlbnQua2V5ID09ICdFbnRlcicgJiYgb25TYXZlKClcIj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjxkaXYgc3R5bGU9XCJhbGlnbi1zZWxmOiBlbmQ7XCI+XG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cIm9uU2F2ZSgpXCI+PG1hdC1pY29uPmNoZWNrPC9tYXQtaWNvbj5PazwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJkaWFsb2cuY2xvc2UoKVwiPjxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPkNhbmNlbDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
package/{esm2020 → esm2022}/components/filemanager/toolbar/breadcrumb/breadcrumb.component.mjs
RENAMED
|
@@ -7,20 +7,20 @@ export class GtkBreadcrumbComponent {
|
|
|
7
7
|
}
|
|
8
8
|
ngOnInit() {
|
|
9
9
|
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GtkBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: GtkBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", inputs: { crumbs: "crumbs", config: "config" }, outputs: { crumbClick: "crumbClick" }, ngImport: i0, template: "<button (click)=\"crumbClick.next({ id: config.chrootPath || '/', label: ''})\">{{config.rootName || 'Storage'}}</button>\n<ng-container *ngFor=\"let crumb of crumbs\">\n <button *ngIf=\"crumb.label.trim()\" (click)=\"crumbClick.next(crumb)\">{{crumb.label}}</button>\n</ng-container>\n", styles: [":host{border:1px solid var(--filemanager-breadcrumb-border-color, #171717);border-bottom-color:var(--filemanager-breadcrumb-border-bottom-color, #000);border-radius:6px;font-size:14px;display:flex;align-self:center;align-items:center;margin:0;gap:6px;height:30px;background:var(--filemanager-breadcrumb-background, #444)}button{position:relative;padding:0 6px;background-color:#0000;border:none;transition:color .2s ease;height:100%;color:var(--filemanager-breadcrumb-color, #bbb);border-radius:6px}button:hover{background-color:var(--filemanager-breadcrumb-button-hover-background-color, #4a4a4a);color:var(--filemanager-breadcrumb-button-hover-color, #fff)}button:after{content:\"/\";position:absolute;left:calc(100% + 1px);z-index:999}button:last-of-type{font-weight:700}button:last-of-type:after{content:\"\"}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
GtkBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GtkBreadcrumbComponent, isStandalone: true, selector: "app-breadcrumb", inputs: { crumbs: "crumbs", config: "config" }, outputs: { crumbClick: "crumbClick" }, ngImport: i0, template: "<button (click)=\"crumbClick.next({ id: config.chrootPath || '/', label: ''})\">{{config.rootName || 'Storage'}}</button>\n<ng-container *ngFor=\"let crumb of crumbs\">\n <button *ngIf=\"crumb.label.trim()\" (click)=\"crumbClick.next(crumb)\">{{crumb.label}}</button>\n</ng-container>\n", styles: [":host{border:1px solid var(--filemanager-breadcrumb-border-color, #171717);border-bottom-color:var(--filemanager-breadcrumb-border-bottom-color, #000);border-radius:6px;font-size:14px;display:flex;align-self:center;align-items:center;margin:0;gap:6px;height:30px;background:var(--filemanager-breadcrumb-background, #444)}button{position:relative;padding:0 6px;background-color:#0000;border:none;transition:color .2s ease;height:100%;color:var(--filemanager-breadcrumb-color, #bbb);border-radius:6px}button:hover{background-color:var(--filemanager-breadcrumb-button-hover-background-color, #4a4a4a);color:var(--filemanager-breadcrumb-button-hover-color, #fff)}button:after{content:\"/\";position:absolute;left:calc(100% + 1px);z-index:999}button:last-of-type{font-weight:700}button:last-of-type:after{content:\"\"}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GtkBreadcrumbComponent, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GtkBreadcrumbComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'app-breadcrumb', imports: [
|
|
16
16
|
NgForOf,
|
|
17
17
|
NgIf
|
|
18
18
|
], standalone: true, template: "<button (click)=\"crumbClick.next({ id: config.chrootPath || '/', label: ''})\">{{config.rootName || 'Storage'}}</button>\n<ng-container *ngFor=\"let crumb of crumbs\">\n <button *ngIf=\"crumb.label.trim()\" (click)=\"crumbClick.next(crumb)\">{{crumb.label}}</button>\n</ng-container>\n", styles: [":host{border:1px solid var(--filemanager-breadcrumb-border-color, #171717);border-bottom-color:var(--filemanager-breadcrumb-border-bottom-color, #000);border-radius:6px;font-size:14px;display:flex;align-self:center;align-items:center;margin:0;gap:6px;height:30px;background:var(--filemanager-breadcrumb-background, #444)}button{position:relative;padding:0 6px;background-color:#0000;border:none;transition:color .2s ease;height:100%;color:var(--filemanager-breadcrumb-color, #bbb);border-radius:6px}button:hover{background-color:var(--filemanager-breadcrumb-button-hover-background-color, #4a4a4a);color:var(--filemanager-breadcrumb-button-hover-color, #fff)}button:after{content:\"/\";position:absolute;left:calc(100% + 1px);z-index:999}button:last-of-type{font-weight:700}button:last-of-type:after{content:\"\"}\n"] }]
|
|
19
|
-
}], ctorParameters:
|
|
19
|
+
}], ctorParameters: () => [], propDecorators: { crumbs: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}], crumbClick: [{
|
|
22
22
|
type: Output
|
|
23
23
|
}], config: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvZmlsZW1hbmFnZXIvdG9vbGJhci9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2ZpbGVtYW5hZ2VyL3Rvb2xiYXIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFnQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBa0I5RCxNQUFNLE9BQU8sc0JBQXNCO0lBUS9CO1FBSlUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFJdEMsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs4R0FYUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpS0NuQm5DLG1TQUlBLHkyQkRVUSxPQUFPLG1IQUNQLElBQUk7OzJGQUlDLHNCQUFzQjtrQkFWbEMsU0FBUzsrQkFDSSxnQkFBZ0IsV0FHakI7d0JBQ0wsT0FBTzt3QkFDUCxJQUFJO3FCQUNQLGNBQ1csSUFBSTt3REFLUCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFFRSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcblxuZXhwb3J0IHR5cGUgQnJlYWRjcnVtYiA9IHtcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXJcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWZcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgR3RrQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvLyBDb3VsZCBhbHNvIGRvIG9iamVjdCBhcnJheT9cbiAgICBASW5wdXQoKSBjcnVtYnM6IEJyZWFkY3J1bWJbXTtcbiAgICBAT3V0cHV0KCkgY3J1bWJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8QnJlYWRjcnVtYj4oKTtcblxuICAgIEBJbnB1dCgpIGNvbmZpZzogTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgIH1cbn1cbiIsIjxidXR0b24gKGNsaWNrKT1cImNydW1iQ2xpY2submV4dCh7IGlkOiBjb25maWcuY2hyb290UGF0aCB8fCAnLycsIGxhYmVsOiAnJ30pXCI+e3tjb25maWcucm9vdE5hbWUgfHwgJ1N0b3JhZ2UnfX08L2J1dHRvbj5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNydW1iIG9mIGNydW1ic1wiPlxuICAgIDxidXR0b24gKm5nSWY9XCJjcnVtYi5sYWJlbC50cmltKClcIiAoY2xpY2spPVwiY3J1bWJDbGljay5uZXh0KGNydW1iKVwiPnt7Y3J1bWIubGFiZWx9fTwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
package/{esm2020 → esm2022}/components/filemanager/toolbar/icon-button/icon-button.component.mjs
RENAMED
|
@@ -14,10 +14,10 @@ export class GtkIconButtonComponent {
|
|
|
14
14
|
onClick() {
|
|
15
15
|
this.click.emit();
|
|
16
16
|
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GtkIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: GtkIconButtonComponent, isStandalone: true, selector: "gtk-icon-button", inputs: { fontIcon: "fontIcon", disabled: "disabled" }, outputs: { click: "click" }, ngImport: i0, template: "<button mat-flat-button [disabled]=\"disabled\">\n <mat-icon [fontIcon]=\"fontIcon\"></mat-icon>\n</button>\n", styles: [":host{position:relative}button{padding:0;min-width:36px;background-color:var(--gtk-button-background-color)!important;color:var(--gtk-button-text-color)!important;border:1px solid var(--gtk-button-border-color);border-bottom-color:var(--gtk-button-border-bottom-color);transition:.25s ease;transition-property:border-color,background-color,color}mat-icon{margin:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
GtkIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GtkIconButtonComponent, isStandalone: true, selector: "gtk-icon-button", inputs: { fontIcon: "fontIcon", disabled: "disabled" }, outputs: { click: "click" }, ngImport: i0, template: "<button mat-flat-button [disabled]=\"disabled\">\n <mat-icon [fontIcon]=\"fontIcon\"></mat-icon>\n</button>\n", styles: [":host{position:relative}button{padding:0;min-width:36px;background-color:var(--gtk-button-background-color)!important;color:var(--gtk-button-text-color)!important;border:1px solid var(--gtk-button-border-color);border-bottom-color:var(--gtk-button-border-bottom-color);transition:.25s ease;transition-property:border-color,background-color,color}mat-icon{margin:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GtkIconButtonComponent, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GtkIconButtonComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'gtk-icon-button', imports: [
|
|
23
23
|
CommonModule,
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
31
31
|
}], disabled: [{
|
|
32
32
|
type: Input
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2ZpbGVtYW5hZ2VyL3Rvb2xiYXIvaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2ZpbGVtYW5hZ2VyL3Rvb2xiYXIvaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQWEzRCxNQUFNLE9BQU8sc0JBQXNCO0lBWG5DO1FBZWMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBTXRCO0lBSkcsT0FBTztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0FiUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnS0NoQm5DLGtIQUdBLGliRE9RLFlBQVksOEJBQ1osYUFBYSxtTEFDYixlQUFlOzsyRkFJVixzQkFBc0I7a0JBWGxDLFNBQVM7K0JBQ0ksaUJBQWlCLFdBR2xCO3dCQUNMLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3FCQUNsQixjQUNXLElBQUk7OEJBSVAsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU07Z0JBRUUsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdndGstaWNvbi1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaWNvbi1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEd0a0ljb25CdXR0b25Db21wb25lbnQge1xuXG4gICAgQElucHV0KCkgZm9udEljb246IHN0cmluZztcblxuICAgIEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBzaG93RGlhbG9nID0gZmFsc2U7XG5cbiAgICBvbkNsaWNrKCkge1xuXG4gICAgICAgIHRoaXMuY2xpY2suZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxidXR0b24gbWF0LWZsYXQtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxtYXQtaWNvbiBbZm9udEljb25dPVwiZm9udEljb25cIj48L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
|