@eqproject/eqp-attachments 3.1.2 → 3.1.4
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/README.md +139 -0
- package/esm2022/lib/eqp-attachments.component.mjs +125 -31
- package/esm2022/lib/interfaces/IAttachment.mjs +7 -1
- package/fesm2022/eqproject-eqp-attachments.mjs +130 -30
- package/fesm2022/eqproject-eqp-attachments.mjs.map +1 -1
- package/lib/eqp-attachments.component.d.ts +27 -5
- package/lib/interfaces/IAttachment.d.ts +25 -0
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HttpClient } from "@angular/common/http";
|
|
2
|
-
import {
|
|
2
|
+
import { EventEmitter, OnInit, TemplateRef } from "@angular/core";
|
|
3
3
|
import { FormBuilder, FormGroup } from "@angular/forms";
|
|
4
4
|
import { MatDialog, MatDialogRef } from "@angular/material/dialog";
|
|
5
5
|
import { DomSanitizer } from "@angular/platform-browser";
|
|
6
6
|
import { ImageCroppedEvent, ImageCropperComponent, ImageTransform } from "ngx-image-cropper";
|
|
7
|
-
import { AttachmentCardSize, AttachmentType, CropOptionEnum, IAttachmentDTO } from "./interfaces/IAttachment";
|
|
7
|
+
import { AttachmentCardSize, AttachmentFieldColumn, AttachmentMenuAction, AttachmentType, CropOptionEnum, IAttachmentDTO } from "./interfaces/IAttachment";
|
|
8
8
|
import { IOptions } from "./interfaces/IOptions";
|
|
9
9
|
import { EqpAttachmentService } from "./services/eqp-attachment.service";
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
@@ -14,7 +14,6 @@ export declare class EqpAttachmentsComponent implements OnInit {
|
|
|
14
14
|
private formBuilder;
|
|
15
15
|
private sanitizer;
|
|
16
16
|
private http;
|
|
17
|
-
private cd;
|
|
18
17
|
private eqpAttachmentService;
|
|
19
18
|
/**
|
|
20
19
|
* Se TRUE allora nasconde la colonna per le azioni sull'allegato (nel caso "multipleAttachment" è TRUE).
|
|
@@ -137,6 +136,7 @@ export declare class EqpAttachmentsComponent implements OnInit {
|
|
|
137
136
|
cardSize: AttachmentCardSize;
|
|
138
137
|
customCardWidthPx: number;
|
|
139
138
|
customCardHeightPx: number;
|
|
139
|
+
layout: 'full' | 'compact';
|
|
140
140
|
/**
|
|
141
141
|
* Input per definire le label da usare nel componente
|
|
142
142
|
*/
|
|
@@ -177,6 +177,20 @@ export declare class EqpAttachmentsComponent implements OnInit {
|
|
|
177
177
|
chooseView: boolean;
|
|
178
178
|
showSummary: boolean;
|
|
179
179
|
viewMode: 'card' | 'table';
|
|
180
|
+
showUploadTitle: boolean;
|
|
181
|
+
private _customMenuActions;
|
|
182
|
+
_sortedMenuActions: AttachmentMenuAction[];
|
|
183
|
+
/**
|
|
184
|
+
* SOLO quando [customMenuActions]="..." cambia.
|
|
185
|
+
*/
|
|
186
|
+
set customMenuActions(value: AttachmentMenuAction[]);
|
|
187
|
+
get customMenuActions(): AttachmentMenuAction[];
|
|
188
|
+
private _customColumns;
|
|
189
|
+
/**
|
|
190
|
+
* SOLO quando [customColumns]="..." cambia.
|
|
191
|
+
*/
|
|
192
|
+
set customColumns(value: AttachmentFieldColumn[]);
|
|
193
|
+
get customColumns(): AttachmentFieldColumn[];
|
|
180
194
|
/**
|
|
181
195
|
* Restituisce la lista aggiornata degli allegati.
|
|
182
196
|
*/
|
|
@@ -222,6 +236,9 @@ export declare class EqpAttachmentsComponent implements OnInit {
|
|
|
222
236
|
dialogPreview: TemplateRef<any>;
|
|
223
237
|
imageFile: File;
|
|
224
238
|
addingLinkMode: boolean;
|
|
239
|
+
_tableColumns: AttachmentFieldColumn[];
|
|
240
|
+
defaultFileTemplate: TemplateRef<any>;
|
|
241
|
+
defaultActionsTemplate: TemplateRef<any>;
|
|
225
242
|
dragOver: boolean;
|
|
226
243
|
toast: {
|
|
227
244
|
visible: boolean;
|
|
@@ -234,7 +251,7 @@ export declare class EqpAttachmentsComponent implements OnInit {
|
|
|
234
251
|
get totalSizeFormatted(): string;
|
|
235
252
|
formatFileSize(bytes: number): string;
|
|
236
253
|
showToast(message: string, type?: 'success' | 'error', durationMs?: number): void;
|
|
237
|
-
constructor(dialog: MatDialog, formBuilder: FormBuilder, sanitizer: DomSanitizer, http: HttpClient,
|
|
254
|
+
constructor(dialog: MatDialog, formBuilder: FormBuilder, sanitizer: DomSanitizer, http: HttpClient, eqpAttachmentService: EqpAttachmentService);
|
|
238
255
|
ngOnInit(): void;
|
|
239
256
|
setViewMode(mode: 'card' | 'table'): void;
|
|
240
257
|
private recomputeTotalsAndProgress;
|
|
@@ -354,6 +371,11 @@ export declare class EqpAttachmentsComponent implements OnInit {
|
|
|
354
371
|
* @returns `true` if a preview is available, otherwise `false`.
|
|
355
372
|
*/
|
|
356
373
|
canBePreviewed(att: IAttachmentDTO): boolean;
|
|
374
|
+
/**
|
|
375
|
+
* Unisce le colonne di default con quelle custom e le ordina.
|
|
376
|
+
*/
|
|
377
|
+
private setupTableColumns;
|
|
378
|
+
private setupMenuActions;
|
|
357
379
|
static ɵfac: i0.ɵɵFactoryDeclaration<EqpAttachmentsComponent, never>;
|
|
358
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EqpAttachmentsComponent, "eqp-attachments", never, { "disableAction": { "alias": "disableAction"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "attachmentsList": { "alias": "attachmentsList"; "required": false; }; "singleAttachment": { "alias": "singleAttachment"; "required": false; }; "showMatCard": { "alias": "showMatCard"; "required": false; }; "multipleAttachment": { "alias": "multipleAttachment"; "required": false; }; "loadMultipleFiles": { "alias": "loadMultipleFiles"; "required": false; }; "emptyTableMessage": { "alias": "emptyTableMessage"; "required": false; }; "allowOnlyImages": { "alias": "allowOnlyImages"; "required": false; }; "acceptedFileTypes": { "alias": "acceptedFileTypes"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "showInlinePreview": { "alias": "showInlinePreview"; "required": false; }; "getAttachmentEndpoint": { "alias": "getAttachmentEndpoint"; "required": false; }; "productionBaseUrl": { "alias": "productionBaseUrl"; "required": false; }; "compressionOptions": { "alias": "compressionOptions"; "required": false; }; "allowedTypes": { "alias": "allowedTypes"; "required": false; }; "isEqpTableMultiLanguage": { "alias": "isEqpTableMultiLanguage"; "required": false; }; "tablePaginatorVisible": { "alias": "tablePaginatorVisible"; "required": false; }; "isTableSearcheable": { "alias": "isTableSearcheable"; "required": false; }; "tablePaginatorSize": { "alias": "tablePaginatorSize"; "required": false; }; "separatedUploadButtons": { "alias": "separatedUploadButtons"; "required": false; }; "showPreview": { "alias": "showPreview"; "required": false; }; "singleAttachmentDragAndDrop": { "alias": "singleAttachmentDragAndDrop"; "required": false; }; "cropOptions": { "alias": "cropOptions"; "required": false; }; "cropDialogClass": { "alias": "cropDialogClass"; "required": false; }; "maxFileSizeMB": { "alias": "maxFileSizeMB"; "required": false; }; "cardSize": { "alias": "cardSize"; "required": false; }; "customCardWidthPx": { "alias": "customCardWidthPx"; "required": false; }; "customCardHeightPx": { "alias": "customCardHeightPx"; "required": false; }; "openLinkLabel": { "alias": "openLinkLabel"; "required": false; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; }; "downloadLabel": { "alias": "downloadLabel"; "required": false; }; "deleteLabel": { "alias": "deleteLabel"; "required": false; }; "fileNameLabel": { "alias": "fileNameLabel"; "required": false; }; "previewLabel": { "alias": "previewLabel"; "required": false; }; "uploadFileLabel": { "alias": "uploadFileLabel"; "required": false; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; }; "abortLabel": { "alias": "abortLabel"; "required": false; }; "saveLabel": { "alias": "saveLabel"; "required": false; }; "exitLabel": { "alias": "exitLabel"; "required": false; }; "uploadWithDropboxLabel": { "alias": "uploadWithDropboxLabel"; "required": false; }; "cropLabel": { "alias": "cropLabel"; "required": false; }; "deleteDialogTitle": { "alias": "deleteDialogTitle"; "required": false; }; "deleteDialogMessage": { "alias": "deleteDialogMessage"; "required": false; }; "noImageSelectedErrorMessage": { "alias": "noImageSelectedErrorMessage"; "required": false; }; "wrongTypeSelectedErrorMessage": { "alias": "wrongTypeSelectedErrorMessage"; "required": false; }; "videoPreviewErrorMessage": { "alias": "videoPreviewErrorMessage"; "required": false; }; "audioPreviewErrorMessage": { "alias": "videoPreviewErrorMessage"; "required": false; }; "flipHorinzontalLabel": { "alias": "flipHorinzontalLabel"; "required": false; }; "flipVerticalLabel": { "alias": "flipVerticalLabel"; "required": false; }; "rotateRightLabel": { "alias": "rotateRightLabel"; "required": false; }; "rotateLeftLabel": { "alias": "rotateLeftLabel"; "required": false; }; "uploadTitle": { "alias": "uploadTitle"; "required": false; }; "uploadSubtitle": { "alias": "uploadSubtitle"; "required": false; }; "dropHereLabel": { "alias": "dropHereLabel"; "required": false; }; "supportedFormatsLabel": { "alias": "supportedFormatsLabel"; "required": false; }; "browseFilesLabel": { "alias": "browseFilesLabel"; "required": false; }; "uploadSummaryLabel": { "alias": "uploadSummaryLabel"; "required": false; }; "filesLabel": { "alias": "filesLabel"; "required": false; }; "totalSizeLabel": { "alias": "totalSizeLabel"; "required": false; }; "emptyStateLabel": { "alias": "emptyStateLabel"; "required": false; }; "addedSuccessfullyLabel": { "alias": "addedSuccessfullyLabel"; "required": false; }; "removedLabel": { "alias": "removedLabel"; "required": false; }; "chooseView": { "alias": "chooseView"; "required": false; }; "showSummary": { "alias": "showSummary"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; }, { "localEditedAttachments": "localEditedAttachments"; "abortAddAttachment": "abortAddAttachment"; "downloadAttachment": "downloadAttachment"; "onDeleteAttachment": "onDeleteAttachment"; }, never, never, false, never>;
|
|
380
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EqpAttachmentsComponent, "eqp-attachments", never, { "disableAction": { "alias": "disableAction"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "attachmentsList": { "alias": "attachmentsList"; "required": false; }; "singleAttachment": { "alias": "singleAttachment"; "required": false; }; "showMatCard": { "alias": "showMatCard"; "required": false; }; "multipleAttachment": { "alias": "multipleAttachment"; "required": false; }; "loadMultipleFiles": { "alias": "loadMultipleFiles"; "required": false; }; "emptyTableMessage": { "alias": "emptyTableMessage"; "required": false; }; "allowOnlyImages": { "alias": "allowOnlyImages"; "required": false; }; "acceptedFileTypes": { "alias": "acceptedFileTypes"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "showInlinePreview": { "alias": "showInlinePreview"; "required": false; }; "getAttachmentEndpoint": { "alias": "getAttachmentEndpoint"; "required": false; }; "productionBaseUrl": { "alias": "productionBaseUrl"; "required": false; }; "compressionOptions": { "alias": "compressionOptions"; "required": false; }; "allowedTypes": { "alias": "allowedTypes"; "required": false; }; "isEqpTableMultiLanguage": { "alias": "isEqpTableMultiLanguage"; "required": false; }; "tablePaginatorVisible": { "alias": "tablePaginatorVisible"; "required": false; }; "isTableSearcheable": { "alias": "isTableSearcheable"; "required": false; }; "tablePaginatorSize": { "alias": "tablePaginatorSize"; "required": false; }; "separatedUploadButtons": { "alias": "separatedUploadButtons"; "required": false; }; "showPreview": { "alias": "showPreview"; "required": false; }; "singleAttachmentDragAndDrop": { "alias": "singleAttachmentDragAndDrop"; "required": false; }; "cropOptions": { "alias": "cropOptions"; "required": false; }; "cropDialogClass": { "alias": "cropDialogClass"; "required": false; }; "maxFileSizeMB": { "alias": "maxFileSizeMB"; "required": false; }; "cardSize": { "alias": "cardSize"; "required": false; }; "customCardWidthPx": { "alias": "customCardWidthPx"; "required": false; }; "customCardHeightPx": { "alias": "customCardHeightPx"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "openLinkLabel": { "alias": "openLinkLabel"; "required": false; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; }; "downloadLabel": { "alias": "downloadLabel"; "required": false; }; "deleteLabel": { "alias": "deleteLabel"; "required": false; }; "fileNameLabel": { "alias": "fileNameLabel"; "required": false; }; "previewLabel": { "alias": "previewLabel"; "required": false; }; "uploadFileLabel": { "alias": "uploadFileLabel"; "required": false; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; }; "abortLabel": { "alias": "abortLabel"; "required": false; }; "saveLabel": { "alias": "saveLabel"; "required": false; }; "exitLabel": { "alias": "exitLabel"; "required": false; }; "uploadWithDropboxLabel": { "alias": "uploadWithDropboxLabel"; "required": false; }; "cropLabel": { "alias": "cropLabel"; "required": false; }; "deleteDialogTitle": { "alias": "deleteDialogTitle"; "required": false; }; "deleteDialogMessage": { "alias": "deleteDialogMessage"; "required": false; }; "noImageSelectedErrorMessage": { "alias": "noImageSelectedErrorMessage"; "required": false; }; "wrongTypeSelectedErrorMessage": { "alias": "wrongTypeSelectedErrorMessage"; "required": false; }; "videoPreviewErrorMessage": { "alias": "videoPreviewErrorMessage"; "required": false; }; "audioPreviewErrorMessage": { "alias": "videoPreviewErrorMessage"; "required": false; }; "flipHorinzontalLabel": { "alias": "flipHorinzontalLabel"; "required": false; }; "flipVerticalLabel": { "alias": "flipVerticalLabel"; "required": false; }; "rotateRightLabel": { "alias": "rotateRightLabel"; "required": false; }; "rotateLeftLabel": { "alias": "rotateLeftLabel"; "required": false; }; "uploadTitle": { "alias": "uploadTitle"; "required": false; }; "uploadSubtitle": { "alias": "uploadSubtitle"; "required": false; }; "dropHereLabel": { "alias": "dropHereLabel"; "required": false; }; "supportedFormatsLabel": { "alias": "supportedFormatsLabel"; "required": false; }; "browseFilesLabel": { "alias": "browseFilesLabel"; "required": false; }; "uploadSummaryLabel": { "alias": "uploadSummaryLabel"; "required": false; }; "filesLabel": { "alias": "filesLabel"; "required": false; }; "totalSizeLabel": { "alias": "totalSizeLabel"; "required": false; }; "emptyStateLabel": { "alias": "emptyStateLabel"; "required": false; }; "addedSuccessfullyLabel": { "alias": "addedSuccessfullyLabel"; "required": false; }; "removedLabel": { "alias": "removedLabel"; "required": false; }; "chooseView": { "alias": "chooseView"; "required": false; }; "showSummary": { "alias": "showSummary"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "showUploadTitle": { "alias": "showUploadTitle"; "required": false; }; "customMenuActions": { "alias": "customMenuActions"; "required": false; }; "customColumns": { "alias": "customColumns"; "required": false; }; }, { "localEditedAttachments": "localEditedAttachments"; "abortAddAttachment": "abortAddAttachment"; "downloadAttachment": "downloadAttachment"; "onDeleteAttachment": "onDeleteAttachment"; }, never, never, false, never>;
|
|
359
381
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TemplateRef } from "@angular/core";
|
|
1
2
|
export interface IAttachmentDTO {
|
|
2
3
|
ID: number | string;
|
|
3
4
|
FileName?: string;
|
|
@@ -21,3 +22,27 @@ export declare enum CropOptionEnum {
|
|
|
21
22
|
FLIP = 2
|
|
22
23
|
}
|
|
23
24
|
export type AttachmentCardSize = 'small' | 'medium' | 'large' | 'custom';
|
|
25
|
+
export type Layout = 'full' | 'compact';
|
|
26
|
+
export interface AttachmentFieldColumn {
|
|
27
|
+
key: string;
|
|
28
|
+
display: string;
|
|
29
|
+
type?: TypeAttachmentColumn;
|
|
30
|
+
styles?: {
|
|
31
|
+
flex: string;
|
|
32
|
+
};
|
|
33
|
+
externalTemplate?: TemplateRef<any>;
|
|
34
|
+
position?: number;
|
|
35
|
+
class?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface AttachmentMenuAction {
|
|
38
|
+
name: string;
|
|
39
|
+
icon: string;
|
|
40
|
+
fn: (attachment: IAttachmentDTO) => void;
|
|
41
|
+
disabled?: (attachment: IAttachmentDTO) => boolean;
|
|
42
|
+
position?: number;
|
|
43
|
+
}
|
|
44
|
+
export declare enum TypeAttachmentColumn {
|
|
45
|
+
DATE = "date",
|
|
46
|
+
TEMPLATE = "template",
|
|
47
|
+
TEXT = "text"
|
|
48
|
+
}
|