@dotglitch/ngx-common 1.0.21 → 1.0.22
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/assets/mat-icons.d.ts +5705 -0
- package/components/filemanager/file-grid/file-grid.component.d.ts +97 -0
- package/components/filemanager/filemanager.component.d.ts +206 -0
- package/components/filemanager/folder-rename/folder-rename.component.d.ts +18 -0
- package/components/filemanager/helpers.d.ts +5 -0
- package/components/filemanager/icon-resolver.d.ts +13 -0
- package/components/filemanager/textextensions.d.ts +3 -0
- package/components/filemanager/toolbar/breadcrumb/breadcrumb.component.d.ts +16 -0
- package/components/filemanager/toolbar/icon-button/icon-button.component.d.ts +11 -0
- package/components/filemanager/toolbar/toolbar.component.d.ts +30 -0
- package/components/filemanager/tree-view/tree-view.component.d.ts +21 -0
- package/components/tabulator/tabulator.component.d.ts +30 -0
- package/components/types.d.ts +16 -0
- package/components/vscode/ts-type-resolver/dependency-parser.d.ts +6 -0
- package/components/vscode/ts-type-resolver/dummy-source-cache.d.ts +7 -0
- package/components/vscode/ts-type-resolver/import-resolver.d.ts +28 -0
- package/components/vscode/ts-type-resolver/main.d.ts +22 -0
- package/components/vscode/ts-type-resolver/recursion-depth.d.ts +11 -0
- package/components/vscode/ts-type-resolver/types.d.ts +179 -0
- package/components/vscode/ts-type-resolver/unpkg-source-resolver.d.ts +5 -0
- package/components/vscode/ts-type-resolver/update-emitter.d.ts +2 -0
- package/components/vscode/vscode.component.d.ts +57 -0
- package/esm2020/assets/mat-icons.mjs +5705 -0
- package/esm2020/components/filemanager/file-grid/file-grid.component.mjs +672 -0
- package/esm2020/components/filemanager/filemanager.component.mjs +301 -0
- package/esm2020/components/filemanager/folder-rename/folder-rename.component.mjs +57 -0
- package/esm2020/components/filemanager/helpers.mjs +26 -0
- package/esm2020/components/filemanager/icon-resolver.mjs +155 -0
- package/esm2020/components/filemanager/textextensions.mjs +294 -0
- package/esm2020/components/filemanager/toolbar/breadcrumb/breadcrumb.component.mjs +26 -0
- package/esm2020/components/filemanager/toolbar/icon-button/icon-button.component.mjs +34 -0
- package/esm2020/components/filemanager/toolbar/toolbar.component.mjs +163 -0
- package/esm2020/components/filemanager/tree-view/tree-view.component.mjs +53 -0
- package/esm2020/components/lazy-loader/lazy-loader.module.mjs +3 -3
- package/esm2020/components/lazy-loader/lazy-loader.service.mjs +1 -1
- package/esm2020/components/menu/menu.component.mjs +1 -2
- package/esm2020/components/tabulator/tabulator.component.mjs +92 -0
- package/esm2020/components/types.mjs +3 -0
- package/esm2020/components/vscode/ts-type-resolver/dependency-parser.mjs +91 -0
- package/esm2020/components/vscode/ts-type-resolver/dummy-source-cache.mjs +15 -0
- package/esm2020/components/vscode/ts-type-resolver/import-resolver.mjs +311 -0
- package/esm2020/components/vscode/ts-type-resolver/main.mjs +112 -0
- package/esm2020/components/vscode/ts-type-resolver/recursion-depth.mjs +21 -0
- package/esm2020/components/vscode/ts-type-resolver/types.mjs +14 -0
- package/esm2020/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +21 -0
- package/esm2020/components/vscode/ts-type-resolver/update-emitter.mjs +37 -0
- package/esm2020/components/vscode/vscode.component.mjs +230 -0
- package/esm2020/directives/menu.directive.mjs +19 -18
- package/esm2020/public-api.mjs +6 -1
- package/fesm2015/dotglitch-ngx-common-folder-rename.component-d039534b.mjs +79 -0
- package/fesm2015/dotglitch-ngx-common-folder-rename.component-d039534b.mjs.map +1 -0
- package/fesm2015/dotglitch-ngx-common.mjs +8360 -27
- package/fesm2015/dotglitch-ngx-common.mjs.map +1 -1
- package/fesm2020/dotglitch-ngx-common-folder-rename.component-ba3ebd0a.mjs +78 -0
- package/fesm2020/dotglitch-ngx-common-folder-rename.component-ba3ebd0a.mjs.map +1 -0
- package/fesm2020/dotglitch-ngx-common.mjs +8329 -26
- package/fesm2020/dotglitch-ngx-common.mjs.map +1 -1
- package/package.json +6 -2
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const invokeUpdate = (progress, options) => {
|
|
2
|
+
let textual = `${progress.type}: `;
|
|
3
|
+
switch (progress.type) {
|
|
4
|
+
case 'CodeChanged':
|
|
5
|
+
textual += ``;
|
|
6
|
+
break;
|
|
7
|
+
case 'ResolveNewImports':
|
|
8
|
+
textual += ``;
|
|
9
|
+
break;
|
|
10
|
+
// case 'DetectedImport':
|
|
11
|
+
// textual += `at "${progress.source}" the import "${progress.importPath}" was detected`;
|
|
12
|
+
// break;
|
|
13
|
+
// case 'CompletedImport':
|
|
14
|
+
// textual += `at "${progress.source}" the import "${progress.importPath}" was completed`;
|
|
15
|
+
// break;
|
|
16
|
+
case 'LookedUpTypeFile':
|
|
17
|
+
textual += `"${progress.path}" was ${progress.success ? 'sucessfully' : 'not sucessfully'} looked up`;
|
|
18
|
+
break;
|
|
19
|
+
case 'AttemptedLookUpFile':
|
|
20
|
+
textual += `"${progress.path}" was ${progress.success ? 'sucessfully' : 'not sucessfully'} attempted to looked up`; // What in the hell is this grammar?
|
|
21
|
+
break;
|
|
22
|
+
case 'LookedUpPackage':
|
|
23
|
+
textual += `package.json for package "${progress.package}" was ${progress.success ? 'sucessfully' : 'not sucessfully'} looked up${progress.definitelyTyped ? ' (found in definitely typed repo)' : ''}`;
|
|
24
|
+
break;
|
|
25
|
+
case 'LoadedFromCache':
|
|
26
|
+
textual += `"${progress.importPath}" was loaded from cache`;
|
|
27
|
+
break;
|
|
28
|
+
case 'StoredToCache':
|
|
29
|
+
textual += `"${progress.importPath}" was stored to cache`;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
if (textual.endsWith(': ')) {
|
|
33
|
+
textual = textual.slice(undefined, -2);
|
|
34
|
+
}
|
|
35
|
+
options.onUpdate?.(progress, textual);
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWVtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvdnNjb2RlL3RzLXR5cGUtcmVzb2x2ZXIvdXBkYXRlLWVtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBd0IsRUFBRSxPQUFnQixFQUFFLEVBQUU7SUFDdkUsSUFBSSxPQUFPLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUM7SUFFbkMsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssYUFBYTtZQUNkLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDZCxNQUFNO1FBQ1YsS0FBSyxtQkFBbUI7WUFDcEIsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNkLE1BQU07UUFDVix5QkFBeUI7UUFDekIsNkZBQTZGO1FBQzdGLGFBQWE7UUFDYiwwQkFBMEI7UUFDMUIsOEZBQThGO1FBQzlGLGFBQWE7UUFDYixLQUFLLGtCQUFrQjtZQUNuQixPQUFPLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxTQUFTLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLFlBQVksQ0FBQztZQUN0RyxNQUFNO1FBQ1YsS0FBSyxxQkFBcUI7WUFDdEIsT0FBTyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksU0FDeEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxpQkFDdkMseUJBQXlCLENBQUMsQ0FBQyxvQ0FBb0M7WUFDL0QsTUFBTTtRQUNWLEtBQUssaUJBQWlCO1lBQ2xCLE9BQU8sSUFBSSw2QkFBNkIsUUFBUSxDQUFDLE9BQU8sU0FDcEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxpQkFDdkMsYUFBYSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbkYsTUFBTTtRQUNWLEtBQUssaUJBQWlCO1lBQ2xCLE9BQU8sSUFBSSxJQUFJLFFBQVEsQ0FBQyxVQUFVLHlCQUF5QixDQUFDO1lBQzVELE1BQU07UUFDVixLQUFLLGVBQWU7WUFDaEIsT0FBTyxJQUFJLElBQUksUUFBUSxDQUFDLFVBQVUsdUJBQXVCLENBQUM7WUFDMUQsTUFBTTtLQUNiO0lBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9ncmVzc1VwZGF0ZSwgT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaW52b2tlVXBkYXRlID0gKHByb2dyZXNzOiBQcm9ncmVzc1VwZGF0ZSwgb3B0aW9uczogT3B0aW9ucykgPT4ge1xuICAgIGxldCB0ZXh0dWFsID0gYCR7cHJvZ3Jlc3MudHlwZX06IGA7XG5cbiAgICBzd2l0Y2ggKHByb2dyZXNzLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnQ29kZUNoYW5nZWQnOlxuICAgICAgICAgICAgdGV4dHVhbCArPSBgYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdSZXNvbHZlTmV3SW1wb3J0cyc6XG4gICAgICAgICAgICB0ZXh0dWFsICs9IGBgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIC8vIGNhc2UgJ0RldGVjdGVkSW1wb3J0JzpcbiAgICAgICAgLy8gICAgIHRleHR1YWwgKz0gYGF0IFwiJHtwcm9ncmVzcy5zb3VyY2V9XCIgdGhlIGltcG9ydCBcIiR7cHJvZ3Jlc3MuaW1wb3J0UGF0aH1cIiB3YXMgZGV0ZWN0ZWRgO1xuICAgICAgICAvLyAgICAgYnJlYWs7XG4gICAgICAgIC8vIGNhc2UgJ0NvbXBsZXRlZEltcG9ydCc6XG4gICAgICAgIC8vICAgICB0ZXh0dWFsICs9IGBhdCBcIiR7cHJvZ3Jlc3Muc291cmNlfVwiIHRoZSBpbXBvcnQgXCIke3Byb2dyZXNzLmltcG9ydFBhdGh9XCIgd2FzIGNvbXBsZXRlZGA7XG4gICAgICAgIC8vICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTG9va2VkVXBUeXBlRmlsZSc6XG4gICAgICAgICAgICB0ZXh0dWFsICs9IGBcIiR7cHJvZ3Jlc3MucGF0aH1cIiB3YXMgJHtwcm9ncmVzcy5zdWNjZXNzID8gJ3N1Y2Vzc2Z1bGx5JyA6ICdub3Qgc3VjZXNzZnVsbHknfSBsb29rZWQgdXBgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0F0dGVtcHRlZExvb2tVcEZpbGUnOlxuICAgICAgICAgICAgdGV4dHVhbCArPSBgXCIke3Byb2dyZXNzLnBhdGh9XCIgd2FzICR7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3Muc3VjY2VzcyA/ICdzdWNlc3NmdWxseScgOiAnbm90IHN1Y2Vzc2Z1bGx5J1xuICAgICAgICAgICAgfSBhdHRlbXB0ZWQgdG8gbG9va2VkIHVwYDsgLy8gV2hhdCBpbiB0aGUgaGVsbCBpcyB0aGlzIGdyYW1tYXI/XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTG9va2VkVXBQYWNrYWdlJzpcbiAgICAgICAgICAgIHRleHR1YWwgKz0gYHBhY2thZ2UuanNvbiBmb3IgcGFja2FnZSBcIiR7cHJvZ3Jlc3MucGFja2FnZX1cIiB3YXMgJHtcbiAgICAgICAgICAgICAgICBwcm9ncmVzcy5zdWNjZXNzID8gJ3N1Y2Vzc2Z1bGx5JyA6ICdub3Qgc3VjZXNzZnVsbHknXG4gICAgICAgICAgICB9IGxvb2tlZCB1cCR7cHJvZ3Jlc3MuZGVmaW5pdGVseVR5cGVkID8gJyAoZm91bmQgaW4gZGVmaW5pdGVseSB0eXBlZCByZXBvKScgOiAnJ31gO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0xvYWRlZEZyb21DYWNoZSc6XG4gICAgICAgICAgICB0ZXh0dWFsICs9IGBcIiR7cHJvZ3Jlc3MuaW1wb3J0UGF0aH1cIiB3YXMgbG9hZGVkIGZyb20gY2FjaGVgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1N0b3JlZFRvQ2FjaGUnOlxuICAgICAgICAgICAgdGV4dHVhbCArPSBgXCIke3Byb2dyZXNzLmltcG9ydFBhdGh9XCIgd2FzIHN0b3JlZCB0byBjYWNoZWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGV4dHVhbC5lbmRzV2l0aCgnOiAnKSkge1xuICAgICAgICB0ZXh0dWFsID0gdGV4dHVhbC5zbGljZSh1bmRlZmluZWQsIC0yKTtcbiAgICB9XG5cbiAgICBvcHRpb25zLm9uVXBkYXRlPy4ocHJvZ3Jlc3MsIHRleHR1YWwpO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import { MonacoAutoTypeImporter } from './ts-type-resolver/main';
|
|
3
|
+
import { debounceTime } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
let Monaco;
|
|
6
|
+
export class VscodeComponent {
|
|
7
|
+
set code(value) {
|
|
8
|
+
if (value == this._code)
|
|
9
|
+
return;
|
|
10
|
+
if (typeof value != "string")
|
|
11
|
+
throw new TypeError("Value must be of type string");
|
|
12
|
+
this._code = value;
|
|
13
|
+
this.editor?.setValue(this.code);
|
|
14
|
+
}
|
|
15
|
+
;
|
|
16
|
+
get code() { return this._code?.trim(); }
|
|
17
|
+
set language(value) {
|
|
18
|
+
this._language = {
|
|
19
|
+
'ts': "typescript",
|
|
20
|
+
'html': 'xml',
|
|
21
|
+
'scss': 'css'
|
|
22
|
+
}[value] || value || "auto";
|
|
23
|
+
}
|
|
24
|
+
get language() { return this._language; }
|
|
25
|
+
get settings() {
|
|
26
|
+
return {
|
|
27
|
+
theme: this.theme,
|
|
28
|
+
language: this.language,
|
|
29
|
+
tabSize: this.tabSize,
|
|
30
|
+
readOnly: this.readOnly,
|
|
31
|
+
fontFamily: this.fontFamily,
|
|
32
|
+
fontSize: this.fontSize,
|
|
33
|
+
automaticLayout: this.automaticLayout,
|
|
34
|
+
scrollBeyondLastLine: this.scrollBeyondLastLine,
|
|
35
|
+
colorDecorators: this.colorDecorators,
|
|
36
|
+
folding: this.folding,
|
|
37
|
+
scrollBeyondLastColumn: this.scrollBeyondLastColumn,
|
|
38
|
+
minimap: this.minimap,
|
|
39
|
+
scrollbar: this.scrollbar,
|
|
40
|
+
smoothScrolling: this.smoothScrolling,
|
|
41
|
+
mouseWheelScrollSensitivity: this.mouseWheelScrollSensitivity,
|
|
42
|
+
lineNumbers: this.lineNumbers
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
constructor(viewContainer) {
|
|
46
|
+
this.viewContainer = viewContainer;
|
|
47
|
+
this.isDirty = false;
|
|
48
|
+
this.codeChange = new EventEmitter();
|
|
49
|
+
this.onCodeType = new EventEmitter();
|
|
50
|
+
this.typeDebounce = this.onCodeType.pipe(debounceTime(100));
|
|
51
|
+
this.installationLocation = "/lib/monaco/vs";
|
|
52
|
+
this.tabSize = 2;
|
|
53
|
+
this.readOnly = false;
|
|
54
|
+
this.theme = "vs-dark";
|
|
55
|
+
this.fontFamily = "Droid Sans Mono";
|
|
56
|
+
this.fontSize = 14;
|
|
57
|
+
this.automaticLayout = true;
|
|
58
|
+
this.colorDecorators = true;
|
|
59
|
+
this.folding = true;
|
|
60
|
+
this.minimapEnabled = true;
|
|
61
|
+
this.minimap = {
|
|
62
|
+
enabled: true
|
|
63
|
+
};
|
|
64
|
+
this.scrollbar = {
|
|
65
|
+
alwaysConsumeMouseWheel: false,
|
|
66
|
+
// scrollByPage: true
|
|
67
|
+
};
|
|
68
|
+
this.smoothScrolling = true;
|
|
69
|
+
this.mouseWheelScrollSensitivity = 2;
|
|
70
|
+
this.scrollBeyondLastLine = false;
|
|
71
|
+
this.scrollBeyondLastColumn = 0;
|
|
72
|
+
this.scrollbarAlwaysConsumeMouseWheel = 2;
|
|
73
|
+
this.lineNumbers = "on";
|
|
74
|
+
this.verticalScrollExhausted = false;
|
|
75
|
+
this.resize = () => {
|
|
76
|
+
this.editor?.layout();
|
|
77
|
+
};
|
|
78
|
+
this.installMonaco();
|
|
79
|
+
this._sub = this.typeDebounce.subscribe(t => {
|
|
80
|
+
this.codeChange.next(this._code = this.editor.getValue());
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
ngOnChanges(changes) {
|
|
84
|
+
// If we changed anything OTHER than code, reload the editor
|
|
85
|
+
if (Object.keys(changes).length > 1 || !changes['code']) {
|
|
86
|
+
if (this.editor) {
|
|
87
|
+
this.editor?.dispose();
|
|
88
|
+
this.createEditor();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (changes['theme'])
|
|
92
|
+
Monaco?.editor.setTheme(this.theme);
|
|
93
|
+
}
|
|
94
|
+
async ngAfterViewInit() {
|
|
95
|
+
await new Promise((res, rej) => {
|
|
96
|
+
let count = 0;
|
|
97
|
+
let i = window.setInterval(() => {
|
|
98
|
+
count++;
|
|
99
|
+
if (window['monaco'] != undefined) {
|
|
100
|
+
window.clearInterval(i);
|
|
101
|
+
Monaco = window['monaco'];
|
|
102
|
+
res(true);
|
|
103
|
+
}
|
|
104
|
+
if (count >= 100) {
|
|
105
|
+
window.clearInterval(i);
|
|
106
|
+
res(false);
|
|
107
|
+
}
|
|
108
|
+
}, 100);
|
|
109
|
+
});
|
|
110
|
+
this.createEditor();
|
|
111
|
+
}
|
|
112
|
+
ngOnDestroy() {
|
|
113
|
+
this.editor?.dispose();
|
|
114
|
+
this._sub?.unsubscribe();
|
|
115
|
+
}
|
|
116
|
+
createEditor() {
|
|
117
|
+
if (this.customLanguage) {
|
|
118
|
+
this.customLanguage.init(Monaco);
|
|
119
|
+
}
|
|
120
|
+
let editor = this.editor = Monaco.editor.create(this.viewContainer?.element?.nativeElement, this.settings);
|
|
121
|
+
// const autoTypings = await
|
|
122
|
+
MonacoAutoTypeImporter.create(editor, {
|
|
123
|
+
monaco: Monaco,
|
|
124
|
+
});
|
|
125
|
+
this.configureLanguageSupport();
|
|
126
|
+
if (this.code) {
|
|
127
|
+
editor.setValue(this.code);
|
|
128
|
+
}
|
|
129
|
+
editor.getModel().onDidChangeContent(() => this.onCodeType.emit());
|
|
130
|
+
}
|
|
131
|
+
configureLanguageSupport() {
|
|
132
|
+
}
|
|
133
|
+
installMonaco() {
|
|
134
|
+
if (VscodeComponent.isMonacoInstalled)
|
|
135
|
+
return;
|
|
136
|
+
// Monaco has a UMD loader that requires this
|
|
137
|
+
// Merge with any pre-existing global require objects.
|
|
138
|
+
if (!window['require'])
|
|
139
|
+
window['require'] = {};
|
|
140
|
+
if (!window['require']['paths'])
|
|
141
|
+
window['require']['paths'] = {};
|
|
142
|
+
if (this.installationLocation.endsWith('/'))
|
|
143
|
+
this.installationLocation = this.installationLocation.slice(0, -1);
|
|
144
|
+
window['require']['paths'].vs = this.installationLocation;
|
|
145
|
+
const monacoFiles = [
|
|
146
|
+
'loader.js',
|
|
147
|
+
'editor/editor.main.nls.js',
|
|
148
|
+
'editor/editor.main.js',
|
|
149
|
+
];
|
|
150
|
+
for (let i = 0; i < monacoFiles.length; i++) {
|
|
151
|
+
const script = document.createElement("script");
|
|
152
|
+
script.setAttribute("defer", "");
|
|
153
|
+
script.setAttribute("src", this.installationLocation + '/' + monacoFiles[i]);
|
|
154
|
+
document.body.append(script);
|
|
155
|
+
}
|
|
156
|
+
VscodeComponent.isMonacoInstalled = true;
|
|
157
|
+
}
|
|
158
|
+
download() {
|
|
159
|
+
const code = this.editor.getValue();
|
|
160
|
+
let blob = new Blob([code], { type: 'text/log' });
|
|
161
|
+
let elm = document.createElement('a');
|
|
162
|
+
let blobURL = URL.createObjectURL(blob);
|
|
163
|
+
// Set the data values.
|
|
164
|
+
elm.href = blobURL;
|
|
165
|
+
elm.download = this.filename;
|
|
166
|
+
document.body.appendChild(elm);
|
|
167
|
+
elm.click();
|
|
168
|
+
document.body.removeChild(elm);
|
|
169
|
+
elm.remove();
|
|
170
|
+
URL.revokeObjectURL(blobURL);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* true if the monaco UMD files are injected into the webpage
|
|
175
|
+
*/
|
|
176
|
+
VscodeComponent.isMonacoInstalled = false;
|
|
177
|
+
VscodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VscodeComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
+
VscodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: VscodeComponent, isStandalone: true, selector: "app-vscode", inputs: { code: "code", customLanguage: "customLanguage", language: "language", installationLocation: "installationLocation", tabSize: "tabSize", readOnly: "readOnly", theme: "theme", fontFamily: "fontFamily", fontSize: "fontSize", automaticLayout: "automaticLayout", colorDecorators: "colorDecorators", folding: "folding", minimapEnabled: "minimapEnabled", minimap: "minimap", scrollbar: "scrollbar", smoothScrolling: "smoothScrolling", mouseWheelScrollSensitivity: "mouseWheelScrollSensitivity", scrollBeyondLastLine: "scrollBeyondLastLine", scrollBeyondLastColumn: "scrollBeyondLastColumn", scrollbarAlwaysConsumeMouseWheel: "scrollbarAlwaysConsumeMouseWheel", lineNumbers: "lineNumbers" }, outputs: { codeChange: "codeChange" }, host: { listeners: { "window:resize": "resize($event)" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;height:100%;max-height:100vh;max-width:100vw}\n"] });
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VscodeComponent, decorators: [{
|
|
180
|
+
type: Component,
|
|
181
|
+
args: [{ selector: 'app-vscode', template: '', standalone: true, styles: [":host{display:block;height:100%;max-height:100vh;max-width:100vw}\n"] }]
|
|
182
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { code: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], codeChange: [{
|
|
185
|
+
type: Output
|
|
186
|
+
}], customLanguage: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], language: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], installationLocation: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], tabSize: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], readOnly: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], theme: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], fontFamily: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], fontSize: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], automaticLayout: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], colorDecorators: [{
|
|
205
|
+
type: Input
|
|
206
|
+
}], folding: [{
|
|
207
|
+
type: Input
|
|
208
|
+
}], minimapEnabled: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}], minimap: [{
|
|
211
|
+
type: Input
|
|
212
|
+
}], scrollbar: [{
|
|
213
|
+
type: Input
|
|
214
|
+
}], smoothScrolling: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], mouseWheelScrollSensitivity: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], scrollBeyondLastLine: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}], scrollBeyondLastColumn: [{
|
|
221
|
+
type: Input
|
|
222
|
+
}], scrollbarAlwaysConsumeMouseWheel: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], lineNumbers: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], resize: [{
|
|
227
|
+
type: HostListener,
|
|
228
|
+
args: ['window:resize', ['$event']]
|
|
229
|
+
}] } });
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnNjb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy92c2NvZGUvdnNjb2RlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQThDLE1BQU0sZUFBZSxDQUFDO0FBRzNKLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRXBDLElBQUksTUFBMkIsQ0FBQztBQWVoQyxNQUFNLE9BQU8sZUFBZTtJQU14QixJQUFhLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ25CLE9BQU87UUFDWCxJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVE7WUFDeEIsTUFBTSxJQUFJLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUEsQ0FBQztJQUNGLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFTeEMsSUFBYSxRQUFRLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsSUFBSSxFQUFFLFlBQVk7WUFDbEIsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsS0FBSztTQUNoQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUErQnhDLElBQUksUUFBUTtRQUNSLE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLHNCQUFzQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDbkQsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtZQUM3RCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDNEIsQ0FBQztJQUNsRSxDQUFDO0lBS0QsWUFBb0IsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBckZuRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBZU4sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEMsaUJBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQWV0RCx5QkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUd4QyxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVmLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFlBQU8sR0FBOEM7WUFDMUQsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQztRQUNPLGNBQVMsR0FBZ0Q7WUFDOUQsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixxQkFBcUI7U0FDeEIsQ0FBQztRQUNPLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGdDQUEyQixHQUFHLENBQUMsQ0FBQztRQUNoQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLHFDQUFnQyxHQUFHLENBQUMsQ0FBQztRQUVyQyxnQkFBVyxHQUF3QyxJQUFJLENBQUM7UUF1QmpFLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQWtJaEMsV0FBTSxHQUFHLEdBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQWhJRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsNERBQTREO1FBQzVELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDYixJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDdkI7U0FDSjtRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlO1FBRWpCLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVCLEtBQUssRUFBRSxDQUFDO2dCQUVSLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsRUFBRTtvQkFDL0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFeEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNiO2dCQUNELElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtvQkFDZCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2Q7WUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7UUFHRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBZSxDQUFDLENBQUM7UUFFbEgsNEJBQTRCO1FBQzVCLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsTUFBTSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFFRCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyx3QkFBd0I7SUFFaEMsQ0FBQztJQU1PLGFBQWE7UUFDakIsSUFBSSxlQUFlLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUU5Qyw2Q0FBNkM7UUFDN0Msc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQVMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFakUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUUxRCxNQUFNLFdBQVcsR0FBRztZQUNoQixXQUFXO1lBQ1gsMkJBQTJCO1lBQzNCLHVCQUF1QjtTQUMxQixDQUFDO1FBRUYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsZUFBZSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4Qyx1QkFBdUI7UUFDdkIsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDbkIsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVaLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUViLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7QUFsREQ7O0dBRUc7QUFDWSxpQ0FBaUIsR0FBRyxLQUFLLENBQUM7NEdBbktoQyxlQUFlO2dHQUFmLGVBQWUsbzNCQVhkLEVBQUU7MkZBV0gsZUFBZTtrQkFiM0IsU0FBUzsrQkFDSSxZQUFZLFlBQ1osRUFBRSxjQVNBLElBQUk7dUdBUUgsSUFBSTtzQkFBaEIsS0FBSztnQkFVSSxVQUFVO3NCQUFuQixNQUFNO2dCQUlFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBSU8sUUFBUTtzQkFBcEIsS0FBSztnQkFTRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxnQ0FBZ0M7c0JBQXhDLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkF5Sk4sTUFBTTtzQkFETCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBNb25hY29FZGl0b3IgZnJvbSAnbW9uYWNvLWVkaXRvcic7XHJcbmltcG9ydCB7IE1vbmFjb0F1dG9UeXBlSW1wb3J0ZXIgfSBmcm9tICcuL3RzLXR5cGUtcmVzb2x2ZXIvbWFpbic7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xyXG5cclxubGV0IE1vbmFjbzogdHlwZW9mIE1vbmFjb0VkaXRvcjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtdnNjb2RlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIHN0eWxlczogW2BcclxuOmhvc3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbn1cclxuICAgIGBdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVnNjb2RlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIGlzRGlydHkgPSBmYWxzZTtcclxuICAgIGVkaXRvcjogTW9uYWNvRWRpdG9yLmVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3I7XHJcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xyXG5cclxuICAgIHByaXZhdGUgX2NvZGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNldCBjb2RlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodmFsdWUgPT0gdGhpcy5fY29kZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT0gXCJzdHJpbmdcIilcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlZhbHVlIG11c3QgYmUgb2YgdHlwZSBzdHJpbmdcIik7XHJcblxyXG4gICAgICAgIHRoaXMuX2NvZGUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvcj8uc2V0VmFsdWUodGhpcy5jb2RlKTtcclxuICAgIH07XHJcbiAgICBnZXQgY29kZSgpIHsgcmV0dXJuIHRoaXMuX2NvZGU/LnRyaW0oKSB9XHJcbiAgICBAT3V0cHV0KCkgY29kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgcHJpdmF0ZSBvbkNvZGVUeXBlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBwcml2YXRlIHR5cGVEZWJvdW5jZSA9IHRoaXMub25Db2RlVHlwZS5waXBlKGRlYm91bmNlVGltZSgxMDApKTtcclxuXHJcbiAgICBASW5wdXQoKSBjdXN0b21MYW5ndWFnZTogeyBpbml0OiBGdW5jdGlvbjsgfTtcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfbGFuZ3VhZ2U6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNldCBsYW5ndWFnZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UgPSB7XHJcbiAgICAgICAgICAgICd0cyc6IFwidHlwZXNjcmlwdFwiLFxyXG4gICAgICAgICAgICAnaHRtbCc6ICd4bWwnLFxyXG4gICAgICAgICAgICAnc2Nzcyc6ICdjc3MnXHJcbiAgICAgICAgfVt2YWx1ZV0gfHwgdmFsdWUgfHwgXCJhdXRvXCJcclxuICAgIH1cclxuICAgIGdldCBsYW5ndWFnZSgpIHsgcmV0dXJuIHRoaXMuX2xhbmd1YWdlIH1cclxuXHJcbiAgICBASW5wdXQoKSBpbnN0YWxsYXRpb25Mb2NhdGlvbiA9IFwiL2xpYi9tb25hY28vdnNcIjtcclxuXHJcblxyXG4gICAgQElucHV0KCkgdGFiU2l6ZSA9IDI7XHJcbiAgICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgdGhlbWUgPSBcInZzLWRhcmtcIjtcclxuICAgIEBJbnB1dCgpIGZvbnRGYW1pbHkgPSBcIkRyb2lkIFNhbnMgTW9ub1wiO1xyXG4gICAgQElucHV0KCkgZm9udFNpemUgPSAxNDtcclxuXHJcbiAgICBASW5wdXQoKSBhdXRvbWF0aWNMYXlvdXQgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgY29sb3JEZWNvcmF0b3JzID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGZvbGRpbmcgPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpIG1pbmltYXBFbmFibGVkID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIG1pbmltYXA6IE1vbmFjb0VkaXRvci5lZGl0b3IuSUVkaXRvck1pbmltYXBPcHRpb25zID0ge1xyXG4gICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgIH07XHJcbiAgICBASW5wdXQoKSBzY3JvbGxiYXI6IE1vbmFjb0VkaXRvci5lZGl0b3IuSUVkaXRvclNjcm9sbGJhck9wdGlvbnMgPSB7XHJcbiAgICAgICAgYWx3YXlzQ29uc3VtZU1vdXNlV2hlZWw6IGZhbHNlLFxyXG4gICAgICAgIC8vIHNjcm9sbEJ5UGFnZTogdHJ1ZVxyXG4gICAgfTtcclxuICAgIEBJbnB1dCgpIHNtb290aFNjcm9sbGluZyA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBtb3VzZVdoZWVsU2Nyb2xsU2Vuc2l0aXZpdHkgPSAyO1xyXG4gICAgQElucHV0KCkgc2Nyb2xsQmV5b25kTGFzdExpbmUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHNjcm9sbEJleW9uZExhc3RDb2x1bW4gPSAwO1xyXG4gICAgQElucHV0KCkgc2Nyb2xsYmFyQWx3YXlzQ29uc3VtZU1vdXNlV2hlZWwgPSAyO1xyXG5cclxuICAgIEBJbnB1dCgpIGxpbmVOdW1iZXJzOiBNb25hY29FZGl0b3IuZWRpdG9yLkxpbmVOdW1iZXJzVHlwZSA9IFwib25cIjtcclxuXHJcbiAgICBnZXQgc2V0dGluZ3MoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAgICAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlLFxyXG4gICAgICAgICAgICB0YWJTaXplOiB0aGlzLnRhYlNpemUsXHJcbiAgICAgICAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxyXG4gICAgICAgICAgICBmb250RmFtaWx5OiB0aGlzLmZvbnRGYW1pbHksXHJcbiAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmZvbnRTaXplLFxyXG4gICAgICAgICAgICBhdXRvbWF0aWNMYXlvdXQ6IHRoaXMuYXV0b21hdGljTGF5b3V0LFxyXG4gICAgICAgICAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogdGhpcy5zY3JvbGxCZXlvbmRMYXN0TGluZSxcclxuICAgICAgICAgICAgY29sb3JEZWNvcmF0b3JzOiB0aGlzLmNvbG9yRGVjb3JhdG9ycyxcclxuICAgICAgICAgICAgZm9sZGluZzogdGhpcy5mb2xkaW5nLFxyXG4gICAgICAgICAgICBzY3JvbGxCZXlvbmRMYXN0Q29sdW1uOiB0aGlzLnNjcm9sbEJleW9uZExhc3RDb2x1bW4sXHJcbiAgICAgICAgICAgIG1pbmltYXA6IHRoaXMubWluaW1hcCxcclxuICAgICAgICAgICAgc2Nyb2xsYmFyOiB0aGlzLnNjcm9sbGJhcixcclxuICAgICAgICAgICAgc21vb3RoU2Nyb2xsaW5nOiB0aGlzLnNtb290aFNjcm9sbGluZyxcclxuICAgICAgICAgICAgbW91c2VXaGVlbFNjcm9sbFNlbnNpdGl2aXR5OiB0aGlzLm1vdXNlV2hlZWxTY3JvbGxTZW5zaXRpdml0eSxcclxuICAgICAgICAgICAgbGluZU51bWJlcnM6IHRoaXMubGluZU51bWJlcnNcclxuICAgICAgICB9IGFzIE1vbmFjb0VkaXRvci5lZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIHZlcnRpY2FsU2Nyb2xsRXhoYXVzdGVkID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfc3ViO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgdGhpcy5pbnN0YWxsTW9uYWNvKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N1YiA9IHRoaXMudHlwZURlYm91bmNlLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb2RlQ2hhbmdlLm5leHQodGhpcy5fY29kZSA9IHRoaXMuZWRpdG9yLmdldFZhbHVlKCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICAvLyBJZiB3ZSBjaGFuZ2VkIGFueXRoaW5nIE9USEVSIHRoYW4gY29kZSwgcmVsb2FkIHRoZSBlZGl0b3JcclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoY2hhbmdlcykubGVuZ3RoID4gMSB8fCAhY2hhbmdlc1snY29kZSddKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3I/LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRWRpdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3RoZW1lJ10pXHJcbiAgICAgICAgICAgIE1vbmFjbz8uZWRpdG9yLnNldFRoZW1lKHRoaXMudGhlbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICAgICAgICAgIGxldCBpID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvdW50Kys7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvd1snbW9uYWNvJ10gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIE1vbmFjbyA9IHdpbmRvd1snbW9uYWNvJ107XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGNvdW50ID49IDEwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKGkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlcyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuY3JlYXRlRWRpdG9yKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3I/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9zdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVFZGl0b3IoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tTGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21MYW5ndWFnZS5pbml0KE1vbmFjbyk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgbGV0IGVkaXRvciA9IHRoaXMuZWRpdG9yID0gTW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy52aWV3Q29udGFpbmVyPy5lbGVtZW50Py5uYXRpdmVFbGVtZW50LCB0aGlzLnNldHRpbmdzIGFzIGFueSk7XHJcblxyXG4gICAgICAgIC8vIGNvbnN0IGF1dG9UeXBpbmdzID0gYXdhaXRcclxuICAgICAgICBNb25hY29BdXRvVHlwZUltcG9ydGVyLmNyZWF0ZShlZGl0b3IsIHtcclxuICAgICAgICAgICAgbW9uYWNvOiBNb25hY28sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuY29uZmlndXJlTGFuZ3VhZ2VTdXBwb3J0KCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvZGUpIHtcclxuICAgICAgICAgICAgZWRpdG9yLnNldFZhbHVlKHRoaXMuY29kZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlZGl0b3IuZ2V0TW9kZWwoKS5vbkRpZENoYW5nZUNvbnRlbnQoKCkgPT4gdGhpcy5vbkNvZGVUeXBlLmVtaXQoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb25maWd1cmVMYW5ndWFnZVN1cHBvcnQoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdHJ1ZSBpZiB0aGUgbW9uYWNvIFVNRCBmaWxlcyBhcmUgaW5qZWN0ZWQgaW50byB0aGUgd2VicGFnZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc01vbmFjb0luc3RhbGxlZCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBpbnN0YWxsTW9uYWNvKCkge1xyXG4gICAgICAgIGlmIChWc2NvZGVDb21wb25lbnQuaXNNb25hY29JbnN0YWxsZWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgLy8gTW9uYWNvIGhhcyBhIFVNRCBsb2FkZXIgdGhhdCByZXF1aXJlcyB0aGlzXHJcbiAgICAgICAgLy8gTWVyZ2Ugd2l0aCBhbnkgcHJlLWV4aXN0aW5nIGdsb2JhbCByZXF1aXJlIG9iamVjdHMuXHJcbiAgICAgICAgaWYgKCF3aW5kb3dbJ3JlcXVpcmUnXSkgd2luZG93WydyZXF1aXJlJ10gPSB7fSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKCF3aW5kb3dbJ3JlcXVpcmUnXVsncGF0aHMnXSkgd2luZG93WydyZXF1aXJlJ11bJ3BhdGhzJ10gPSB7fTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFsbGF0aW9uTG9jYXRpb24uZW5kc1dpdGgoJy8nKSlcclxuICAgICAgICAgICAgdGhpcy5pbnN0YWxsYXRpb25Mb2NhdGlvbiA9IHRoaXMuaW5zdGFsbGF0aW9uTG9jYXRpb24uc2xpY2UoMCwgLTEpO1xyXG5cclxuICAgICAgICB3aW5kb3dbJ3JlcXVpcmUnXVsncGF0aHMnXS52cyA9IHRoaXMuaW5zdGFsbGF0aW9uTG9jYXRpb247XHJcblxyXG4gICAgICAgIGNvbnN0IG1vbmFjb0ZpbGVzID0gW1xyXG4gICAgICAgICAgICAnbG9hZGVyLmpzJyxcclxuICAgICAgICAgICAgJ2VkaXRvci9lZGl0b3IubWFpbi5ubHMuanMnLFxyXG4gICAgICAgICAgICAnZWRpdG9yL2VkaXRvci5tYWluLmpzJyxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1vbmFjb0ZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XHJcbiAgICAgICAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoXCJkZWZlclwiLCBcIlwiKTtcclxuICAgICAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShcInNyY1wiLCB0aGlzLmluc3RhbGxhdGlvbkxvY2F0aW9uICsgJy8nICsgbW9uYWNvRmlsZXNbaV0pO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChzY3JpcHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBWc2NvZGVDb21wb25lbnQuaXNNb25hY29JbnN0YWxsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGRvd25sb2FkKCkge1xyXG4gICAgICAgIGNvbnN0IGNvZGUgPSB0aGlzLmVkaXRvci5nZXRWYWx1ZSgpO1xyXG5cclxuICAgICAgICBsZXQgYmxvYiA9IG5ldyBCbG9iKFtjb2RlXSwgeyB0eXBlOiAndGV4dC9sb2cnIH0pO1xyXG4gICAgICAgIGxldCBlbG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgbGV0IGJsb2JVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG5cclxuICAgICAgICAvLyBTZXQgdGhlIGRhdGEgdmFsdWVzLlxyXG4gICAgICAgIGVsbS5ocmVmID0gYmxvYlVSTDtcclxuICAgICAgICBlbG0uZG93bmxvYWQgPSB0aGlzLmZpbGVuYW1lO1xyXG5cclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsbSk7XHJcbiAgICAgICAgZWxtLmNsaWNrKCk7XHJcblxyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxtKTtcclxuICAgICAgICBlbG0ucmVtb3ZlKCk7XHJcblxyXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoYmxvYlVSTCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgICByZXNpemUgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3I/LmxheW91dCgpO1xyXG4gICAgfTtcclxufVxyXG4iXX0=
|
|
@@ -18,28 +18,29 @@ export class MenuDirective {
|
|
|
18
18
|
// Automatically attach context menu items to
|
|
19
19
|
// the contextmenu event
|
|
20
20
|
if (this.ctxMenuItems) {
|
|
21
|
-
el.onclick = this.openMenu.bind(this);
|
|
22
21
|
el.addEventListener('contextmenu', (e) => {
|
|
23
22
|
e.preventDefault();
|
|
24
23
|
this.openMenu(e, this.ctxMenuItems);
|
|
25
24
|
});
|
|
26
25
|
}
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
if (this.menuItems?.length > 0) {
|
|
27
|
+
if (!this.config?.trigger) {
|
|
28
|
+
el.addEventListener('click', this.openMenu.bind(this));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const triggers = Array.isArray(this.config.trigger) ? this.config.trigger : [this.config.trigger];
|
|
32
|
+
triggers.forEach(t => {
|
|
33
|
+
if (t == "contextmenu") {
|
|
34
|
+
el.addEventListener(t, (e) => {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
this.openMenu(e, this.ctxMenuItems);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
el.addEventListener(t, this.openMenu.bind(this));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
async openMenu(evt, items = this.menuItems) {
|
|
@@ -123,4 +124,4 @@ export const openMenu = async (dialog, menuItems, data, evt, config = {}, el) =>
|
|
|
123
124
|
});
|
|
124
125
|
});
|
|
125
126
|
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBU3RGLE1BQU0sT0FBTyxhQUFhO0lBMkJ0QixZQUNZLE1BQWlCLEVBQ2pCLGFBQStCO1FBRC9CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBUjNDOztXQUVHO1FBRXVCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO0lBSy9DLENBQUM7SUFFTCxlQUFlO1FBQ1gsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUVuRSw2Q0FBNkM7UUFDN0Msd0JBQXdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtZQUN2QixFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDMUQ7YUFDSTtZQUNELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsSUFBSSxhQUFhLEVBQUU7b0JBQ3BCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDekIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQy9DLENBQUMsQ0FBQyxDQUFDO2lCQUNOO3FCQUNJO29CQUNELEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDcEQ7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBaUIsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVM7UUFDcEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUVuRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVsQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVuQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDbkYsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRTtZQUNiLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDVixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNyQyxNQUFNLEVBQUUsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7MEdBakZRLGFBQWE7OEZBQWIsYUFBYSxzUkFMWDtRQUNQLFNBQVM7S0FDWjsyRkFHUSxhQUFhO2tCQVB6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5REFBeUQ7b0JBQ25FLFNBQVMsRUFBRTt3QkFDUCxTQUFTO3FCQUNaO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrSEFPOEIsSUFBSTtzQkFEOUIsS0FBSzt1QkFBQyxnQkFBZ0I7O3NCQUN0QixLQUFLO3VCQUFDLGtCQUFrQjtnQkFNQyxZQUFZO3NCQURyQyxLQUFLO3VCQUFDLGdCQUFnQjs7c0JBQ3RCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQU9MLFNBQVM7c0JBRDNCLEtBQUs7dUJBQUMsU0FBUzs7c0JBQ2YsS0FBSzt1QkFBQyxVQUFVO2dCQU1TLE1BQU07c0JBRC9CLEtBQUs7dUJBQUMsZUFBZTs7c0JBQ3JCLEtBQUs7dUJBQUMsaUJBQWlCOztBQTJENUIsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQ3pCLE1BQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLElBQVMsRUFDVCxHQUFpQixFQUNqQixTQUFzQixFQUFFLEVBQ3hCLEVBQWdCLEVBQ2xCLEVBQUU7SUFDQSw2REFBNkQ7SUFFN0QsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUV0QixrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1FBQ2pCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBRS9CLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUV2QyxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksRUFBRTtnQkFDRixJQUFJLEVBQUUsSUFBSTtnQkFDVixLQUFLLEVBQUUsU0FBUztnQkFDaEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsRUFBRSxFQUFFLFVBQVU7YUFDakI7WUFDRCxVQUFVLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUMvRSxRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxtQkFBbUI7U0FDckMsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNYLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFpQixDQUFDO0FBQ3ZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBnZXRQb3NpdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTWVudUl0ZW0sIE1lbnVPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvbWVudSc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50LCBjYWxjTWVudUl0ZW1Cb3VuZHMgfSBmcm9tICcuLi9jb21wb25lbnRzL21lbnUvbWVudS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ3gtY29udGV4dG1lbnVdLFtuZ3gtbWVudV0sW25neENvbnRleHRtZW51XSxbbmd4TWVudV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNYXREaWFsb2dcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTWVudURpcmVjdGl2ZSB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSByZXByZXNlbnRpbmcgdGhlIGl0ZW0gdGhlIG1lbnUgd2FzIG9wZW5lZCBmb3IuXG4gICAgICovXG4gICAgQElucHV0KFwibmd4TWVudUNvbnRleHRcIilcbiAgICBASW5wdXQoXCJuZ3gtbWVudS1jb250ZXh0XCIpIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBpdGVtcyB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhlIGNvbnRleHQgbWVudS5cbiAgICAgKi9cbiAgICBASW5wdXQoXCJuZ3hDb250ZXh0bWVudVwiKVxuICAgIEBJbnB1dChcIm5neC1jb250ZXh0bWVudVwiKSBjdHhNZW51SXRlbXM6IE1lbnVJdGVtW107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaXRlbXMgdGhhdCB3aWxsIGJlIGJvdW5kIHRvIHRoZSBtZW51IHRoYXQgcG9wc1xuICAgICAqIHVwIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neE1lbnVcIilcbiAgICBASW5wdXQoXCJuZ3gtbWVudVwiKSBtZW51SXRlbXM6IE1lbnVJdGVtW107XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBvcGVuaW5nIHRoZSBhcHAgbWVudVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neE1lbnVDb25maWdcIilcbiAgICBASW5wdXQoXCJuZ3gtbWVudS1jb25maWdcIikgY29uZmlnOiBNZW51T3B0aW9ucyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICAgICkgeyB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAvLyBBdXRvbWF0aWNhbGx5IGF0dGFjaCBjb250ZXh0IG1lbnUgaXRlbXMgdG9cbiAgICAgICAgLy8gdGhlIGNvbnRleHRtZW51IGV2ZW50XG4gICAgICAgIGlmICh0aGlzLmN0eE1lbnVJdGVtcykge1xuICAgICAgICAgICAgZWwub25jbGljayA9IHRoaXMub3Blbk1lbnUuYmluZCh0aGlzKTtcbiAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTWVudShlIGFzIGFueSwgdGhpcy5jdHhNZW51SXRlbXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnPy50cmlnZ2VyKSB7XG4gICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub3Blbk1lbnUuYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0cmlnZ2VycyA9IEFycmF5LmlzQXJyYXkodGhpcy5jb25maWcudHJpZ2dlcikgPyB0aGlzLmNvbmZpZy50cmlnZ2VyIDogW3RoaXMuY29uZmlnLnRyaWdnZXJdO1xuXG4gICAgICAgICAgICB0cmlnZ2Vycy5mb3JFYWNoKHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0ID09IFwiY29udGV4dG1lbnVcIikge1xuICAgICAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKHQsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5NZW51KGUgYXMgYW55LCB0aGlzLmN0eE1lbnVJdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcih0LCB0aGlzLm9wZW5NZW51LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgb3Blbk1lbnUoZXZ0OiBQb2ludGVyRXZlbnQsIGl0ZW1zID0gdGhpcy5tZW51SXRlbXMpIHtcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoXCJuZ3gtbWVudS1vcGVuXCIpO1xuXG4gICAgICAgIGNvbnN0IGlzQ3R4RXZlbnQgPSBldnQuYnV0dG9uID09IDI7XG5cbiAgICAgICAgcmV0dXJuIG9wZW5NZW51KHRoaXMuZGlhbG9nLCBpdGVtcywgdGhpcy5kYXRhLCBldnQsIHRoaXMuY29uZmlnLCBpc0N0eEV2ZW50ID8gbnVsbCA6IGVsKVxuICAgICAgICAgICAgLnRoZW4oKC4uLnJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJuZ3gtbWVudS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChleCkgPT4ge1xuICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJuZ3gtbWVudS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgIHRocm93IGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vLyBIZWxwZXIgdG8gb3BlbiB0aGUgbWVudSB3aXRob3V0IHVzaW5nIHRoZSBkaXJlY3RpdmUuXG5leHBvcnQgY29uc3Qgb3Blbk1lbnUgPSBhc3luYyAoXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgbWVudUl0ZW1zOiBNZW51SXRlbVtdLFxuICAgIGRhdGE6IGFueSxcbiAgICBldnQ6IFBvaW50ZXJFdmVudCxcbiAgICBjb25maWc6IE1lbnVPcHRpb25zID0ge30sXG4gICAgZWw/OiBIVE1MRWxlbWVudFxuKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coeyBkaWFsb2csIG1lbnVJdGVtcywgZGF0YSwgZXZ0LCBjb25maWcsIGVsIH0pO1xuXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgLy8gQXBwbHkgZGVmYXVsdHMuXG4gICAgaWYgKCFjb25maWcuYWxpZ25tZW50KVxuICAgICAgICBjb25maWcuYWxpZ25tZW50ID0gXCJzdGFydFwiO1xuXG4gICAgY29uc3QgY29yZHMgPSBnZXRQb3NpdGlvbihlbCB8fCBldnQsIGNvbmZpZywgYXdhaXQgY2FsY01lbnVJdGVtQm91bmRzKG1lbnVJdGVtcywgZGF0YSkpO1xuICAgIGNvbnN0IHNwZWNpZmljSWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlcyA9PiB7XG4gICAgICAgIGRpYWxvZy5vcGVuKE1lbnVDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBtZW51SXRlbXMsXG4gICAgICAgICAgICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICAgICAgICAgICAgaWQ6IHNwZWNpZmljSWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbXCJuZ3gtbWVudVwiLCAnbmd4LScgKyBzcGVjaWZpY0lkXS5jb25jYXQoY29uZmlnPy5jdXN0b21DbGFzcyB8fCBbXSksXG4gICAgICAgICAgICBwb3NpdGlvbjogY29yZHMsXG4gICAgICAgICAgICBiYWNrZHJvcENsYXNzOiBcIm5neC1tZW51LWJhY2tkcm9wXCJcbiAgICAgICAgfSlcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgICAgIHJlcyhzKTtcbiAgICAgICAgfSlcbiAgICB9KSBhcyBQcm9taXNlPGFueT47XG59O1xuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBU3RGLE1BQU0sT0FBTyxhQUFhO0lBMkJ0QixZQUNZLE1BQWlCLEVBQ2pCLGFBQStCO1FBRC9CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBUjNDOztXQUVHO1FBRXVCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO0lBSy9DLENBQUM7SUFFTCxlQUFlO1FBQ1gsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUVuRSw2Q0FBNkM7UUFDN0Msd0JBQXdCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVB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QWlCLEVBQ2pCLFNBQXNCLEVBQUUsRUFDeEIsRUFBZ0IsRUFDbEIsRUFBRTtJQUNBLDZEQUE2RDtJQUU3RCxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBRXRCLGtCQUFrQjtJQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7UUFDakIsTUFBTSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFFL0IsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEYsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXZDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxJQUFJO2dCQUNWLEtBQUssRUFBRSxTQUFTO2dCQUNoQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxFQUFFLEVBQUUsVUFBVTthQUNqQjtZQUNELFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1lBQy9FLFFBQVEsRUFBRSxLQUFLO1lBQ2YsYUFBYSxFQUFFLG1CQUFtQjtTQUNyQyxDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQWlCLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGdldFBvc2l0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBNZW51SXRlbSwgTWVudU9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9tZW51JztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIGNhbGNNZW51SXRlbUJvdW5kcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25neC1jb250ZXh0bWVudV0sW25neC1tZW51XSxbbmd4Q29udGV4dG1lbnVdLFtuZ3hNZW51XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1hdERpYWxvZ1xuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNZW51RGlyZWN0aXZlIHtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHJlcHJlc2VudGluZyB0aGUgaXRlbSB0aGUgbWVudSB3YXMgb3BlbmVkIGZvci5cbiAgICAgKi9cbiAgICBASW5wdXQoXCJuZ3hNZW51Q29udGV4dFwiKVxuICAgIEBJbnB1dChcIm5neC1tZW51LWNvbnRleHRcIikgZGF0YTogYW55O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGl0ZW1zIHRoYXQgd2lsbCBiZSBib3VuZCB0byB0aGUgY29udGV4dCBtZW51LlxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neENvbnRleHRtZW51XCIpXG4gICAgQElucHV0KFwibmd4LWNvbnRleHRtZW51XCIpIGN0eE1lbnVJdGVtczogTWVudUl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBpdGVtcyB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhlIG1lbnUgdGhhdCBwb3BzXG4gICAgICogdXAgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KFwibmd4TWVudVwiKVxuICAgIEBJbnB1dChcIm5neC1tZW51XCIpIG1lbnVJdGVtczogTWVudUl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqIENvbmZpZ3VyYXRpb24gZm9yIG9wZW5pbmcgdGhlIGFwcCBtZW51XG4gICAgICovXG4gICAgQElucHV0KFwibmd4TWVudUNvbmZpZ1wiKVxuICAgIEBJbnB1dChcIm5neC1tZW51LWNvbmZpZ1wiKSBjb25maWc6IE1lbnVPcHRpb25zID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICAgKSB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIC8vIEF1dG9tYXRpY2FsbHkgYXR0YWNoIGNvbnRleHQgbWVudSBpdGVtcyB0b1xuICAgICAgICAvLyB0aGUgY29udGV4dG1lbnUgZXZlbnRcbiAgICAgICAgaWYgKHRoaXMuY3R4TWVudUl0ZW1zKSB7XG4gICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3Blbk1lbnUoZSBhcyBhbnksIHRoaXMuY3R4TWVudUl0ZW1zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWVudUl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnPy50cmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9wZW5NZW51LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlcnMgPSBBcnJheS5pc0FycmF5KHRoaXMuY29uZmlnLnRyaWdnZXIpID8gdGhpcy5jb25maWcudHJpZ2dlciA6IFt0aGlzLmNvbmZpZy50cmlnZ2VyXTtcblxuICAgICAgICAgICAgICAgIHRyaWdnZXJzLmZvckVhY2godCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0ID09IFwiY29udGV4dG1lbnVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcih0LCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5NZW51KGUgYXMgYW55LCB0aGlzLmN0eE1lbnVJdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIodCwgdGhpcy5vcGVuTWVudS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgb3Blbk1lbnUoZXZ0OiBQb2ludGVyRXZlbnQsIGl0ZW1zID0gdGhpcy5tZW51SXRlbXMpIHtcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoXCJuZ3gtbWVudS1vcGVuXCIpO1xuXG4gICAgICAgIGNvbnN0IGlzQ3R4RXZlbnQgPSBldnQuYnV0dG9uID09IDI7XG5cbiAgICAgICAgcmV0dXJuIG9wZW5NZW51KHRoaXMuZGlhbG9nLCBpdGVtcywgdGhpcy5kYXRhLCBldnQsIHRoaXMuY29uZmlnLCBpc0N0eEV2ZW50ID8gbnVsbCA6IGVsKVxuICAgICAgICAgICAgLnRoZW4oKC4uLnJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJuZ3gtbWVudS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChleCkgPT4ge1xuICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJuZ3gtbWVudS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgIHRocm93IGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vLyBIZWxwZXIgdG8gb3BlbiB0aGUgbWVudSB3aXRob3V0IHVzaW5nIHRoZSBkaXJlY3RpdmUuXG5leHBvcnQgY29uc3Qgb3Blbk1lbnUgPSBhc3luYyAoXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgbWVudUl0ZW1zOiBNZW51SXRlbVtdLFxuICAgIGRhdGE6IGFueSxcbiAgICBldnQ6IFBvaW50ZXJFdmVudCxcbiAgICBjb25maWc6IE1lbnVPcHRpb25zID0ge30sXG4gICAgZWw/OiBIVE1MRWxlbWVudFxuKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coeyBkaWFsb2csIG1lbnVJdGVtcywgZGF0YSwgZXZ0LCBjb25maWcsIGVsIH0pO1xuXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgLy8gQXBwbHkgZGVmYXVsdHMuXG4gICAgaWYgKCFjb25maWcuYWxpZ25tZW50KVxuICAgICAgICBjb25maWcuYWxpZ25tZW50ID0gXCJzdGFydFwiO1xuXG4gICAgY29uc3QgY29yZHMgPSBnZXRQb3NpdGlvbihlbCB8fCBldnQsIGNvbmZpZywgYXdhaXQgY2FsY01lbnVJdGVtQm91bmRzKG1lbnVJdGVtcywgZGF0YSkpO1xuICAgIGNvbnN0IHNwZWNpZmljSWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlcyA9PiB7XG4gICAgICAgIGRpYWxvZy5vcGVuKE1lbnVDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBtZW51SXRlbXMsXG4gICAgICAgICAgICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICAgICAgICAgICAgaWQ6IHNwZWNpZmljSWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbXCJuZ3gtbWVudVwiLCAnbmd4LScgKyBzcGVjaWZpY0lkXS5jb25jYXQoY29uZmlnPy5jdXN0b21DbGFzcyB8fCBbXSksXG4gICAgICAgICAgICBwb3NpdGlvbjogY29yZHMsXG4gICAgICAgICAgICBiYWNrZHJvcENsYXNzOiBcIm5neC1tZW51LWJhY2tkcm9wXCJcbiAgICAgICAgfSlcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgICAgIHJlcyhzKTtcbiAgICAgICAgfSlcbiAgICB9KSBhcyBQcm9taXNlPGFueT47XG59O1xuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -44,4 +44,9 @@ export * from './components/dynamic-html/dynamic-html.service';
|
|
|
44
44
|
export * from './components/dynamic-html/dynamic-html.module';
|
|
45
45
|
export * from './components/dynamic-html/dynamic-html.component';
|
|
46
46
|
export * from './components/dynamic-html/types';
|
|
47
|
-
|
|
47
|
+
export * from './components/filemanager/filemanager.component';
|
|
48
|
+
// export * from './components/music-library/music-library.component';
|
|
49
|
+
export * from './components/tabulator/tabulator.component';
|
|
50
|
+
export * from './components/vscode/vscode.component';
|
|
51
|
+
export * from './components/types';
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFFNUM7O0dBRUc7QUFDSCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFFeEM7O0VBRUU7QUFDRixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLG9EQUFvRDtBQUVwRDs7RUFFRTtBQUNGLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0M7O0VBRUU7QUFDRixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGlDQUFpQyxDQUFDO0FBSWhELGNBQWMsZ0RBQWdELENBQUM7QUFDL0Qsc0VBQXNFO0FBQ3RFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwYWNrYWdlXG4gKi9cblxuLyoqXG4gKiogVHlwZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvcG9wdXAnO1xuXG4vKipcbiAqKiBEaXJlY3RpdmVzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvbWVudS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqKiBQaXBlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2h0bWwtYnlwYXNzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9yZXNvdXJjZS1ieXBhc3MucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NjcmlwdC1ieXBhc3MucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3N0eWxlLWJ5cGFzcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvdXJsLWJ5cGFzcy5waXBlJztcblxuLyoqXG4qKiBTZXJ2aWNlc1xuKi9cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGVwZW5kZW5jeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9mZXRjaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMva2V5Ym9hcmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZpbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zZXJ2aWNld29ya2VyLnNlcnZpY2UnO1xuXG4vKipcbioqIExhenkgbG9hZGVyIGNvbXBvbmVudCAmIHNlcnZpY2VcbiovXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbGF6eS1sb2FkZXIvbGF6eS1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbGF6eS1sb2FkZXIvbGF6eS1sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xhenktbG9hZGVyL3R5cGVzJztcblxuLyoqXG4qKiBTZXJ2aWNlc1xuKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWh0bWwvZHluYW1pYy1odG1sLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtaHRtbC9keW5hbWljLWh0bWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWh0bWwvZHluYW1pYy1odG1sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1odG1sL3R5cGVzJztcblxuXG5cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWxlbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQnO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL211c2ljLWxpYnJhcnkvbXVzaWMtbGlicmFyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYnVsYXRvci90YWJ1bGF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy92c2NvZGUvdnNjb2RlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdHlwZXMnO1xuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import * as i7 from '@angular/forms';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
import * as i2 from '@angular/material/button';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import * as i5 from '@angular/material/icon';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import * as i3 from '@angular/material/input';
|
|
10
|
+
import { MatInputModule } from '@angular/material/input';
|
|
11
|
+
import * as i1 from '@angular/material/dialog';
|
|
12
|
+
import { Fetch } from './dotglitch-ngx-common.mjs';
|
|
13
|
+
import * as i4 from '@angular/material/form-field';
|
|
14
|
+
import 'tslib';
|
|
15
|
+
import '@angular/common';
|
|
16
|
+
import '@angular/platform-browser';
|
|
17
|
+
import 'rxjs';
|
|
18
|
+
import '@angular/material/progress-spinner';
|
|
19
|
+
import '@angular/cdk/portal';
|
|
20
|
+
import '@angular/cdk/dialog';
|
|
21
|
+
import 'rxjs/operators';
|
|
22
|
+
import '@angular/common/http';
|
|
23
|
+
import '@angular/material/tabs';
|
|
24
|
+
import '@angular/material/sidenav';
|
|
25
|
+
import 'angular-split';
|
|
26
|
+
import '@angular/material/checkbox';
|
|
27
|
+
import '@angular/cdk/scrolling';
|
|
28
|
+
import 'ngx-scrollbar';
|
|
29
|
+
import 'tabulator-tables';
|
|
30
|
+
import '@angular/material/progress-bar';
|
|
31
|
+
import '@angular/material/expansion';
|
|
32
|
+
import 'path-browserify';
|
|
33
|
+
|
|
34
|
+
class FolderRenameComponent {
|
|
35
|
+
constructor(dialog, fetch) {
|
|
36
|
+
this.dialog = dialog;
|
|
37
|
+
this.fetch = fetch;
|
|
38
|
+
this.name = '';
|
|
39
|
+
this.isRename = false;
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.isRename = this.name.length > 0;
|
|
43
|
+
}
|
|
44
|
+
onSave() {
|
|
45
|
+
if (this.isRename) {
|
|
46
|
+
const url = this.config.apiSettings.renameEntryUrlTemplate
|
|
47
|
+
? this.config.apiSettings.renameEntryUrlTemplate(this.path + this.name)
|
|
48
|
+
: this.config.apiSettings.renameEntryUrl;
|
|
49
|
+
this.fetch.post(url, { path: this.path + '/' + this.name });
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const url = this.config.apiSettings.createDirectoryUrlTemplate
|
|
53
|
+
? this.config.apiSettings.createDirectoryUrlTemplate(this.path + this.name)
|
|
54
|
+
: this.config.apiSettings.createDirectoryUrl;
|
|
55
|
+
this.fetch.post(url, { path: this.path + '/' + this.name });
|
|
56
|
+
}
|
|
57
|
+
this.dialog.close(true);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
FolderRenameComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FolderRenameComponent, deps: [{ token: i1.MatDialogRef }, { token: Fetch }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
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: i2.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"] }] });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FolderRenameComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'app-folder-rename', imports: [
|
|
65
|
+
MatInputModule,
|
|
66
|
+
MatIconModule,
|
|
67
|
+
MatButtonModule,
|
|
68
|
+
FormsModule
|
|
69
|
+
], 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"] }]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: Fetch }]; }, propDecorators: { path: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], name: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], config: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}] } });
|
|
77
|
+
|
|
78
|
+
export { FolderRenameComponent };
|
|
79
|
+
//# sourceMappingURL=dotglitch-ngx-common-folder-rename.component-d039534b.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotglitch-ngx-common-folder-rename.component-d039534b.mjs","sources":["../../../packages/common/src/components/filemanager/folder-rename/folder-rename.component.ts","../../../packages/common/src/components/filemanager/folder-rename/folder-rename.component.html"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { NgxFileManagerConfiguration } from '../filemanager.component';\nimport { Fetch } from '../../../public-api';\n\n@Component({\n selector: 'app-folder-rename',\n templateUrl: './folder-rename.component.html',\n styleUrls: ['./folder-rename.component.scss'],\n imports: [\n MatInputModule,\n MatIconModule,\n MatButtonModule,\n FormsModule\n ],\n standalone: true\n})\nexport class FolderRenameComponent implements OnInit {\n\n @Input() path: string;\n @Input() name: string = '';\n @Input() config: NgxFileManagerConfiguration;\n\n isRename = false;\n\n constructor(\n public dialog: MatDialogRef<any>,\n private fetch: Fetch\n ) { }\n\n ngOnInit() {\n this.isRename = this.name.length > 0;\n }\n\n onSave() {\n if (this.isRename) {\n const url = this.config.apiSettings.renameEntryUrlTemplate\n ? this.config.apiSettings.renameEntryUrlTemplate(this.path + this.name)\n : this.config.apiSettings.renameEntryUrl\n\n this.fetch.post(url, { path: this.path + '/' + this.name });\n }\n else {\n const url = this.config.apiSettings.createDirectoryUrlTemplate\n ? this.config.apiSettings.createDirectoryUrlTemplate(this.path + this.name)\n : this.config.apiSettings.createDirectoryUrl\n\n this.fetch.post(url, {path: this.path +'/'+ this.name});\n }\n this.dialog.close(true);\n }\n}\n","<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"],"names":["i2.Fetch","i6"],"mappings":"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"}
|