@flusys/ng-storage 5.4.1 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/fesm2022/{flusys-ng-storage-file-manager-form.component-DnE4Whts.mjs → flusys-ng-storage-file-manager-form.component-V-ZDWkKU.mjs} +135 -153
  2. package/fesm2022/flusys-ng-storage-file-manager-form.component-V-ZDWkKU.mjs.map +1 -0
  3. package/fesm2022/{flusys-ng-storage-file-manager-list.component-Go5Gqptd.mjs → flusys-ng-storage-file-manager-list.component-DqHH9lI0.mjs} +126 -97
  4. package/fesm2022/flusys-ng-storage-file-manager-list.component-DqHH9lI0.mjs.map +1 -0
  5. package/fesm2022/{flusys-ng-storage-folder-form.component-BYOD0A_5.mjs → flusys-ng-storage-folder-form.component-Up9luV7j.mjs} +51 -35
  6. package/fesm2022/flusys-ng-storage-folder-form.component-Up9luV7j.mjs.map +1 -0
  7. package/fesm2022/{flusys-ng-storage-folder-list.component-N6RjQQwv.mjs → flusys-ng-storage-folder-list.component-B52N1JaK.mjs} +60 -51
  8. package/fesm2022/flusys-ng-storage-folder-list.component-B52N1JaK.mjs.map +1 -0
  9. package/fesm2022/{flusys-ng-storage-storage-config-form.component-BdpCYR3c.mjs → flusys-ng-storage-storage-config-form.component-CEW5gpSt.mjs} +99 -87
  10. package/fesm2022/flusys-ng-storage-storage-config-form.component-CEW5gpSt.mjs.map +1 -0
  11. package/fesm2022/{flusys-ng-storage-storage-config-list.component-CtsIrKSq.mjs → flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs} +62 -54
  12. package/fesm2022/flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs.map +1 -0
  13. package/fesm2022/flusys-ng-storage.mjs +95 -94
  14. package/fesm2022/flusys-ng-storage.mjs.map +1 -1
  15. package/package.json +10 -11
  16. package/types/flusys-ng-storage.d.ts +5 -11
  17. package/fesm2022/flusys-ng-storage-file-manager-form.component-DnE4Whts.mjs.map +0 -1
  18. package/fesm2022/flusys-ng-storage-file-manager-list.component-Go5Gqptd.mjs.map +0 -1
  19. package/fesm2022/flusys-ng-storage-folder-form.component-BYOD0A_5.mjs.map +0 -1
  20. package/fesm2022/flusys-ng-storage-folder-list.component-N6RjQQwv.mjs.map +0 -1
  21. package/fesm2022/flusys-ng-storage-storage-config-form.component-BdpCYR3c.mjs.map +0 -1
  22. package/fesm2022/flusys-ng-storage-storage-config-list.component-CtsIrKSq.mjs.map +0 -1
@@ -3,11 +3,11 @@ import { inject, signal, computed, effect, Component } from '@angular/core';
3
3
  import { toSignal } from '@angular/core/rxjs-interop';
4
4
  import { form, required, FormField } from '@angular/forms/signals';
5
5
  import { ActivatedRoute } from '@angular/router';
6
- import { TranslateService, AngularModule, PrimeModule, TranslatePipe } from '@flusys/ng-shared';
6
+ import { TranslateService, AngularModule, TranslatePipe } from '@flusys/ng-shared';
7
7
  import { BaseStoragePage, FolderApiService } from './flusys-ng-storage.mjs';
8
+ import * as i1$1 from '@flusys/ng-ui';
9
+ import { UiModule } from '@flusys/ng-ui';
8
10
  import * as i1 from '@angular/forms';
9
- import * as i1$1 from 'primeng/button';
10
- import * as i3 from 'primeng/inputtext';
11
11
 
12
12
  class FolderFormComponent extends BaseStoragePage {
13
13
  route = inject(ActivatedRoute);
@@ -15,18 +15,22 @@ class FolderFormComponent extends BaseStoragePage {
15
15
  translateService = inject(TranslateService);
16
16
  routeParams = toSignal(this.route.paramMap);
17
17
  initialized = false;
18
- existingFolder = signal(null, ...(ngDevMode ? [{ debugName: "existingFolder" }] : []));
19
- isEditMode = computed(() => !!this.existingFolder(), ...(ngDevMode ? [{ debugName: "isEditMode" }] : []));
18
+ existingFolder = signal(null, /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "existingFolder" }] : /* istanbul ignore next */ []));
20
+ isEditMode = computed(() => !!this.existingFolder(), /* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "isEditMode" }] : /* istanbul ignore next */ []));
20
22
  formModel = signal({
21
23
  id: '',
22
24
  name: '',
23
- }, ...(ngDevMode ? [{ debugName: "formModel" }] : []));
25
+ }, /* @ts-ignore */
26
+ ...(ngDevMode ? [{ debugName: "formModel" }] : /* istanbul ignore next */ []));
24
27
  folderForm = form(this.formModel, (f) => {
25
28
  required(f.name, {
26
29
  message: this.translateService.translate('storage.validation.folder.name.required'),
27
30
  });
28
31
  });
29
- isFormValid = computed(() => this.formModel().name.trim().length > 0, ...(ngDevMode ? [{ debugName: "isFormValid" }] : []));
32
+ isFormValid = computed(() => this.formModel().name.trim().length > 0, /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "isFormValid" }] : /* istanbul ignore next */ []));
30
34
  constructor() {
31
35
  super();
32
36
  effect(() => {
@@ -78,8 +82,8 @@ class FolderFormComponent extends BaseStoragePage {
78
82
  onCancel() {
79
83
  this.navigateTo(['/storage/folders']);
80
84
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: FolderFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: FolderFormComponent, isStandalone: true, selector: "lib-folder-form", usesInheritance: true, ngImport: i0, template: `
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FolderFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FolderFormComponent, isStandalone: true, selector: "lib-folder-form", usesInheritance: true, ngImport: i0, template: `
83
87
  <div class="card">
84
88
  <div class="mb-4">
85
89
  <h3 class="text-lg sm:text-xl font-semibold">
@@ -106,7 +110,7 @@ class FolderFormComponent extends BaseStoragePage {
106
110
  >{{ 'storage.folder.name.required' | translate }}</label
107
111
  >
108
112
  <input
109
- pInputText
113
+ fInputText
110
114
  id="name"
111
115
  [formField]="folderForm.name"
112
116
  [placeholder]="'storage.folder.name.placeholder' | translate"
@@ -116,30 +120,36 @@ class FolderFormComponent extends BaseStoragePage {
116
120
  </div>
117
121
 
118
122
  <div class="flex justify-end gap-2 mt-4">
119
- <p-button
120
- [label]="'shared.cancel' | translate"
123
+ <button
124
+ fButton
121
125
  severity="secondary"
122
126
  [outlined]="true"
123
- (onClick)="onCancel()"
124
- />
125
- <p-button
127
+ (click)="onCancel()"
128
+ >
129
+ <span pButtonLabel>{{ 'shared.cancel' | translate }}</span>
130
+ </button>
131
+ <button
132
+ fButton
126
133
  type="submit"
127
- [label]="
128
- (isEditMode() ? 'shared.update' : 'shared.create') | translate
129
- "
130
- [loading]="isLoading()"
131
134
  [disabled]="!isFormValid() || isLoading()"
132
- />
135
+ >
136
+ @if (isLoading()) {
137
+ <ui-icon pButtonIcon name="spinner" [spin]="true"></ui-icon>
138
+ }
139
+ <span pButtonLabel>{{
140
+ (isEditMode() ? 'shared.update' : 'shared.create') | translate
141
+ }}</span>
142
+ </button>
133
143
  </div>
134
144
  </form>
135
145
  </div>
136
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PrimeModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
146
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: UiModule }, { kind: "directive", type: i1$1.FButtonDirective, selector: "[fButton]", inputs: ["severity", "text", "outlined", "link", "rounded", "raised", "fluid", "disabled", "loading", "size", "label", "icon", "iconPos", "ariaLabel", "plain"] }, { kind: "directive", type: i1$1.InputTextDirective, selector: "[fInputText]", inputs: ["invalid", "touched"] }, { kind: "component", type: i1$1.UiIconComponent, selector: "ui-icon", inputs: ["name", "size", "spin", "fill"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
137
147
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: FolderFormComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FolderFormComponent, decorators: [{
139
149
  type: Component,
140
150
  args: [{
141
151
  selector: 'lib-folder-form',
142
- imports: [AngularModule, PrimeModule, FormField, TranslatePipe],
152
+ imports: [AngularModule, UiModule, FormField, TranslatePipe],
143
153
  template: `
144
154
  <div class="card">
145
155
  <div class="mb-4">
@@ -167,7 +177,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
167
177
  >{{ 'storage.folder.name.required' | translate }}</label
168
178
  >
169
179
  <input
170
- pInputText
180
+ fInputText
171
181
  id="name"
172
182
  [formField]="folderForm.name"
173
183
  [placeholder]="'storage.folder.name.placeholder' | translate"
@@ -177,20 +187,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
177
187
  </div>
178
188
 
179
189
  <div class="flex justify-end gap-2 mt-4">
180
- <p-button
181
- [label]="'shared.cancel' | translate"
190
+ <button
191
+ fButton
182
192
  severity="secondary"
183
193
  [outlined]="true"
184
- (onClick)="onCancel()"
185
- />
186
- <p-button
194
+ (click)="onCancel()"
195
+ >
196
+ <span pButtonLabel>{{ 'shared.cancel' | translate }}</span>
197
+ </button>
198
+ <button
199
+ fButton
187
200
  type="submit"
188
- [label]="
189
- (isEditMode() ? 'shared.update' : 'shared.create') | translate
190
- "
191
- [loading]="isLoading()"
192
201
  [disabled]="!isFormValid() || isLoading()"
193
- />
202
+ >
203
+ @if (isLoading()) {
204
+ <ui-icon pButtonIcon name="spinner" [spin]="true"></ui-icon>
205
+ }
206
+ <span pButtonLabel>{{
207
+ (isEditMode() ? 'shared.update' : 'shared.create') | translate
208
+ }}</span>
209
+ </button>
194
210
  </div>
195
211
  </form>
196
212
  </div>
@@ -199,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
199
215
  }], ctorParameters: () => [] });
200
216
 
201
217
  export { FolderFormComponent };
202
- //# sourceMappingURL=flusys-ng-storage-folder-form.component-BYOD0A_5.mjs.map
218
+ //# sourceMappingURL=flusys-ng-storage-folder-form.component-Up9luV7j.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flusys-ng-storage-folder-form.component-Up9luV7j.mjs","sources":["../../../projects/ng-storage/pages/folder/folder-form.component.ts"],"sourcesContent":["import { Component, computed, effect, inject, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { form, FormField, required } from '@angular/forms/signals';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n AngularModule,\n TranslatePipe,\n TranslateService,\n} from '@flusys/ng-shared';\nimport { IFolder } from '../../interfaces/folder.interface';\nimport { FolderApiService } from '../../services/folder-api.service';\nimport { BaseStoragePage } from '../../utils/base-storage-page';\nimport { UiModule } from '@flusys/ng-ui';\n\ninterface IFolderFormModel {\n id: string;\n name: string;\n}\n\n@Component({\n selector: 'lib-folder-form',\n imports: [AngularModule, UiModule, FormField, TranslatePipe],\n template: `\n <div class=\"card\">\n <div class=\"mb-4\">\n <h3 class=\"text-lg sm:text-xl font-semibold\">\n {{\n (isEditMode()\n ? 'storage.folder.edit.folder'\n : 'storage.folder.new.folder'\n ) | translate\n }}\n </h3>\n @if (showCompanyInfo()) {\n <p class=\"text-sm text-muted-color mt-1\">\n {{ 'shared.company' | translate }}: {{ currentCompanyName() }}\n </p>\n }\n </div>\n\n <form (ngSubmit)=\"onSubmit()\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <div class=\"field\">\n <label\n for=\"name\"\n class=\"block font-medium mb-2 text-sm sm:text-base\"\n >{{ 'storage.folder.name.required' | translate }}</label\n >\n <input\n fInputText\n id=\"name\"\n [formField]=\"folderForm.name\"\n [placeholder]=\"'storage.folder.name.placeholder' | translate\"\n class=\"w-full\"\n />\n </div>\n </div>\n\n <div class=\"flex justify-end gap-2 mt-4\">\n <button\n fButton\n severity=\"secondary\"\n [outlined]=\"true\"\n (click)=\"onCancel()\"\n >\n <span pButtonLabel>{{ 'shared.cancel' | translate }}</span>\n </button>\n <button\n fButton\n type=\"submit\"\n [disabled]=\"!isFormValid() || isLoading()\"\n >\n @if (isLoading()) {\n <ui-icon pButtonIcon name=\"spinner\" [spin]=\"true\"></ui-icon>\n }\n <span pButtonLabel>{{ \n (isEditMode() ? 'shared.update' : 'shared.create') | translate\n }}</span>\n </button>\n </div>\n </form>\n </div>\n `,\n})\nexport class FolderFormComponent extends BaseStoragePage {\n private readonly route = inject(ActivatedRoute);\n private readonly folderService = inject(FolderApiService);\n private readonly translateService = inject(TranslateService);\n\n private readonly routeParams = toSignal(this.route.paramMap);\n private initialized = false;\n\n readonly existingFolder = signal<IFolder | null>(null);\n readonly isEditMode = computed(() => !!this.existingFolder());\n\n readonly formModel = signal<IFolderFormModel>({\n id: '',\n name: '',\n });\n\n readonly folderForm = form(this.formModel, (f) => {\n required(f.name, {\n message: this.translateService.translate(\n 'storage.validation.folder.name.required',\n ),\n });\n });\n\n readonly isFormValid = computed(\n () => this.formModel().name.trim().length > 0,\n );\n\n constructor() {\n super();\n effect(() => {\n const params = this.routeParams();\n if (!params || this.initialized) return;\n\n this.initialized = true;\n const folderId = params.get('id');\n if (folderId && folderId !== 'new') {\n this.loadFolder(folderId);\n }\n });\n }\n\n async loadFolder(id: string): Promise<void> {\n this.isLoading.set(true);\n try {\n const response = await this.folderService.findById(id);\n if (response.success && response.data) {\n const folder = response.data;\n this.existingFolder.set(folder);\n this.formModel.set({ id: folder.id, name: folder.name });\n }\n } finally {\n this.isLoading.set(false);\n }\n }\n\n async onSubmit(): Promise<void> {\n if (!this.isFormValid()) return;\n\n this.isLoading.set(true);\n try {\n const formValue = this.formModel();\n\n const response = this.isEditMode()\n ? await this.folderService.update({\n id: formValue.id,\n name: formValue.name,\n })\n : await this.folderService.insert({ name: formValue.name });\n\n this.showSuccess(\n response.messageKey\n ? this.translateService.translate(\n response.messageKey,\n response.messageVariables as Record<string, string | number>,\n )\n : (response.message ?? ''),\n );\n\n this.navigateTo(['/storage/folders']);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n onCancel(): void {\n this.navigateTo(['/storage/folders']);\n }\n}\n"],"names":["i2"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component } from '@angular/core';
3
- import { FOLDER_PERMISSIONS, TranslateService, AngularModule, PrimeModule, HasPermissionDirective, TranslatePipe } from '@flusys/ng-shared';
3
+ import { FOLDER_PERMISSIONS, TranslateService, AngularModule, HasPermissionDirective, TranslatePipe } from '@flusys/ng-shared';
4
4
  import { BaseStorageListPage, FolderApiService } from './flusys-ng-storage.mjs';
5
- import * as i1 from 'primeng/button';
6
- import * as i2 from 'primeng/table';
7
- import * as i4 from 'primeng/tooltip';
8
- import * as i5 from '@angular/common';
5
+ import * as i1 from '@flusys/ng-ui';
6
+ import { UiModule } from '@flusys/ng-ui';
7
+ import * as i2 from '@angular/common';
9
8
 
10
9
  class FolderListComponent extends BaseStorageListPage {
11
10
  FOLDER_PERMISSIONS = FOLDER_PERMISSIONS;
@@ -40,8 +39,8 @@ class FolderListComponent extends BaseStorageListPage {
40
39
  header: this.translateService.translate('storage.folder.delete.title'),
41
40
  });
42
41
  }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: FolderListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: FolderListComponent, isStandalone: true, selector: "lib-folder-list", usesInheritance: true, ngImport: i0, template: `
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FolderListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: FolderListComponent, isStandalone: true, selector: "lib-folder-list", usesInheritance: true, ngImport: i0, template: `
45
44
  <div class="card">
46
45
  <div
47
46
  class="flex flex-col sm:flex-row sm:justify-between sm:items-center gap-3 mb-4"
@@ -56,17 +55,19 @@ class FolderListComponent extends BaseStorageListPage {
56
55
  </p>
57
56
  }
58
57
  </div>
59
- <p-button
58
+ <button
59
+ fButton
60
60
  *hasPermission="FOLDER_PERMISSIONS.CREATE"
61
- [label]="'storage.button.new.folder' | translate"
62
- icon="pi pi-plus"
63
- (onClick)="onCreate()"
64
- styleClass="w-full sm:w-auto"
65
- />
61
+ (click)="onCreate()"
62
+ class="w-full sm:w-auto"
63
+ >
64
+ <ui-icon pButtonIcon name="plus"></ui-icon>
65
+ <span pButtonLabel>{{ 'storage.button.new.folder' | translate }}</span>
66
+ </button>
66
67
  </div>
67
68
 
68
69
  <div class="overflow-x-auto">
69
- <p-table
70
+ <f-table
70
71
  [value]="folders()"
71
72
  [loading]="isLoading()"
72
73
  [paginator]="totalRecords() > 0"
@@ -76,7 +77,6 @@ class FolderListComponent extends BaseStorageListPage {
76
77
  (onLazyLoad)="onPageChange($event)"
77
78
  [rowsPerPageOptions]="[10, 25, 50]"
78
79
  [scrollable]="true"
79
- styleClass="p-datatable-sm"
80
80
  >
81
81
  <ng-template #header>
82
82
  <tr>
@@ -93,7 +93,7 @@ class FolderListComponent extends BaseStorageListPage {
93
93
  <ng-template #body let-folder>
94
94
  <tr>
95
95
  <td>
96
- <i class="pi pi-folder mr-2"></i>
96
+ <ui-icon name="folder" class="mr-2"></ui-icon>
97
97
  {{ folder.name }}
98
98
  </td>
99
99
  <td>{{ folder.slug }}</td>
@@ -102,26 +102,30 @@ class FolderListComponent extends BaseStorageListPage {
102
102
  </td>
103
103
  <td>
104
104
  <div class="flex gap-1">
105
- <p-button
105
+ <button
106
+ fButton
106
107
  *hasPermission="FOLDER_PERMISSIONS.UPDATE"
107
- icon="pi pi-pencil"
108
108
  [text]="true"
109
109
  severity="secondary"
110
110
  size="small"
111
- (onClick)="onEdit(folder.id)"
112
- [pTooltip]="'shared.edit' | translate"
111
+ (click)="onEdit(folder.id)"
112
+ [fTooltip]="'shared.edit' | translate"
113
113
  tooltipPosition="top"
114
- />
115
- <p-button
114
+ >
115
+ <ui-icon pButtonIcon name="pencil"></ui-icon>
116
+ </button>
117
+ <button
118
+ fButton
116
119
  *hasPermission="FOLDER_PERMISSIONS.DELETE"
117
- icon="pi pi-trash"
118
120
  [text]="true"
119
121
  severity="danger"
120
122
  size="small"
121
- (onClick)="onDeleteFolder(folder)"
122
- [pTooltip]="'shared.delete' | translate"
123
+ (click)="onDeleteFolder(folder)"
124
+ [fTooltip]="'shared.delete' | translate"
123
125
  tooltipPosition="top"
124
- />
126
+ >
127
+ <ui-icon pButtonIcon name="trash"></ui-icon>
128
+ </button>
125
129
  </div>
126
130
  </td>
127
131
  </tr>
@@ -137,16 +141,16 @@ class FolderListComponent extends BaseStorageListPage {
137
141
  </td>
138
142
  </tr>
139
143
  </ng-template>
140
- </p-table>
144
+ </f-table>
141
145
  </div>
142
146
  </div>
143
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularModule }, { kind: "ngmodule", type: PrimeModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: HasPermissionDirective, selector: "[hasPermission]", inputs: ["hasPermission"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
147
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularModule }, { kind: "ngmodule", type: UiModule }, { kind: "directive", type: i1.FButtonDirective, selector: "[fButton]", inputs: ["severity", "text", "outlined", "link", "rounded", "raised", "fluid", "disabled", "loading", "size", "label", "icon", "iconPos", "ariaLabel", "plain"] }, { kind: "component", type: i1.TableComponent, selector: "f-table", inputs: ["value", "lazy", "loading", "rows", "totalRecords", "rowHover", "dataKey", "scrollable", "paginator", "first", "rowsPerPageOptions", "showCurrentPageReport", "currentPageReportTemplate", "tableStyle", "styleClass", "globalFilterFields", "sortField", "sortOrder"], outputs: ["sortFieldChange", "sortOrderChange", "onLazyLoad", "onSort"] }, { kind: "directive", type: i1.TooltipDirective, selector: "[fTooltip]", inputs: ["fTooltip", "tooltipPosition", "tooltipStyleClass", "disabled", "tooltipEvent", "showDelay", "hideDelay"] }, { kind: "component", type: i1.UiIconComponent, selector: "ui-icon", inputs: ["name", "size", "spin", "fill"] }, { kind: "directive", type: HasPermissionDirective, selector: "[hasPermission]", inputs: ["hasPermission"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
144
148
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: FolderListComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FolderListComponent, decorators: [{
146
150
  type: Component,
147
151
  args: [{
148
152
  selector: 'lib-folder-list',
149
- imports: [AngularModule, PrimeModule, HasPermissionDirective, TranslatePipe],
153
+ imports: [AngularModule, UiModule, HasPermissionDirective, TranslatePipe],
150
154
  template: `
151
155
  <div class="card">
152
156
  <div
@@ -162,17 +166,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
162
166
  </p>
163
167
  }
164
168
  </div>
165
- <p-button
169
+ <button
170
+ fButton
166
171
  *hasPermission="FOLDER_PERMISSIONS.CREATE"
167
- [label]="'storage.button.new.folder' | translate"
168
- icon="pi pi-plus"
169
- (onClick)="onCreate()"
170
- styleClass="w-full sm:w-auto"
171
- />
172
+ (click)="onCreate()"
173
+ class="w-full sm:w-auto"
174
+ >
175
+ <ui-icon pButtonIcon name="plus"></ui-icon>
176
+ <span pButtonLabel>{{ 'storage.button.new.folder' | translate }}</span>
177
+ </button>
172
178
  </div>
173
179
 
174
180
  <div class="overflow-x-auto">
175
- <p-table
181
+ <f-table
176
182
  [value]="folders()"
177
183
  [loading]="isLoading()"
178
184
  [paginator]="totalRecords() > 0"
@@ -182,7 +188,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
182
188
  (onLazyLoad)="onPageChange($event)"
183
189
  [rowsPerPageOptions]="[10, 25, 50]"
184
190
  [scrollable]="true"
185
- styleClass="p-datatable-sm"
186
191
  >
187
192
  <ng-template #header>
188
193
  <tr>
@@ -199,7 +204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
199
204
  <ng-template #body let-folder>
200
205
  <tr>
201
206
  <td>
202
- <i class="pi pi-folder mr-2"></i>
207
+ <ui-icon name="folder" class="mr-2"></ui-icon>
203
208
  {{ folder.name }}
204
209
  </td>
205
210
  <td>{{ folder.slug }}</td>
@@ -208,26 +213,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
208
213
  </td>
209
214
  <td>
210
215
  <div class="flex gap-1">
211
- <p-button
216
+ <button
217
+ fButton
212
218
  *hasPermission="FOLDER_PERMISSIONS.UPDATE"
213
- icon="pi pi-pencil"
214
219
  [text]="true"
215
220
  severity="secondary"
216
221
  size="small"
217
- (onClick)="onEdit(folder.id)"
218
- [pTooltip]="'shared.edit' | translate"
222
+ (click)="onEdit(folder.id)"
223
+ [fTooltip]="'shared.edit' | translate"
219
224
  tooltipPosition="top"
220
- />
221
- <p-button
225
+ >
226
+ <ui-icon pButtonIcon name="pencil"></ui-icon>
227
+ </button>
228
+ <button
229
+ fButton
222
230
  *hasPermission="FOLDER_PERMISSIONS.DELETE"
223
- icon="pi pi-trash"
224
231
  [text]="true"
225
232
  severity="danger"
226
233
  size="small"
227
- (onClick)="onDeleteFolder(folder)"
228
- [pTooltip]="'shared.delete' | translate"
234
+ (click)="onDeleteFolder(folder)"
235
+ [fTooltip]="'shared.delete' | translate"
229
236
  tooltipPosition="top"
230
- />
237
+ >
238
+ <ui-icon pButtonIcon name="trash"></ui-icon>
239
+ </button>
231
240
  </div>
232
241
  </td>
233
242
  </tr>
@@ -243,7 +252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
243
252
  </td>
244
253
  </tr>
245
254
  </ng-template>
246
- </p-table>
255
+ </f-table>
247
256
  </div>
248
257
  </div>
249
258
  `,
@@ -251,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
251
260
  }] });
252
261
 
253
262
  export { FolderListComponent };
254
- //# sourceMappingURL=flusys-ng-storage-folder-list.component-N6RjQQwv.mjs.map
263
+ //# sourceMappingURL=flusys-ng-storage-folder-list.component-B52N1JaK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flusys-ng-storage-folder-list.component-B52N1JaK.mjs","sources":["../../../projects/ng-storage/pages/folder/folder-list.component.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport {\n AngularModule,\n FOLDER_PERMISSIONS,\n HasPermissionDirective,\n TranslatePipe,\n TranslateService,\n} from '@flusys/ng-shared';\nimport { IFolder } from '../../interfaces/folder.interface';\nimport { FolderApiService } from '../../services/folder-api.service';\nimport { BaseStorageListPage } from '../../utils/base-storage-page';\nimport { UiModule } from '@flusys/ng-ui';\n\n@Component({\n selector: 'lib-folder-list',\n imports: [AngularModule, UiModule, HasPermissionDirective, TranslatePipe],\n template: `\n <div class=\"card\">\n <div\n class=\"flex flex-col sm:flex-row sm:justify-between sm:items-center gap-3 mb-4\"\n >\n <div>\n <h3 class=\"text-lg sm:text-xl font-semibold\">\n {{ 'storage.folder.title' | translate }}\n </h3>\n @if (showCompanyInfo()) {\n <p class=\"text-sm text-muted-color mt-1\">\n {{ 'shared.company' | translate }}: {{ currentCompanyName() }}\n </p>\n }\n </div>\n <button\n fButton\n *hasPermission=\"FOLDER_PERMISSIONS.CREATE\"\n (click)=\"onCreate()\"\n class=\"w-full sm:w-auto\"\n >\n <ui-icon pButtonIcon name=\"plus\"></ui-icon>\n <span pButtonLabel>{{ 'storage.button.new.folder' | translate }}</span>\n </button>\n </div>\n\n <div class=\"overflow-x-auto\">\n <f-table\n [value]=\"folders()\"\n [loading]=\"isLoading()\"\n [paginator]=\"totalRecords() > 0\"\n [rows]=\"pageSize()\"\n [totalRecords]=\"totalRecords()\"\n [lazy]=\"true\"\n (onLazyLoad)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"[10, 25, 50]\"\n [scrollable]=\"true\"\n >\n <ng-template #header>\n <tr>\n <th>{{ 'shared.name' | translate }}</th>\n <th>{{ 'storage.table.slug' | translate }}</th>\n <th class=\"hidden sm:table-cell\">\n {{ 'storage.table.created' | translate }}\n </th>\n <th class=\"w-[120px]\">\n {{ 'shared.actions' | translate }}\n </th>\n </tr>\n </ng-template>\n <ng-template #body let-folder>\n <tr>\n <td>\n <ui-icon name=\"folder\" class=\"mr-2\"></ui-icon>\n {{ folder.name }}\n </td>\n <td>{{ folder.slug }}</td>\n <td class=\"hidden sm:table-cell\">\n {{ folder.createdAt | date: 'short' }}\n </td>\n <td>\n <div class=\"flex gap-1\">\n <button\n fButton\n *hasPermission=\"FOLDER_PERMISSIONS.UPDATE\"\n [text]=\"true\"\n severity=\"secondary\"\n size=\"small\"\n (click)=\"onEdit(folder.id)\"\n [fTooltip]=\"'shared.edit' | translate\"\n tooltipPosition=\"top\"\n >\n <ui-icon pButtonIcon name=\"pencil\"></ui-icon>\n </button>\n <button\n fButton\n *hasPermission=\"FOLDER_PERMISSIONS.DELETE\"\n [text]=\"true\"\n severity=\"danger\"\n size=\"small\"\n (click)=\"onDeleteFolder(folder)\"\n [fTooltip]=\"'shared.delete' | translate\"\n tooltipPosition=\"top\"\n >\n <ui-icon pButtonIcon name=\"trash\"></ui-icon>\n </button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template #emptymessage>\n <tr>\n <td colspan=\"4\" class=\"text-center py-4 text-muted-color\">\n @if (showCompanyInfo()) {\n {{ 'storage.empty.folders.in.company' | translate }}\n } @else {\n {{ 'storage.empty.folders' | translate }}\n }\n </td>\n </tr>\n </ng-template>\n </f-table>\n </div>\n </div>\n `,\n})\nexport class FolderListComponent extends BaseStorageListPage<IFolder> {\n readonly FOLDER_PERMISSIONS = FOLDER_PERMISSIONS;\n\n private readonly folderService = inject(FolderApiService);\n private readonly translateService = inject(TranslateService);\n\n readonly folders = this.items;\n\n getResourceRoute(): string {\n return '/storage/folders';\n }\n\n override getDeleteConfirmMessage(folder: IFolder): string {\n return this.translateService.translate('shared.confirm.delete.item', {\n name: folder.name,\n });\n }\n\n async loadData(): Promise<void> {\n this.isLoading.set(true);\n try {\n const response = await this.folderService.getAll({\n pagination: this.getPaginationParams(),\n });\n if (response.success) {\n this.items.set(response.data ?? []);\n this.total.set(response.meta?.total ?? 0);\n }\n } finally {\n this.isLoading.set(false);\n }\n }\n\n onDeleteFolder(folder: IFolder): void {\n this.onDeleteAsync(\n folder,\n (f) => f.id,\n (id) => this.folderService.delete({ id, type: 'delete' }),\n {\n header: this.translateService.translate('storage.folder.delete.title'),\n },\n );\n }\n}\n"],"names":[],"mappings":"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"}