@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.
- package/fesm2022/{flusys-ng-storage-file-manager-form.component--W6sWv7W.mjs → flusys-ng-storage-file-manager-form.component-V-ZDWkKU.mjs} +83 -126
- package/fesm2022/flusys-ng-storage-file-manager-form.component-V-ZDWkKU.mjs.map +1 -0
- package/fesm2022/{flusys-ng-storage-file-manager-list.component-D_shqU2a.mjs → flusys-ng-storage-file-manager-list.component-DqHH9lI0.mjs} +76 -74
- package/fesm2022/flusys-ng-storage-file-manager-list.component-DqHH9lI0.mjs.map +1 -0
- package/fesm2022/{flusys-ng-storage-folder-form.component-BK2EWeV4.mjs → flusys-ng-storage-folder-form.component-Up9luV7j.mjs} +17 -17
- package/fesm2022/flusys-ng-storage-folder-form.component-Up9luV7j.mjs.map +1 -0
- package/fesm2022/{flusys-ng-storage-folder-list.component-aQXBRZiN.mjs → flusys-ng-storage-folder-list.component-B52N1JaK.mjs} +32 -35
- package/fesm2022/flusys-ng-storage-folder-list.component-B52N1JaK.mjs.map +1 -0
- package/fesm2022/{flusys-ng-storage-storage-config-form.component-ByRs-CSx.mjs → flusys-ng-storage-storage-config-form.component-CEW5gpSt.mjs} +63 -68
- package/fesm2022/flusys-ng-storage-storage-config-form.component-CEW5gpSt.mjs.map +1 -0
- package/fesm2022/{flusys-ng-storage-storage-config-list.component-cjiA8k2G.mjs → flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs} +34 -38
- package/fesm2022/flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs.map +1 -0
- package/fesm2022/flusys-ng-storage.mjs +72 -83
- package/fesm2022/flusys-ng-storage.mjs.map +1 -1
- package/package.json +5 -7
- package/types/flusys-ng-storage.d.ts +5 -11
- package/fesm2022/flusys-ng-storage-file-manager-form.component--W6sWv7W.mjs.map +0 -1
- package/fesm2022/flusys-ng-storage-file-manager-list.component-D_shqU2a.mjs.map +0 -1
- package/fesm2022/flusys-ng-storage-folder-form.component-BK2EWeV4.mjs.map +0 -1
- package/fesm2022/flusys-ng-storage-folder-list.component-aQXBRZiN.mjs.map +0 -1
- package/fesm2022/flusys-ng-storage-storage-config-form.component-ByRs-CSx.mjs.map +0 -1
- package/fesm2022/flusys-ng-storage-storage-config-list.component-cjiA8k2G.mjs.map +0 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Component } from '@angular/core';
|
|
3
|
-
import { STORAGE_CONFIG_PERMISSIONS, TranslateService, AngularModule,
|
|
3
|
+
import { STORAGE_CONFIG_PERMISSIONS, TranslateService, AngularModule, HasPermissionDirective, TranslatePipe } from '@flusys/ng-shared';
|
|
4
|
+
import * as i1 from '@flusys/ng-ui';
|
|
5
|
+
import { UiModule } from '@flusys/ng-ui';
|
|
4
6
|
import { BaseStorageListPage, StorageConfigApiService, getProviderIcon, getProviderLabelKey, getProviderSeverity } from './flusys-ng-storage.mjs';
|
|
5
|
-
import * as
|
|
6
|
-
import * as i2 from 'primeng/table';
|
|
7
|
-
import * as i3 from 'primeng/tag';
|
|
8
|
-
import * as i4 from 'primeng/tooltip';
|
|
9
|
-
import * as i5 from '@angular/common';
|
|
7
|
+
import * as i2 from '@angular/common';
|
|
10
8
|
|
|
11
9
|
class StorageConfigListComponent extends BaseStorageListPage {
|
|
12
10
|
STORAGE_CONFIG_PERMISSIONS = STORAGE_CONFIG_PERMISSIONS;
|
|
@@ -46,8 +44,8 @@ class StorageConfigListComponent extends BaseStorageListPage {
|
|
|
46
44
|
header: this.translateService.translate('storage.config.delete.title'),
|
|
47
45
|
});
|
|
48
46
|
}
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: StorageConfigListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: StorageConfigListComponent, isStandalone: true, selector: "lib-storage-config-list", usesInheritance: true, ngImport: i0, template: `
|
|
51
49
|
<div class="card">
|
|
52
50
|
<div
|
|
53
51
|
class="flex flex-col sm:flex-row sm:justify-between sm:items-center gap-3 mb-4"
|
|
@@ -63,18 +61,18 @@ class StorageConfigListComponent extends BaseStorageListPage {
|
|
|
63
61
|
}
|
|
64
62
|
</div>
|
|
65
63
|
<button
|
|
66
|
-
|
|
64
|
+
fButton
|
|
67
65
|
*hasPermission="STORAGE_CONFIG_PERMISSIONS.CREATE"
|
|
68
66
|
(click)="onCreate()"
|
|
69
67
|
class="w-full sm:w-auto"
|
|
70
68
|
>
|
|
71
|
-
<
|
|
69
|
+
<ui-icon pButtonIcon name="plus"></ui-icon>
|
|
72
70
|
<span pButtonLabel>{{ 'storage.button.new.configuration' | translate }}</span>
|
|
73
71
|
</button>
|
|
74
72
|
</div>
|
|
75
73
|
|
|
76
74
|
<div class="overflow-x-auto">
|
|
77
|
-
<
|
|
75
|
+
<f-table
|
|
78
76
|
[value]="items()"
|
|
79
77
|
[loading]="isLoading()"
|
|
80
78
|
[paginator]="totalRecords() > 0"
|
|
@@ -84,7 +82,6 @@ class StorageConfigListComponent extends BaseStorageListPage {
|
|
|
84
82
|
(onLazyLoad)="onPageChange($event)"
|
|
85
83
|
[rowsPerPageOptions]="[10, 25, 50]"
|
|
86
84
|
[scrollable]="true"
|
|
87
|
-
styleClass="p-datatable-sm"
|
|
88
85
|
>
|
|
89
86
|
<ng-template #header>
|
|
90
87
|
<tr>
|
|
@@ -102,14 +99,14 @@ class StorageConfigListComponent extends BaseStorageListPage {
|
|
|
102
99
|
<tr>
|
|
103
100
|
<td>
|
|
104
101
|
<div class="flex items-center gap-2">
|
|
105
|
-
<
|
|
102
|
+
<ui-icon [name]="getProviderIcon(config.storage)"></ui-icon>
|
|
106
103
|
<span class="truncate max-w-32 sm:max-w-none">{{
|
|
107
104
|
config.name
|
|
108
105
|
}}</span>
|
|
109
106
|
</div>
|
|
110
107
|
</td>
|
|
111
108
|
<td>
|
|
112
|
-
<
|
|
109
|
+
<f-tag
|
|
113
110
|
[value]="getProviderLabelKey(config.storage) | translate"
|
|
114
111
|
[severity]="getProviderSeverity(config.storage)"
|
|
115
112
|
/>
|
|
@@ -120,28 +117,28 @@ class StorageConfigListComponent extends BaseStorageListPage {
|
|
|
120
117
|
<td>
|
|
121
118
|
<div class="flex gap-1">
|
|
122
119
|
<button
|
|
123
|
-
|
|
120
|
+
fButton
|
|
124
121
|
*hasPermission="STORAGE_CONFIG_PERMISSIONS.UPDATE"
|
|
125
122
|
[text]="true"
|
|
126
123
|
severity="secondary"
|
|
127
124
|
size="small"
|
|
128
125
|
(click)="onEdit(config.id)"
|
|
129
|
-
[
|
|
126
|
+
[fTooltip]="'shared.edit' | translate"
|
|
130
127
|
tooltipPosition="top"
|
|
131
128
|
>
|
|
132
|
-
<
|
|
129
|
+
<ui-icon pButtonIcon name="pencil"></ui-icon>
|
|
133
130
|
</button>
|
|
134
131
|
<button
|
|
135
|
-
|
|
132
|
+
fButton
|
|
136
133
|
*hasPermission="STORAGE_CONFIG_PERMISSIONS.DELETE"
|
|
137
134
|
[text]="true"
|
|
138
135
|
severity="danger"
|
|
139
136
|
size="small"
|
|
140
137
|
(click)="onDeleteConfig(config)"
|
|
141
|
-
[
|
|
138
|
+
[fTooltip]="'shared.delete' | translate"
|
|
142
139
|
tooltipPosition="top"
|
|
143
140
|
>
|
|
144
|
-
<
|
|
141
|
+
<ui-icon pButtonIcon name="trash"></ui-icon>
|
|
145
142
|
</button>
|
|
146
143
|
</div>
|
|
147
144
|
</td>
|
|
@@ -159,16 +156,16 @@ class StorageConfigListComponent extends BaseStorageListPage {
|
|
|
159
156
|
</td>
|
|
160
157
|
</tr>
|
|
161
158
|
</ng-template>
|
|
162
|
-
</
|
|
159
|
+
</f-table>
|
|
163
160
|
</div>
|
|
164
161
|
</div>
|
|
165
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type:
|
|
162
|
+
`, isInline: true, dependencies: [{ 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.TagComponent, selector: "f-tag", inputs: ["value", "severity", "icon", "rounded", "color"] }, { 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: "ngmodule", type: AngularModule }, { kind: "directive", type: HasPermissionDirective, selector: "[hasPermission]", inputs: ["hasPermission"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
166
163
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: StorageConfigListComponent, decorators: [{
|
|
168
165
|
type: Component,
|
|
169
166
|
args: [{
|
|
170
167
|
selector: 'lib-storage-config-list',
|
|
171
|
-
imports: [
|
|
168
|
+
imports: [UiModule, AngularModule, HasPermissionDirective, TranslatePipe],
|
|
172
169
|
template: `
|
|
173
170
|
<div class="card">
|
|
174
171
|
<div
|
|
@@ -185,18 +182,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
185
182
|
}
|
|
186
183
|
</div>
|
|
187
184
|
<button
|
|
188
|
-
|
|
185
|
+
fButton
|
|
189
186
|
*hasPermission="STORAGE_CONFIG_PERMISSIONS.CREATE"
|
|
190
187
|
(click)="onCreate()"
|
|
191
188
|
class="w-full sm:w-auto"
|
|
192
189
|
>
|
|
193
|
-
<
|
|
190
|
+
<ui-icon pButtonIcon name="plus"></ui-icon>
|
|
194
191
|
<span pButtonLabel>{{ 'storage.button.new.configuration' | translate }}</span>
|
|
195
192
|
</button>
|
|
196
193
|
</div>
|
|
197
194
|
|
|
198
195
|
<div class="overflow-x-auto">
|
|
199
|
-
<
|
|
196
|
+
<f-table
|
|
200
197
|
[value]="items()"
|
|
201
198
|
[loading]="isLoading()"
|
|
202
199
|
[paginator]="totalRecords() > 0"
|
|
@@ -206,7 +203,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
206
203
|
(onLazyLoad)="onPageChange($event)"
|
|
207
204
|
[rowsPerPageOptions]="[10, 25, 50]"
|
|
208
205
|
[scrollable]="true"
|
|
209
|
-
styleClass="p-datatable-sm"
|
|
210
206
|
>
|
|
211
207
|
<ng-template #header>
|
|
212
208
|
<tr>
|
|
@@ -224,14 +220,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
224
220
|
<tr>
|
|
225
221
|
<td>
|
|
226
222
|
<div class="flex items-center gap-2">
|
|
227
|
-
<
|
|
223
|
+
<ui-icon [name]="getProviderIcon(config.storage)"></ui-icon>
|
|
228
224
|
<span class="truncate max-w-32 sm:max-w-none">{{
|
|
229
225
|
config.name
|
|
230
226
|
}}</span>
|
|
231
227
|
</div>
|
|
232
228
|
</td>
|
|
233
229
|
<td>
|
|
234
|
-
<
|
|
230
|
+
<f-tag
|
|
235
231
|
[value]="getProviderLabelKey(config.storage) | translate"
|
|
236
232
|
[severity]="getProviderSeverity(config.storage)"
|
|
237
233
|
/>
|
|
@@ -242,28 +238,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
242
238
|
<td>
|
|
243
239
|
<div class="flex gap-1">
|
|
244
240
|
<button
|
|
245
|
-
|
|
241
|
+
fButton
|
|
246
242
|
*hasPermission="STORAGE_CONFIG_PERMISSIONS.UPDATE"
|
|
247
243
|
[text]="true"
|
|
248
244
|
severity="secondary"
|
|
249
245
|
size="small"
|
|
250
246
|
(click)="onEdit(config.id)"
|
|
251
|
-
[
|
|
247
|
+
[fTooltip]="'shared.edit' | translate"
|
|
252
248
|
tooltipPosition="top"
|
|
253
249
|
>
|
|
254
|
-
<
|
|
250
|
+
<ui-icon pButtonIcon name="pencil"></ui-icon>
|
|
255
251
|
</button>
|
|
256
252
|
<button
|
|
257
|
-
|
|
253
|
+
fButton
|
|
258
254
|
*hasPermission="STORAGE_CONFIG_PERMISSIONS.DELETE"
|
|
259
255
|
[text]="true"
|
|
260
256
|
severity="danger"
|
|
261
257
|
size="small"
|
|
262
258
|
(click)="onDeleteConfig(config)"
|
|
263
|
-
[
|
|
259
|
+
[fTooltip]="'shared.delete' | translate"
|
|
264
260
|
tooltipPosition="top"
|
|
265
261
|
>
|
|
266
|
-
<
|
|
262
|
+
<ui-icon pButtonIcon name="trash"></ui-icon>
|
|
267
263
|
</button>
|
|
268
264
|
</div>
|
|
269
265
|
</td>
|
|
@@ -281,7 +277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
281
277
|
</td>
|
|
282
278
|
</tr>
|
|
283
279
|
</ng-template>
|
|
284
|
-
</
|
|
280
|
+
</f-table>
|
|
285
281
|
</div>
|
|
286
282
|
</div>
|
|
287
283
|
`,
|
|
@@ -289,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
289
285
|
}] });
|
|
290
286
|
|
|
291
287
|
export { StorageConfigListComponent };
|
|
292
|
-
//# sourceMappingURL=flusys-ng-storage-storage-config-list.component-
|
|
288
|
+
//# sourceMappingURL=flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flusys-ng-storage-storage-config-list.component-C-jaO7xD.mjs","sources":["../../../projects/ng-storage/pages/storage-config/storage-config-list.component.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport {\n AngularModule,\n HasPermissionDirective,\n STORAGE_CONFIG_PERMISSIONS,\n TranslatePipe,\n TranslateService,\n} from '@flusys/ng-shared';\nimport { UiModule } from '@flusys/ng-ui';\nimport { IStorageConfig } from '../../interfaces/storage-config.interface';\nimport { StorageConfigApiService } from '../../services/storage-config-api.service';\nimport { BaseStorageListPage } from '../../utils/base-storage-page';\nimport {\n getProviderIcon,\n getProviderLabelKey,\n getProviderSeverity,\n} from '../../utils/storage-utils';\n\n@Component({\n selector: 'lib-storage-config-list',\n imports: [UiModule, AngularModule, 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.config.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=\"STORAGE_CONFIG_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.configuration' | translate }}</span>\n </button>\n </div>\n\n <div class=\"overflow-x-auto\">\n <f-table\n [value]=\"items()\"\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.provider' | 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-config>\n <tr>\n <td>\n <div class=\"flex items-center gap-2\">\n <ui-icon [name]=\"getProviderIcon(config.storage)\"></ui-icon>\n <span class=\"truncate max-w-32 sm:max-w-none\">{{\n config.name\n }}</span>\n </div>\n </td>\n <td>\n <f-tag\n [value]=\"getProviderLabelKey(config.storage) | translate\"\n [severity]=\"getProviderSeverity(config.storage)\"\n />\n </td>\n <td class=\"hidden sm:table-cell\">\n {{ config.createdAt | date: 'short' }}\n </td>\n <td>\n <div class=\"flex gap-1\">\n <button\n fButton\n *hasPermission=\"STORAGE_CONFIG_PERMISSIONS.UPDATE\"\n [text]=\"true\"\n severity=\"secondary\"\n size=\"small\"\n (click)=\"onEdit(config.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=\"STORAGE_CONFIG_PERMISSIONS.DELETE\"\n [text]=\"true\"\n severity=\"danger\"\n size=\"small\"\n (click)=\"onDeleteConfig(config)\"\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 {{\n (showCompanyInfo()\n ? 'storage.empty.configs.in.company'\n : 'storage.empty.configs'\n ) | translate\n }}\n </td>\n </tr>\n </ng-template>\n </f-table>\n </div>\n </div>\n `,\n})\nexport class StorageConfigListComponent extends BaseStorageListPage<IStorageConfig> {\n readonly STORAGE_CONFIG_PERMISSIONS = STORAGE_CONFIG_PERMISSIONS;\n\n private readonly configService = inject(StorageConfigApiService);\n private readonly translateService = inject(TranslateService);\n\n readonly getProviderIcon = getProviderIcon;\n readonly getProviderLabelKey = getProviderLabelKey;\n readonly getProviderSeverity = getProviderSeverity;\n\n getResourceRoute(): string {\n return '/storage/configs';\n }\n\n override getDeleteConfirmMessage(config: IStorageConfig): string {\n return this.translateService.translate('shared.confirm.delete.item', {\n name: config.name,\n });\n }\n\n async loadData(): Promise<void> {\n this.isLoading.set(true);\n try {\n const response = await this.configService.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 } catch {\n this.showError(\n this.translateService.translate('storage.config.load.failed'),\n );\n } finally {\n this.isLoading.set(false);\n }\n }\n\n onDeleteConfig(config: IStorageConfig): void {\n this.onDeleteAsync(\n config,\n (c) => c.id,\n (id) => this.configService.delete({ id, type: 'delete' }),\n {\n header: this.translateService.translate('storage.config.delete.title'),\n },\n );\n }\n}\n"],"names":[],"mappings":"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"}
|