@dotglitch/ngx-common 1.0.51 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/components/command-palette/command-palette.component.d.ts +20 -0
  2. package/components/command-palette/shortcut/shortcut.component.d.ts +9 -0
  3. package/components/dynamic-html/dynamic-html.component.d.ts +1 -1
  4. package/components/filemanager/file-grid/file-grid.component.d.ts +1 -1
  5. package/components/filemanager/filemanager.component.d.ts +1 -1
  6. package/components/filemanager/folder-rename/folder-rename.component.d.ts +1 -1
  7. package/components/filemanager/toolbar/breadcrumb/breadcrumb.component.d.ts +1 -1
  8. package/components/filemanager/toolbar/icon-button/icon-button.component.d.ts +1 -1
  9. package/components/filemanager/toolbar/toolbar.component.d.ts +1 -1
  10. package/components/filemanager/tree-view/tree-view.component.d.ts +1 -1
  11. package/components/lazy-loader/lazy-loader.component.d.ts +1 -1
  12. package/components/menu/menu.component.d.ts +1 -1
  13. package/components/tabulator/tabulator.component.d.ts +1 -1
  14. package/components/tooltip/tooltip.component.d.ts +1 -1
  15. package/components/vscode/vscode.component.d.ts +1 -1
  16. package/directives/menu.directive.d.ts +2 -2
  17. package/directives/tooltip.directive.d.ts +1 -1
  18. package/esm2022/components/command-palette/command-palette.component.mjs +107 -0
  19. package/esm2022/components/command-palette/shortcut/shortcut.component.mjs +19 -0
  20. package/{esm2020 → esm2022}/components/dynamic-html/dynamic-html.component.mjs +5 -5
  21. package/esm2022/components/dynamic-html/dynamic-html.module.mjs +27 -0
  22. package/{esm2020 → esm2022}/components/dynamic-html/dynamic-html.service.mjs +6 -6
  23. package/{esm2020 → esm2022}/components/filemanager/file-grid/file-grid.component.mjs +5 -5
  24. package/esm2022/components/filemanager/filemanager.component.mjs +302 -0
  25. package/{esm2020 → esm2022}/components/filemanager/folder-rename/folder-rename.component.mjs +5 -5
  26. package/{esm2020 → esm2022}/components/filemanager/toolbar/breadcrumb/breadcrumb.component.mjs +5 -5
  27. package/{esm2020 → esm2022}/components/filemanager/toolbar/icon-button/icon-button.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/components/filemanager/toolbar/toolbar.component.mjs +5 -5
  29. package/{esm2020 → esm2022}/components/filemanager/tree-view/tree-view.component.mjs +6 -6
  30. package/{esm2020 → esm2022}/components/lazy-loader/lazy-loader.component.mjs +6 -6
  31. package/esm2022/components/lazy-loader/lazy-loader.module.mjs +29 -0
  32. package/esm2022/components/lazy-loader/lazy-loader.service.mjs +215 -0
  33. package/{esm2020 → esm2022}/components/menu/menu.component.mjs +7 -7
  34. package/{esm2020 → esm2022}/components/react-magic-wrapper/react-magic-wrapper.component.mjs +5 -5
  35. package/esm2022/components/tabulator/tabulator.component.mjs +92 -0
  36. package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +10 -10
  37. package/{esm2020 → esm2022}/components/vscode/vscode.component.mjs +5 -5
  38. package/{esm2020 → esm2022}/directives/menu.directive.mjs +7 -7
  39. package/{esm2020 → esm2022}/directives/tooltip.directive.mjs +7 -7
  40. package/{esm2020 → esm2022}/pipes/html-bypass.pipe.mjs +5 -5
  41. package/{esm2020 → esm2022}/pipes/resource-bypass.pipe.mjs +5 -5
  42. package/{esm2020 → esm2022}/pipes/script-bypass.pipe.mjs +5 -5
  43. package/{esm2020 → esm2022}/pipes/style-bypass.pipe.mjs +5 -5
  44. package/{esm2020 → esm2022}/pipes/url-bypass.pipe.mjs +5 -5
  45. package/esm2022/public-api.mjs +58 -0
  46. package/esm2022/services/command-palette.service.mjs +194 -0
  47. package/{esm2020 → esm2022}/services/dependency.service.mjs +6 -6
  48. package/{esm2020 → esm2022}/services/dialog.service.mjs +5 -5
  49. package/{esm2020 → esm2022}/services/fetch.service.mjs +5 -5
  50. package/{esm2020 → esm2022}/services/file.service.mjs +5 -5
  51. package/{esm2020 → esm2022}/services/keyboard.service.mjs +5 -5
  52. package/{esm2020 → esm2022}/services/navigation.service.mjs +5 -5
  53. package/{esm2020 → esm2022}/services/theme.service.mjs +5 -5
  54. package/{fesm2020/dotglitch-ngx-common-folder-rename.component-dcb5b712.mjs → fesm2022/dotglitch-ngx-common-folder-rename.component-jf2j2TId.mjs} +7 -7
  55. package/{fesm2020/dotglitch-ngx-common-folder-rename.component-dcb5b712.mjs.map → fesm2022/dotglitch-ngx-common-folder-rename.component-jf2j2TId.mjs.map} +1 -1
  56. package/{fesm2020 → fesm2022}/dotglitch-ngx-common.mjs +460 -158
  57. package/fesm2022/dotglitch-ngx-common.mjs.map +1 -0
  58. package/package.json +9 -15
  59. package/public-api.d.ts +5 -1
  60. package/services/command-palette.service.d.ts +103 -0
  61. package/esm2020/components/dynamic-html/dynamic-html.module.mjs +0 -27
  62. package/esm2020/components/filemanager/filemanager.component.mjs +0 -302
  63. package/esm2020/components/lazy-loader/lazy-loader.module.mjs +0 -29
  64. package/esm2020/components/lazy-loader/lazy-loader.service.mjs +0 -215
  65. package/esm2020/components/tabulator/tabulator.component.mjs +0 -92
  66. package/esm2020/public-api.mjs +0 -54
  67. package/fesm2015/dotglitch-ngx-common-folder-rename.component-984ccea3.mjs +0 -82
  68. package/fesm2015/dotglitch-ngx-common-folder-rename.component-984ccea3.mjs.map +0 -1
  69. package/fesm2015/dotglitch-ngx-common.mjs +0 -10815
  70. package/fesm2015/dotglitch-ngx-common.mjs.map +0 -1
  71. package/fesm2020/dotglitch-ngx-common.mjs.map +0 -1
  72. /package/{esm2020 → esm2022}/assets/mat-icons.mjs +0 -0
  73. /package/{esm2020 → esm2022}/components/dynamic-html/types.mjs +0 -0
  74. /package/{esm2020 → esm2022}/components/filemanager/helpers.mjs +0 -0
  75. /package/{esm2020 → esm2022}/components/filemanager/icon-resolver.mjs +0 -0
  76. /package/{esm2020 → esm2022}/components/filemanager/textextensions.mjs +0 -0
  77. /package/{esm2020 → esm2022}/components/lazy-loader/types.mjs +0 -0
  78. /package/{esm2020 → esm2022}/components/types.mjs +0 -0
  79. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -0
  80. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -0
  81. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/import-resolver.mjs +0 -0
  82. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/main.mjs +0 -0
  83. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -0
  84. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/types.mjs +0 -0
  85. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -0
  86. /package/{esm2020 → esm2022}/components/vscode/ts-type-resolver/update-emitter.mjs +0 -0
  87. /package/{esm2020 → esm2022}/directives/utils.mjs +0 -0
  88. /package/{esm2020 → esm2022}/dotglitch-ngx-common.mjs +0 -0
  89. /package/{esm2020 → esm2022}/types/menu.mjs +0 -0
  90. /package/{esm2020 → esm2022}/types/popup.mjs +0 -0
  91. /package/{esm2020 → esm2022}/types/tooltip.mjs +0 -0
  92. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
@@ -1,82 +0,0 @@
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 'ulidx';
19
- import '@angular/material/progress-spinner';
20
- import '@angular/cdk/portal';
21
- import '@angular/cdk/dialog';
22
- import 'rxjs/operators';
23
- import '@angular/common/http';
24
- import '@angular/material/tabs';
25
- import '@angular/material/sidenav';
26
- import 'angular-split';
27
- import '@angular/material/checkbox';
28
- import '@angular/cdk/scrolling';
29
- import 'ngx-scrollbar';
30
- import 'tabulator-tables';
31
- import '@angular/material/progress-bar';
32
- import '@angular/material/expansion';
33
- import 'path-browserify';
34
- import 'react';
35
- import 'react-dom/client';
36
-
37
- class FolderRenameComponent {
38
- constructor(dialog, fetch) {
39
- this.dialog = dialog;
40
- this.fetch = fetch;
41
- this.name = '';
42
- this.isRename = false;
43
- }
44
- ngOnInit() {
45
- this.isRename = this.name.length > 0;
46
- }
47
- onSave() {
48
- if (this.isRename) {
49
- const url = this.config.apiSettings.renameEntryUrlTemplate
50
- ? this.config.apiSettings.renameEntryUrlTemplate(this.path + this.name)
51
- : this.config.apiSettings.renameEntryUrl;
52
- this.fetch.post(url, { path: this.path + '/' + this.name });
53
- }
54
- else {
55
- const url = this.config.apiSettings.createDirectoryUrlTemplate
56
- ? this.config.apiSettings.createDirectoryUrlTemplate(this.path + this.name)
57
- : this.config.apiSettings.createDirectoryUrl;
58
- this.fetch.post(url, { path: this.path + '/' + this.name });
59
- }
60
- this.dialog.close(true);
61
- }
62
- }
63
- 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 });
64
- 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"] }] });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FolderRenameComponent, decorators: [{
66
- type: Component,
67
- args: [{ selector: 'app-folder-rename', imports: [
68
- MatInputModule,
69
- MatIconModule,
70
- MatButtonModule,
71
- FormsModule
72
- ], 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"] }]
73
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: Fetch }]; }, propDecorators: { path: [{
74
- type: Input
75
- }], name: [{
76
- type: Input
77
- }], config: [{
78
- type: Input
79
- }] } });
80
-
81
- export { FolderRenameComponent };
82
- //# sourceMappingURL=dotglitch-ngx-common-folder-rename.component-984ccea3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotglitch-ngx-common-folder-rename.component-984ccea3.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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"}