@flusys/ng-storage 5.5.0 → 6.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/fesm2022/{flusys-ng-storage-file-manager-form.component--W6sWv7W.mjs → flusys-ng-storage-file-manager-form.component-V-ZDWkKU.mjs} +83 -126
  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-D_shqU2a.mjs → flusys-ng-storage-file-manager-list.component-DqHH9lI0.mjs} +76 -74
  4. package/fesm2022/flusys-ng-storage-file-manager-list.component-DqHH9lI0.mjs.map +1 -0
  5. package/fesm2022/{flusys-ng-storage-folder-form.component-BK2EWeV4.mjs → flusys-ng-storage-folder-form.component-Up9luV7j.mjs} +17 -17
  6. package/fesm2022/flusys-ng-storage-folder-form.component-Up9luV7j.mjs.map +1 -0
  7. package/fesm2022/{flusys-ng-storage-folder-list.component-aQXBRZiN.mjs → flusys-ng-storage-folder-list.component-B52N1JaK.mjs} +32 -35
  8. package/fesm2022/flusys-ng-storage-folder-list.component-B52N1JaK.mjs.map +1 -0
  9. package/fesm2022/{flusys-ng-storage-storage-config-form.component-ByRs-CSx.mjs → flusys-ng-storage-storage-config-form.component-CEW5gpSt.mjs} +63 -68
  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-cjiA8k2G.mjs → flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs} +34 -38
  12. package/fesm2022/flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs.map +1 -0
  13. package/fesm2022/flusys-ng-storage.mjs +72 -83
  14. package/fesm2022/flusys-ng-storage.mjs.map +1 -1
  15. package/package.json +5 -7
  16. package/types/flusys-ng-storage.d.ts +5 -11
  17. package/fesm2022/flusys-ng-storage-file-manager-form.component--W6sWv7W.mjs.map +0 -1
  18. package/fesm2022/flusys-ng-storage-file-manager-list.component-D_shqU2a.mjs.map +0 -1
  19. package/fesm2022/flusys-ng-storage-folder-form.component-BK2EWeV4.mjs.map +0 -1
  20. package/fesm2022/flusys-ng-storage-folder-list.component-aQXBRZiN.mjs.map +0 -1
  21. package/fesm2022/flusys-ng-storage-storage-config-form.component-ByRs-CSx.mjs.map +0 -1
  22. package/fesm2022/flusys-ng-storage-storage-config-list.component-cjiA8k2G.mjs.map +0 -1
@@ -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: "22.0.5", ngImport: i0, type: FolderListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.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"
@@ -57,18 +56,18 @@ class FolderListComponent extends BaseStorageListPage {
57
56
  }
58
57
  </div>
59
58
  <button
60
- pButton
59
+ fButton
61
60
  *hasPermission="FOLDER_PERMISSIONS.CREATE"
62
61
  (click)="onCreate()"
63
62
  class="w-full sm:w-auto"
64
63
  >
65
- <span pButtonIcon class="pi pi-plus"></span>
64
+ <ui-icon pButtonIcon name="plus"></ui-icon>
66
65
  <span pButtonLabel>{{ 'storage.button.new.folder' | translate }}</span>
67
66
  </button>
68
67
  </div>
69
68
 
70
69
  <div class="overflow-x-auto">
71
- <p-table
70
+ <f-table
72
71
  [value]="folders()"
73
72
  [loading]="isLoading()"
74
73
  [paginator]="totalRecords() > 0"
@@ -78,7 +77,6 @@ class FolderListComponent extends BaseStorageListPage {
78
77
  (onLazyLoad)="onPageChange($event)"
79
78
  [rowsPerPageOptions]="[10, 25, 50]"
80
79
  [scrollable]="true"
81
- styleClass="p-datatable-sm"
82
80
  >
83
81
  <ng-template #header>
84
82
  <tr>
@@ -95,7 +93,7 @@ class FolderListComponent extends BaseStorageListPage {
95
93
  <ng-template #body let-folder>
96
94
  <tr>
97
95
  <td>
98
- <i class="pi pi-folder mr-2"></i>
96
+ <ui-icon name="folder" class="mr-2"></ui-icon>
99
97
  {{ folder.name }}
100
98
  </td>
101
99
  <td>{{ folder.slug }}</td>
@@ -105,28 +103,28 @@ class FolderListComponent extends BaseStorageListPage {
105
103
  <td>
106
104
  <div class="flex gap-1">
107
105
  <button
108
- pButton
106
+ fButton
109
107
  *hasPermission="FOLDER_PERMISSIONS.UPDATE"
110
108
  [text]="true"
111
109
  severity="secondary"
112
110
  size="small"
113
111
  (click)="onEdit(folder.id)"
114
- [pTooltip]="'shared.edit' | translate"
112
+ [fTooltip]="'shared.edit' | translate"
115
113
  tooltipPosition="top"
116
114
  >
117
- <span pButtonIcon class="pi pi-pencil"></span>
115
+ <ui-icon pButtonIcon name="pencil"></ui-icon>
118
116
  </button>
119
117
  <button
120
- pButton
118
+ fButton
121
119
  *hasPermission="FOLDER_PERMISSIONS.DELETE"
122
120
  [text]="true"
123
121
  severity="danger"
124
122
  size="small"
125
123
  (click)="onDeleteFolder(folder)"
126
- [pTooltip]="'shared.delete' | translate"
124
+ [fTooltip]="'shared.delete' | translate"
127
125
  tooltipPosition="top"
128
126
  >
129
- <span pButtonIcon class="pi pi-trash"></span>
127
+ <ui-icon pButtonIcon name="trash"></ui-icon>
130
128
  </button>
131
129
  </div>
132
130
  </td>
@@ -143,16 +141,16 @@ class FolderListComponent extends BaseStorageListPage {
143
141
  </td>
144
142
  </tr>
145
143
  </ng-template>
146
- </p-table>
144
+ </f-table>
147
145
  </div>
148
146
  </div>
149
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AngularModule }, { kind: "ngmodule", type: PrimeModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["pButton", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "link", "rounded", "fluid", "variant", "iconOnly", "loading", "severity"] }, { kind: "directive", type: i1.ButtonLabel, selector: "[pButtonLabel]", inputs: ["pButtonLabelPT", "pButtonLabelUnstyled"] }, { kind: "directive", type: i1.ButtonIcon, selector: "[pButtonIcon]", inputs: ["pButtonIconPT", "pButtonUnstyled"] }, { kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "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", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "firstChange", "rowsChange", "totalRecordsChange", "selectionChange", "selectAllChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "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", "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" }] });
150
148
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FolderListComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: FolderListComponent, decorators: [{
152
150
  type: Component,
153
151
  args: [{
154
152
  selector: 'lib-folder-list',
155
- imports: [AngularModule, PrimeModule, HasPermissionDirective, TranslatePipe],
153
+ imports: [AngularModule, UiModule, HasPermissionDirective, TranslatePipe],
156
154
  template: `
157
155
  <div class="card">
158
156
  <div
@@ -169,18 +167,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
169
167
  }
170
168
  </div>
171
169
  <button
172
- pButton
170
+ fButton
173
171
  *hasPermission="FOLDER_PERMISSIONS.CREATE"
174
172
  (click)="onCreate()"
175
173
  class="w-full sm:w-auto"
176
174
  >
177
- <span pButtonIcon class="pi pi-plus"></span>
175
+ <ui-icon pButtonIcon name="plus"></ui-icon>
178
176
  <span pButtonLabel>{{ 'storage.button.new.folder' | translate }}</span>
179
177
  </button>
180
178
  </div>
181
179
 
182
180
  <div class="overflow-x-auto">
183
- <p-table
181
+ <f-table
184
182
  [value]="folders()"
185
183
  [loading]="isLoading()"
186
184
  [paginator]="totalRecords() > 0"
@@ -190,7 +188,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
190
188
  (onLazyLoad)="onPageChange($event)"
191
189
  [rowsPerPageOptions]="[10, 25, 50]"
192
190
  [scrollable]="true"
193
- styleClass="p-datatable-sm"
194
191
  >
195
192
  <ng-template #header>
196
193
  <tr>
@@ -207,7 +204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
207
204
  <ng-template #body let-folder>
208
205
  <tr>
209
206
  <td>
210
- <i class="pi pi-folder mr-2"></i>
207
+ <ui-icon name="folder" class="mr-2"></ui-icon>
211
208
  {{ folder.name }}
212
209
  </td>
213
210
  <td>{{ folder.slug }}</td>
@@ -217,28 +214,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
217
214
  <td>
218
215
  <div class="flex gap-1">
219
216
  <button
220
- pButton
217
+ fButton
221
218
  *hasPermission="FOLDER_PERMISSIONS.UPDATE"
222
219
  [text]="true"
223
220
  severity="secondary"
224
221
  size="small"
225
222
  (click)="onEdit(folder.id)"
226
- [pTooltip]="'shared.edit' | translate"
223
+ [fTooltip]="'shared.edit' | translate"
227
224
  tooltipPosition="top"
228
225
  >
229
- <span pButtonIcon class="pi pi-pencil"></span>
226
+ <ui-icon pButtonIcon name="pencil"></ui-icon>
230
227
  </button>
231
228
  <button
232
- pButton
229
+ fButton
233
230
  *hasPermission="FOLDER_PERMISSIONS.DELETE"
234
231
  [text]="true"
235
232
  severity="danger"
236
233
  size="small"
237
234
  (click)="onDeleteFolder(folder)"
238
- [pTooltip]="'shared.delete' | translate"
235
+ [fTooltip]="'shared.delete' | translate"
239
236
  tooltipPosition="top"
240
237
  >
241
- <span pButtonIcon class="pi pi-trash"></span>
238
+ <ui-icon pButtonIcon name="trash"></ui-icon>
242
239
  </button>
243
240
  </div>
244
241
  </td>
@@ -255,7 +252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
255
252
  </td>
256
253
  </tr>
257
254
  </ng-template>
258
- </p-table>
255
+ </f-table>
259
256
  </div>
260
257
  </div>
261
258
  `,
@@ -263,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
263
260
  }] });
264
261
 
265
262
  export { FolderListComponent };
266
- //# sourceMappingURL=flusys-ng-storage-folder-list.component-aQXBRZiN.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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"}