@ldw-framework/material-media 0.5.2 → 0.6.0
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.
|
@@ -52,8 +52,8 @@ class LDwMaterialImageUploadDialogComponent {
|
|
|
52
52
|
get $noData() {
|
|
53
53
|
return !this.data?.imgBase64 && !this.data?.imgSrc;
|
|
54
54
|
}
|
|
55
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
56
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploadDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: LDwMaterialImageUploadDialogComponent, isStandalone: true, selector: "ldw-mat-image-upload-dialog", host: { classAttribute: "ldw-mat-image-upload-dialog" }, ngImport: i0, template: `
|
|
57
57
|
<h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.title' | i18n }}</h2>
|
|
58
58
|
<mat-dialog-content>
|
|
59
59
|
<input class="ldw-mat-image-uploader-hidden-input"
|
|
@@ -83,7 +83,7 @@ class LDwMaterialImageUploadDialogComponent {
|
|
|
83
83
|
</mat-dialog-actions>
|
|
84
84
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: LDuAnguBootTranslationPipe, name: "i18n" }] });
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploadDialogComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{
|
|
89
89
|
selector: 'ldw-mat-image-upload-dialog',
|
|
@@ -201,10 +201,10 @@ class LDwMaterialMediaService {
|
|
|
201
201
|
get ENV() { return this.MEDIA_API$; }
|
|
202
202
|
get apiService() { return this.lduApiService$; }
|
|
203
203
|
get matDialog() { return this.matDialog$; }
|
|
204
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
205
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
204
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
205
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialMediaService, providedIn: 'root' });
|
|
206
206
|
}
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialMediaService, decorators: [{
|
|
208
208
|
type: Injectable,
|
|
209
209
|
args: [{ providedIn: 'root' }]
|
|
210
210
|
}] });
|
|
@@ -214,6 +214,7 @@ class LDwMaterialImageGalleryDialogComponent {
|
|
|
214
214
|
cdr = inject(ChangeDetectorRef);
|
|
215
215
|
dialogRef = inject((MatDialogRef));
|
|
216
216
|
data = inject(MAT_DIALOG_DATA);
|
|
217
|
+
multiple = false;
|
|
217
218
|
gallery = [];
|
|
218
219
|
ngOnInit() {
|
|
219
220
|
this.load();
|
|
@@ -226,8 +227,18 @@ class LDwMaterialImageGalleryDialogComponent {
|
|
|
226
227
|
}
|
|
227
228
|
onFileChange($event) {
|
|
228
229
|
const files = $event?.target?.files;
|
|
229
|
-
if (files
|
|
230
|
-
const
|
|
230
|
+
if (this.multiple && files) {
|
|
231
|
+
for (const file of files) {
|
|
232
|
+
this.doUploadPicture(file);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else if (files?.[0]) {
|
|
236
|
+
this.doUploadPicture(files[0]);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
doUploadPicture(file) {
|
|
240
|
+
if (file) {
|
|
241
|
+
const picture = file;
|
|
231
242
|
const reader = new FileReader();
|
|
232
243
|
reader.readAsDataURL(picture);
|
|
233
244
|
reader.onload = () => {
|
|
@@ -242,7 +253,7 @@ class LDwMaterialImageGalleryDialogComponent {
|
|
|
242
253
|
const byteCharacters = atob(base64Data);
|
|
243
254
|
const byteNumbers = new Array(byteCharacters.length);
|
|
244
255
|
for (let i = 0; i < byteCharacters.length; i++) {
|
|
245
|
-
byteNumbers[i] = byteCharacters.
|
|
256
|
+
byteNumbers[i] = byteCharacters.codePointAt(i);
|
|
246
257
|
}
|
|
247
258
|
const byteArray = new Uint8Array(byteNumbers);
|
|
248
259
|
const blob = new Blob([byteArray], { type: 'image/jpg' });
|
|
@@ -258,12 +269,12 @@ class LDwMaterialImageGalleryDialogComponent {
|
|
|
258
269
|
this.gallery = response;
|
|
259
270
|
this.cdr.detectChanges();
|
|
260
271
|
}
|
|
261
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
262
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
272
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageGalleryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
273
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: LDwMaterialImageGalleryDialogComponent, isStandalone: true, selector: "ldw-mat-image-gallery-dialog", inputs: { multiple: "multiple" }, host: { classAttribute: "ldw-mat-image-gallery-dialog" }, ngImport: i0, template: `
|
|
263
274
|
<h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.title' | i18n }}</h2>
|
|
264
275
|
<mat-dialog-content>
|
|
265
276
|
<input class="ldw-mat-image-gallery-hidden-input"
|
|
266
|
-
#uploader type="file"
|
|
277
|
+
#uploader type="file" [multiple]="multiple"
|
|
267
278
|
[style.display]="'none'"
|
|
268
279
|
(change)="onFileChange($event)"
|
|
269
280
|
/>
|
|
@@ -302,7 +313,7 @@ class LDwMaterialImageGalleryDialogComponent {
|
|
|
302
313
|
</mat-dialog-actions>
|
|
303
314
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: LDuAnguBootTranslationPipe, name: "i18n" }] });
|
|
304
315
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageGalleryDialogComponent, decorators: [{
|
|
306
317
|
type: Component,
|
|
307
318
|
args: [{
|
|
308
319
|
selector: 'ldw-mat-image-gallery-dialog',
|
|
@@ -318,7 +329,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
318
329
|
<h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.title' | i18n }}</h2>
|
|
319
330
|
<mat-dialog-content>
|
|
320
331
|
<input class="ldw-mat-image-gallery-hidden-input"
|
|
321
|
-
#uploader type="file"
|
|
332
|
+
#uploader type="file" [multiple]="multiple"
|
|
322
333
|
[style.display]="'none'"
|
|
323
334
|
(change)="onFileChange($event)"
|
|
324
335
|
/>
|
|
@@ -357,7 +368,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
357
368
|
</mat-dialog-actions>
|
|
358
369
|
`
|
|
359
370
|
}]
|
|
360
|
-
}]
|
|
371
|
+
}], propDecorators: { multiple: [{
|
|
372
|
+
type: Input
|
|
373
|
+
}] } });
|
|
361
374
|
|
|
362
375
|
class LDwMaterialImageUploaderComponent {
|
|
363
376
|
service = inject(LDwMaterialMediaService);
|
|
@@ -396,8 +409,8 @@ class LDwMaterialImageUploaderComponent {
|
|
|
396
409
|
get control() {
|
|
397
410
|
return this.formParent?.get(this.formParentControlName);
|
|
398
411
|
}
|
|
399
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
400
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
412
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
413
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: LDwMaterialImageUploaderComponent, isStandalone: true, selector: "ldw-mat-image-uploader", inputs: { formParent: "formParent", formParentControlName: "formParentControlName", label: "label", appearance: "appearance", name: "name", type: "type", dimensions: "dimensions", api: "api", readonly: "readonly", required: "required" }, host: { classAttribute: "ldw-mat-image-uploader" }, ngImport: i0, template: `
|
|
401
414
|
<form
|
|
402
415
|
[formGroup]="formParent"
|
|
403
416
|
novalidate
|
|
@@ -441,7 +454,7 @@ class LDwMaterialImageUploaderComponent {
|
|
|
441
454
|
</form>
|
|
442
455
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
443
456
|
}
|
|
444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploaderComponent, decorators: [{
|
|
445
458
|
type: Component,
|
|
446
459
|
args: [{
|
|
447
460
|
selector: 'ldw-mat-image-uploader',
|
|
@@ -528,11 +541,11 @@ const components$1 = [
|
|
|
528
541
|
LDwMaterialImageGalleryDialogComponent,
|
|
529
542
|
];
|
|
530
543
|
class LDwMaterialImageGalleryModule {
|
|
531
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
532
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
533
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
544
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageGalleryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
545
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageGalleryModule, imports: [LDwMaterialImageGalleryDialogComponent], exports: [LDwMaterialImageGalleryDialogComponent] });
|
|
546
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageGalleryModule, imports: [components$1] });
|
|
534
547
|
}
|
|
535
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageGalleryModule, decorators: [{
|
|
536
549
|
type: NgModule,
|
|
537
550
|
args: [{
|
|
538
551
|
imports: [...components$1],
|
|
@@ -545,13 +558,13 @@ const components = [
|
|
|
545
558
|
LDwMaterialImageUploaderComponent,
|
|
546
559
|
];
|
|
547
560
|
class LDwMaterialImageUploaderModule {
|
|
548
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
549
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
561
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
562
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploaderModule, imports: [LDwMaterialImageUploadDialogComponent,
|
|
550
563
|
LDwMaterialImageUploaderComponent], exports: [LDwMaterialImageUploadDialogComponent,
|
|
551
564
|
LDwMaterialImageUploaderComponent] });
|
|
552
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
565
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploaderModule, imports: [components] });
|
|
553
566
|
}
|
|
554
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: LDwMaterialImageUploaderModule, decorators: [{
|
|
555
568
|
type: NgModule,
|
|
556
569
|
args: [{
|
|
557
570
|
imports: [...components],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ldw-framework-material-media.mjs","sources":["../../../lib/src/components/ldw-mat-image-upload-dialog.component.ts","../../../lib/src/config/ldw-mat-media.config.ts","../../../lib/src/services/ldw-mat-media.service.ts","../../../lib/src/components/ldw-mat-image-gallery-dialog.component.ts","../../../lib/src/components/ldw-mat-image-uploader.component.ts","../../../lib/src/modules/ldw-mat-image-gallery.module.ts","../../../lib/src/modules/ldw-mat-image-uploader.module.ts","../../../lib/src/ldw-framework-material-media.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LDuAnguBootTranslationPipe } from '@ldu-anguboot/i18n';\nimport { LDwMaterialMediaModel } from '../models/ldw-mat-media.model';\n\n@Component({\n selector: 'ldw-mat-image-upload-dialog',\n host: { class: 'ldw-mat-image-upload-dialog' },\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n LDuAnguBootTranslationPipe,\n ],\n template: `\n <h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.title' | i18n }}</h2>\n <mat-dialog-content>\n <input class=\"ldw-mat-image-uploader-hidden-input\"\n #uploader type=\"file\"\n [style.display]=\"'none'\"\n (change)=\"onFileChange($event)\"\n />\n <div class=\"ldw-mat-image-uploader--instance\"\n [style.backgroundImage]=\"$backgroundImage\"\n (keypress)=\"uploader.click()\"\n (click)=\"uploader.click()\"\n >@if ($noData) {\n <mat-icon>image</mat-icon> }\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n class=\"ldw-mat-image-uploader-save\"\n matButton\n cdkFocusInitial\n (click)=\"onSaveClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.btnSave' | i18n }}</button>\n <button class=\"ldw-mat-image-uploader-cancel\"\n matButton\n (click)=\"onCancelClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.btnCancel' | i18n }}</button>\n </mat-dialog-actions>\n`})\nexport class LDwMaterialImageUploadDialogComponent {\n\n readonly dialogRef = inject(MatDialogRef<LDwMaterialImageUploadDialogComponent>);\n\n readonly data = inject<LDwMaterialMediaModel>(MAT_DIALOG_DATA);\n\n readonly cdr = inject(ChangeDetectorRef);\n\n onSaveClick() {\n this.dialogRef.close(this.data);\n }\n\n onCancelClick() {\n this.dialogRef.close(false);\n }\n\n onFileChange($event: any) {\n const files = $event?.target?.files;\n if (files?.[0]) {\n const picture = files[0];\n const reader = new FileReader();\n reader.readAsDataURL(picture);\n reader.onload = () => {\n this.data.imgBase64 = (reader.result as string).toString();\n this.cdr.detectChanges();\n };\n }\n }\n\n get $backgroundImage() {\n if (this.data.imgBase64) {\n return 'url(' + this.data.imgBase64 + ')';\n }\n if (this.data.imgSrc) {\n return 'url(' + this.data.imgSrc + ')';\n }\n return '';\n }\n\n get $noData() {\n return !this.data?.imgBase64 && !this.data?.imgSrc;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LDW_MAT_MEDIA_API = new InjectionToken<{\n url: string;\n}>('LDW_MAT_MEDIA_API');\n","import { inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LDuAnguBootApiService } from '@ldu-anguboot/http';\nimport { firstValueFrom } from 'rxjs';\nimport { LDwMaterialImageGalleryDialogComponent } from '../components/ldw-mat-image-gallery-dialog.component';\nimport { LDwMaterialImageUploadDialogComponent } from '../components/ldw-mat-image-upload-dialog.component';\nimport { LDW_MAT_MEDIA_API } from '../config/ldw-mat-media.config';\nimport { LDwMaterialMediaModel } from '../models/ldw-mat-media.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LDwMaterialMediaService {\n\n private readonly MEDIA_API$ = inject(LDW_MAT_MEDIA_API);\n\n private readonly lduApiService$ = inject(LDuAnguBootApiService);\n\n private readonly matDialog$ = inject(MatDialog);\n\n async uploadImage(uploadUrl: string, uploadConfig?: {\n height?: string;\n width?: string;\n maxHeight?: string;\n maxWidth?: string;\n }, type: 'jpg' | 'png' = 'jpg', data?: LDwMaterialMediaModel) {\n const config = {\n height: uploadConfig?.height ?? 'calc(100% - 1rem)',\n width: uploadConfig?.width ?? 'calc(100% - 1rem)',\n maxHeight: uploadConfig?.maxHeight ?? '100%',\n maxWidth: uploadConfig?.maxWidth ?? '100%',\n panelClass: 'ldw-mat-image-upload-dialog-panel',\n data: {\n imgAlt: data?.imgAlt,\n imgSrc: data?.imgSrc,\n imgBase64: data?.imgBase64,\n },\n };\n const media = await firstValueFrom(this.matDialog.open(LDwMaterialImageUploadDialogComponent, config).afterClosed());\n if (media?.imgBase64) {\n const response = await firstValueFrom(this.apiService.PUT<LDwMaterialMediaModel>(uploadUrl, media));\n if (response?.id) {\n switch (type) {\n case 'jpg':\n return this.apiService.url(`${this.ENV.url}/${response.id}.jpg?t=${Date.now()}`);\n case 'png':\n return this.apiService.url(`${this.ENV.url}/${response.id}.png?t=${Date.now()}`);\n default:\n break;\n }\n }\n }\n return null;\n }\n\n async deleteImage(deleteUrl: string) {\n return firstValueFrom(this.apiService.DELETE(`${deleteUrl}`));\n }\n\n async getGallery(galleryUrl: string) {\n return firstValueFrom(this.apiService.GET(`${galleryUrl}`));\n }\n\n openGallery(galleryUrl: string, galleryConfig?: {\n height?: string;\n width?: string;\n maxHeight?: string;\n maxWidth?: string;\n }) {\n const config = {\n height: galleryConfig?.height ?? 'calc(100% - 1rem)',\n width: galleryConfig?.width ?? 'calc(100% - 1rem)',\n maxHeight: galleryConfig?.maxHeight ?? '100%',\n maxWidth: galleryConfig?.maxWidth ?? '100%',\n panelClass: 'ldw-mat-image-gallery-dialog-panel',\n data: { galleryUrl },\n };\n return this.matDialog.open(LDwMaterialImageGalleryDialogComponent, config);\n }\n\n async uploadGallery(galleryUrl: string, imgBase64: string | null | undefined, type: 'jpg' | 'png' = 'jpg') {\n if (imgBase64) {\n const response = await firstValueFrom(this.apiService.PUT<LDwMaterialMediaModel>(galleryUrl, { imgBase64 }));\n if (response?.id) {\n switch (type) {\n case 'jpg':\n return this.apiService.url(`${this.ENV.url}/${response.id}.jpg?t=${Date.now()}`);\n case 'png':\n return this.apiService.url(`${this.ENV.url}/${response.id}.png?t=${Date.now()}`);\n default:\n break;\n }\n }\n }\n return null;\n }\n\n async deleteGallery(galleryUrl: string) {\n return firstValueFrom(this.apiService.DELETE(`${galleryUrl}`));\n }\n\n get ENV() { return this.MEDIA_API$; }\n\n get apiService() { return this.lduApiService$; }\n\n get matDialog() { return this.matDialog$; }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, inject, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LDuAnguBootTranslationPipe } from '@ldu-anguboot/i18n';\nimport { LDwMaterialGalleryModel, LDwMaterialMediaModel } from '../models/ldw-mat-media.model';\nimport { LDwMaterialMediaService } from '../services/ldw-mat-media.service';\n\n@Component({\n selector: 'ldw-mat-image-gallery-dialog',\n host: { class: 'ldw-mat-image-gallery-dialog' },\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n LDuAnguBootTranslationPipe,\n ],\n template: `\n <h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.title' | i18n }}</h2>\n <mat-dialog-content>\n <input class=\"ldw-mat-image-gallery-hidden-input\"\n #uploader type=\"file\"\n [style.display]=\"'none'\"\n (change)=\"onFileChange($event)\"\n />\n <div class=\"ldw-mat-image-gallery--instance\">\n <div class=\"ldw-mat-image-gallery-item ldw-mat-image-gallery-item--upload\"\n (keypress)=\"uploader.click()\"\n (click)=\"uploader.click()\"\n ><mat-icon>add</mat-icon>\n </div>\n @for (image of gallery; track image.id)\n {\n <div class=\"ldw-mat-image-gallery-item\">\n <a [href]=\"image.imgSrc\" target=\"_blank\"\n (click)=\"onViewClick(image.imgSrc)\"\n ><img [src]=\"image.imgSrc\" [alt]=\"image.imgAlt\" />\n </a>\n <mat-icon\n (keypress)=\"onDeleteClick(image.id)\"\n (click)=\"onDeleteClick(image.id)\"\n >delete</mat-icon>\n </div>\n }\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n class=\"ldw-mat-image-gallery-save\"\n matButton\n (click)=\"onSaveClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.btnSave' | i18n }}</button>\n <button\n class=\"ldw-mat-image-gallery-cancel\"\n matButton\n (click)=\"onCancelClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.btnCancel' | i18n }}</button>\n </mat-dialog-actions>\n`})\nexport class LDwMaterialImageGalleryDialogComponent implements OnInit {\n\n protected readonly service = inject(LDwMaterialMediaService);\n\n protected readonly cdr = inject(ChangeDetectorRef);\n\n readonly dialogRef = inject(MatDialogRef<LDwMaterialImageGalleryDialogComponent>);\n\n readonly data = inject<LDwMaterialGalleryModel>(MAT_DIALOG_DATA);\n\n gallery: LDwMaterialMediaModel[] = [];\n\n ngOnInit() {\n this.load();\n }\n\n onSaveClick() {\n this.dialogRef.close(true);\n }\n\n onCancelClick() {\n this.dialogRef.close(false);\n }\n\n onFileChange($event: any) {\n const files = $event?.target?.files;\n if (files?.[0]) {\n const picture = files[0];\n const reader = new FileReader();\n reader.readAsDataURL(picture);\n reader.onload = () => {\n const imgBase64 = (reader.result as string).toString();\n this.service.uploadGallery(this.data.galleryUrl, imgBase64).then(() => this.load());\n };\n }\n }\n\n onViewClick(imgBase64: string | null | undefined) {\n if (imgBase64) {\n const base64Data = imgBase64.split(',')[1] || imgBase64;\n const byteCharacters = atob(base64Data);\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n const blob = new Blob([byteArray], { type: 'image/jpg' });\n const url = URL.createObjectURL(blob);\n window.open(url, '_blank');\n }\n }\n\n onDeleteClick(id: number | null | undefined) {\n this.service.deleteGallery(`${this.data.galleryUrl}/${id}`).then(() => this.load());\n }\n\n protected async load() {\n const response = await this.service.getGallery(this.data.galleryUrl);\n this.gallery = response as LDwMaterialMediaModel[];\n this.cdr.detectChanges();\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Input } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { LDwMaterialMediaService } from '../services/ldw-mat-media.service';\n\n@Component({\n selector: 'ldw-mat-image-uploader',\n host: { class: 'ldw-mat-image-uploader' },\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n ],\n template: `\n <form\n [formGroup]=\"formParent\"\n novalidate\n ><mat-form-field\n [appearance]=\"appearance\"\n ><mat-label\n [innerHTML]=\"label\" />\n <input matInput\n [name]=\"name\"\n [formControlName]=\"formParentControlName\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n />\n @if (dimensions)\n {\n <mat-hint>{{ dimensions }}.{{ type }}</mat-hint>\n }\n <div matSuffix>\n @if (control.value)\n {\n <a matIconButton\n [href]=\"control.value\"\n target=\"_blank\"\n ><mat-icon>visibility</mat-icon>\n </a>\n }\n @if (!readonly)\n {\n <button matIconButton\n (click)=\"onUploadClick()\"\n ><mat-icon>add_photo_alternate</mat-icon>\n </button>\n <button matIconButton\n (click)=\"onDeleteClick()\"\n ><mat-icon>delete</mat-icon>\n </button>\n }\n </div>\n <ng-content/>\n </mat-form-field>\n </form>\n`})\nexport class LDwMaterialImageUploaderComponent {\n\n protected readonly service = inject(LDwMaterialMediaService);\n\n protected readonly$: string | boolean = false;\n\n protected required$: string | boolean = false;\n\n @Input({ required: true })\n formParent: FormGroup = new FormGroup({\n value: new FormControl<string | null | undefined>(null, [])\n });\n\n @Input({ required: true })\n formParentControlName = 'value';\n\n @Input({ required: true })\n label = 'Value';\n\n @Input()\n appearance: 'fill' | 'outline' = 'outline';\n\n @Input()\n name = 'value';\n\n @Input()\n type: 'jpg' | 'png' = 'jpg';\n\n @Input()\n dimensions: string | null | undefined;\n\n @Input()\n api: string | null | undefined;\n\n @Input()\n set readonly(v) { this.readonly$ = coerceBooleanProperty(v); }\n\n @Input()\n set required(v) { this.required$ = coerceBooleanProperty(v); }\n\n async onUploadClick() {\n if (this.api) {\n const mediaUrl = await this.service.uploadImage(`${this.api}`);\n if (mediaUrl) {\n this.control.setValue(mediaUrl);\n }\n }\n }\n\n async onDeleteClick() {\n if (this.api) {\n await this.service.deleteImage(this.api);\n }\n this.control.setValue(null);\n }\n\n get readonly() { return this.readonly$; };\n\n get required() { return this.required$; };\n\n get control() {\n return this.formParent?.get(this.formParentControlName) as FormControl<string | null | undefined>;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { LDwMaterialImageGalleryDialogComponent } from '../components/ldw-mat-image-gallery-dialog.component';\n\nconst components = [\n LDwMaterialImageGalleryDialogComponent,\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class LDwMaterialImageGalleryModule { }\n","import { NgModule } from '@angular/core';\nimport { LDwMaterialImageUploadDialogComponent } from '../components/ldw-mat-image-upload-dialog.component';\nimport { LDwMaterialImageUploaderComponent } from '../components/ldw-mat-image-uploader.component';\n\nconst components = [\n LDwMaterialImageUploadDialogComponent,\n LDwMaterialImageUploaderComponent,\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class LDwMaterialImageUploaderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i5","components"],"mappings":";;;;;;;;;;;;;;;;;;;;MA+Ca,qCAAqC,CAAA;AAErC,IAAA,SAAS,GAAG,MAAM,EAAC,YAAmD,EAAC;AAEvE,IAAA,IAAI,GAAG,MAAM,CAAwB,eAAe,CAAC;AAErD,IAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAExC,WAAW,GAAA;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IACnC;IAEA,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B;AAEA,IAAA,YAAY,CAAC,MAAW,EAAA;AACpB,QAAA,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK;AACnC,QAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AACxB,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;gBACjB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAI,MAAM,CAAC,MAAiB,CAAC,QAAQ,EAAE;AAC1D,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC5B,YAAA,CAAC;QACL;IACJ;AAEA,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACrB,OAAO,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG;QAC7C;AACA,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAClB,OAAO,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;QAC1C;AACA,QAAA,OAAO,EAAE;IACb;AAEA,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;IACtD;uGAzCS,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7BpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bb,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAlCO,YAAY,8BACZ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,eAAe,qbACf,0BAA0B,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA;;2FA+BrB,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAvCjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE;AAC9C,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,0BAA0B;AAC7B,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4Bb;AAAC,iBAAA;;;MC5CW,iBAAiB,GAAG,IAAI,cAAc,CAEhD,mBAAmB;;MCMT,uBAAuB,CAAA;AAEf,IAAA,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEtC,IAAA,cAAc,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAE9C,IAAA,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;IAE/C,MAAM,WAAW,CAAC,SAAiB,EAAE,YAKpC,EAAE,IAAA,GAAsB,KAAK,EAAE,IAA4B,EAAA;AACxD,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,mBAAmB;AACnD,YAAA,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,mBAAmB;AACjD,YAAA,SAAS,EAAE,YAAY,EAAE,SAAS,IAAI,MAAM;AAC5C,YAAA,QAAQ,EAAE,YAAY,EAAE,QAAQ,IAAI,MAAM;AAC1C,YAAA,UAAU,EAAE,mCAAmC;AAC/C,YAAA,IAAI,EAAE;gBACF,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,SAAS,EAAE,IAAI,EAAE,SAAS;AAC7B,aAAA;SACJ;AACD,QAAA,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AACpH,QAAA,IAAI,KAAK,EAAE,SAAS,EAAE;AAClB,YAAA,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAwB,SAAS,EAAE,KAAK,CAAC,CAAC;AACnG,YAAA,IAAI,QAAQ,EAAE,EAAE,EAAE;gBACd,QAAQ,IAAI;AACR,oBAAA,KAAK,KAAK;wBACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,QAAQ,CAAC,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC;AACpF,oBAAA,KAAK,KAAK;wBACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,QAAQ,CAAC,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC;AACpF,oBAAA;wBACI;;YAEZ;QACJ;AACA,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,WAAW,CAAC,SAAiB,EAAA;AAC/B,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC,CAAC;IACjE;IAEA,MAAM,UAAU,CAAC,UAAkB,EAAA;AAC/B,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,EAAG,UAAU,CAAA,CAAE,CAAC,CAAC;IAC/D;IAEA,WAAW,CAAC,UAAkB,EAAE,aAK/B,EAAA;AACG,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,mBAAmB;AACpD,YAAA,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,mBAAmB;AAClD,YAAA,SAAS,EAAE,aAAa,EAAE,SAAS,IAAI,MAAM;AAC7C,YAAA,QAAQ,EAAE,aAAa,EAAE,QAAQ,IAAI,MAAM;AAC3C,YAAA,UAAU,EAAE,oCAAoC;YAChD,IAAI,EAAE,EAAE,UAAU,EAAE;SACvB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sCAAsC,EAAE,MAAM,CAAC;IAC9E;IAEA,MAAM,aAAa,CAAC,UAAkB,EAAE,SAAoC,EAAE,OAAsB,KAAK,EAAA;QACrG,IAAI,SAAS,EAAE;AACX,YAAA,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAwB,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;AAC5G,YAAA,IAAI,QAAQ,EAAE,EAAE,EAAE;gBACd,QAAQ,IAAI;AACR,oBAAA,KAAK,KAAK;wBACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,QAAQ,CAAC,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC;AACpF,oBAAA,KAAK,KAAK;wBACN,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,QAAQ,CAAC,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC;AACpF,oBAAA;wBACI;;YAEZ;QACJ;AACA,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,aAAa,CAAC,UAAkB,EAAA;AAClC,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA,EAAG,UAAU,CAAA,CAAE,CAAC,CAAC;IAClE;IAEA,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpC,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;uGA7FjC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA;;2FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCoDrB,sCAAsC,CAAA;AAE5B,IAAA,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAEzC,IAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEzC,IAAA,SAAS,GAAG,MAAM,EAAC,YAAoD,EAAC;AAExE,IAAA,IAAI,GAAG,MAAM,CAA0B,eAAe,CAAC;IAEhE,OAAO,GAA4B,EAAE;IAErC,QAAQ,GAAA;QACJ,IAAI,CAAC,IAAI,EAAE;IACf;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9B;IAEA,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B;AAEA,IAAA,YAAY,CAAC,MAAW,EAAA;AACpB,QAAA,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK;AACnC,QAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACZ,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AACxB,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,YAAA,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;gBACjB,MAAM,SAAS,GAAI,MAAM,CAAC,MAAiB,CAAC,QAAQ,EAAE;gBACtD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AACvF,YAAA,CAAC;QACL;IACJ;AAEA,IAAA,WAAW,CAAC,SAAoC,EAAA;QAC5C,IAAI,SAAS,EAAE;AACX,YAAA,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;AACvD,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;AACpD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YACjD;AACA,YAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC;AAC7C,YAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;AACrC,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC9B;IACJ;AAEA,IAAA,aAAa,CAAC,EAA6B,EAAA;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA,EAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAA,CAAA,EAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACvF;AAEU,IAAA,MAAM,IAAI,GAAA;AAChB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACpE,QAAA,IAAI,CAAC,OAAO,GAAG,QAAmC;AAClD,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC5B;uGA5DS,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,8BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1CrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCb,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/CO,YAAY,8BACZ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,eAAe,qbACf,0BAA0B,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA;;2FA4CrB,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBApDlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE;AAC/C,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,0BAA0B;AAC7B,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCb;AAAC,iBAAA;;;MCKW,iCAAiC,CAAA;AAEvB,IAAA,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAElD,SAAS,GAAqB,KAAK;IAEnC,SAAS,GAAqB,KAAK;IAG7C,UAAU,GAAc,IAAI,SAAS,CAAC;AAClC,QAAA,KAAK,EAAE,IAAI,WAAW,CAA4B,IAAI,EAAE,EAAE;AAC7D,KAAA,CAAC;IAGF,qBAAqB,GAAG,OAAO;IAG/B,KAAK,GAAG,OAAO;IAGf,UAAU,GAAuB,SAAS;IAG1C,IAAI,GAAG,OAAO;IAGd,IAAI,GAAkB,KAAK;AAG3B,IAAA,UAAU;AAGV,IAAA,GAAG;AAEH,IAAA,IACI,QAAQ,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,IAAA,IACI,QAAQ,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,IAAA,MAAM,aAAa,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACV,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA,CAAE,CAAC;YAC9D,IAAI,QAAQ,EAAE;AACV,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnC;QACJ;IACJ;AAEA,IAAA,MAAM,aAAa,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC/B;IAEA,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;;IAExC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;;AAExC,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAA2C;IACrG;uGA9DS,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3ChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0Cb,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAlDO,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FA6CR,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAvD7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;AACzC,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,eAAe;wBACf,kBAAkB;wBAClB,cAAc;wBACd,aAAa;AAChB,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0Cb;AAAC,iBAAA;;sBASG,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAKxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAGxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAGxB;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;;ACnGL,MAAMC,YAAU,GAAG;IACf,sCAAsC;CACzC;MAMY,6BAA6B,CAAA;uGAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAA7B,6BAA6B,EAAA,OAAA,EAAA,CAPtC,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAAtC,sCAAsC,CAAA,EAAA,CAAA;AAO7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAHzBA,YAAU,CAAA,EAAA,CAAA;;2FAGd,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAGA,YAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAGA,YAAU;AAC1B,iBAAA;;;ACND,MAAM,UAAU,GAAG;IACf,qCAAqC;IACrC,iCAAiC;CACpC;MAMY,8BAA8B,CAAA;uGAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAA9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YARvC,qCAAqC;AACrC,YAAA,iCAAiC,aADjC,qCAAqC;YACrC,iCAAiC,CAAA,EAAA,CAAA;AAOxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YAH1B,UAAU,CAAA,EAAA,CAAA;;2FAGd,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU;AAC1B,iBAAA;;;ACZD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ldw-framework-material-media.mjs","sources":["../../../lib/src/components/ldw-mat-image-upload-dialog.component.ts","../../../lib/src/config/ldw-mat-media.config.ts","../../../lib/src/services/ldw-mat-media.service.ts","../../../lib/src/components/ldw-mat-image-gallery-dialog.component.ts","../../../lib/src/components/ldw-mat-image-uploader.component.ts","../../../lib/src/modules/ldw-mat-image-gallery.module.ts","../../../lib/src/modules/ldw-mat-image-uploader.module.ts","../../../lib/src/ldw-framework-material-media.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LDuAnguBootTranslationPipe } from '@ldu-anguboot/i18n';\nimport { LDwMaterialMediaModel } from '../models/ldw-mat-media.model';\n\n@Component({\n selector: 'ldw-mat-image-upload-dialog',\n host: { class: 'ldw-mat-image-upload-dialog' },\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n LDuAnguBootTranslationPipe,\n ],\n template: `\n <h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.title' | i18n }}</h2>\n <mat-dialog-content>\n <input class=\"ldw-mat-image-uploader-hidden-input\"\n #uploader type=\"file\"\n [style.display]=\"'none'\"\n (change)=\"onFileChange($event)\"\n />\n <div class=\"ldw-mat-image-uploader--instance\"\n [style.backgroundImage]=\"$backgroundImage\"\n (keypress)=\"uploader.click()\"\n (click)=\"uploader.click()\"\n >@if ($noData) {\n <mat-icon>image</mat-icon> }\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n class=\"ldw-mat-image-uploader-save\"\n matButton\n cdkFocusInitial\n (click)=\"onSaveClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.btnSave' | i18n }}</button>\n <button class=\"ldw-mat-image-uploader-cancel\"\n matButton\n (click)=\"onCancelClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_UPLOAD_DIALOG.btnCancel' | i18n }}</button>\n </mat-dialog-actions>\n`})\nexport class LDwMaterialImageUploadDialogComponent {\n\n readonly dialogRef = inject(MatDialogRef<LDwMaterialImageUploadDialogComponent>);\n\n readonly data = inject<LDwMaterialMediaModel>(MAT_DIALOG_DATA);\n\n readonly cdr = inject(ChangeDetectorRef);\n\n onSaveClick() {\n this.dialogRef.close(this.data);\n }\n\n onCancelClick() {\n this.dialogRef.close(false);\n }\n\n onFileChange($event: any) {\n const files = $event?.target?.files;\n if (files?.[0]) {\n const picture = files[0];\n const reader = new FileReader();\n reader.readAsDataURL(picture);\n reader.onload = () => {\n this.data.imgBase64 = (reader.result as string).toString();\n this.cdr.detectChanges();\n };\n }\n }\n\n get $backgroundImage() {\n if (this.data.imgBase64) {\n return 'url(' + this.data.imgBase64 + ')';\n }\n if (this.data.imgSrc) {\n return 'url(' + this.data.imgSrc + ')';\n }\n return '';\n }\n\n get $noData() {\n return !this.data?.imgBase64 && !this.data?.imgSrc;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LDW_MAT_MEDIA_API = new InjectionToken<{\n url: string;\n}>('LDW_MAT_MEDIA_API');\n","import { inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LDuAnguBootApiService } from '@ldu-anguboot/http';\nimport { firstValueFrom } from 'rxjs';\nimport { LDwMaterialImageGalleryDialogComponent } from '../components/ldw-mat-image-gallery-dialog.component';\nimport { LDwMaterialImageUploadDialogComponent } from '../components/ldw-mat-image-upload-dialog.component';\nimport { LDW_MAT_MEDIA_API } from '../config/ldw-mat-media.config';\nimport { LDwMaterialMediaModel } from '../models/ldw-mat-media.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LDwMaterialMediaService {\n\n private readonly MEDIA_API$ = inject(LDW_MAT_MEDIA_API);\n\n private readonly lduApiService$ = inject(LDuAnguBootApiService);\n\n private readonly matDialog$ = inject(MatDialog);\n\n async uploadImage(uploadUrl: string, uploadConfig?: {\n height?: string;\n width?: string;\n maxHeight?: string;\n maxWidth?: string;\n }, type: 'jpg' | 'png' = 'jpg', data?: LDwMaterialMediaModel) {\n const config = {\n height: uploadConfig?.height ?? 'calc(100% - 1rem)',\n width: uploadConfig?.width ?? 'calc(100% - 1rem)',\n maxHeight: uploadConfig?.maxHeight ?? '100%',\n maxWidth: uploadConfig?.maxWidth ?? '100%',\n panelClass: 'ldw-mat-image-upload-dialog-panel',\n data: {\n imgAlt: data?.imgAlt,\n imgSrc: data?.imgSrc,\n imgBase64: data?.imgBase64,\n },\n };\n const media = await firstValueFrom(this.matDialog.open(LDwMaterialImageUploadDialogComponent, config).afterClosed());\n if (media?.imgBase64) {\n const response = await firstValueFrom(this.apiService.PUT<LDwMaterialMediaModel>(uploadUrl, media));\n if (response?.id) {\n switch (type) {\n case 'jpg':\n return this.apiService.url(`${this.ENV.url}/${response.id}.jpg?t=${Date.now()}`);\n case 'png':\n return this.apiService.url(`${this.ENV.url}/${response.id}.png?t=${Date.now()}`);\n default:\n break;\n }\n }\n }\n return null;\n }\n\n async deleteImage(deleteUrl: string) {\n return firstValueFrom(this.apiService.DELETE(`${deleteUrl}`));\n }\n\n async getGallery(galleryUrl: string) {\n return firstValueFrom(this.apiService.GET(`${galleryUrl}`));\n }\n\n openGallery(galleryUrl: string, galleryConfig?: {\n height?: string;\n width?: string;\n maxHeight?: string;\n maxWidth?: string;\n }) {\n const config = {\n height: galleryConfig?.height ?? 'calc(100% - 1rem)',\n width: galleryConfig?.width ?? 'calc(100% - 1rem)',\n maxHeight: galleryConfig?.maxHeight ?? '100%',\n maxWidth: galleryConfig?.maxWidth ?? '100%',\n panelClass: 'ldw-mat-image-gallery-dialog-panel',\n data: { galleryUrl },\n };\n return this.matDialog.open(LDwMaterialImageGalleryDialogComponent, config);\n }\n\n async uploadGallery(galleryUrl: string, imgBase64: string | null | undefined, type: 'jpg' | 'png' = 'jpg') {\n if (imgBase64) {\n const response = await firstValueFrom(this.apiService.PUT<LDwMaterialMediaModel>(galleryUrl, { imgBase64 }));\n if (response?.id) {\n switch (type) {\n case 'jpg':\n return this.apiService.url(`${this.ENV.url}/${response.id}.jpg?t=${Date.now()}`);\n case 'png':\n return this.apiService.url(`${this.ENV.url}/${response.id}.png?t=${Date.now()}`);\n default:\n break;\n }\n }\n }\n return null;\n }\n\n async deleteGallery(galleryUrl: string) {\n return firstValueFrom(this.apiService.DELETE(`${galleryUrl}`));\n }\n\n get ENV() { return this.MEDIA_API$; }\n\n get apiService() { return this.lduApiService$; }\n\n get matDialog() { return this.matDialog$; }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, inject, Input, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LDuAnguBootTranslationPipe } from '@ldu-anguboot/i18n';\nimport { LDwMaterialGalleryModel, LDwMaterialMediaModel } from '../models/ldw-mat-media.model';\nimport { LDwMaterialMediaService } from '../services/ldw-mat-media.service';\n\n@Component({\n selector: 'ldw-mat-image-gallery-dialog',\n host: { class: 'ldw-mat-image-gallery-dialog' },\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n LDuAnguBootTranslationPipe,\n ],\n template: `\n <h2 mat-dialog-title>{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.title' | i18n }}</h2>\n <mat-dialog-content>\n <input class=\"ldw-mat-image-gallery-hidden-input\"\n #uploader type=\"file\" [multiple]=\"multiple\"\n [style.display]=\"'none'\"\n (change)=\"onFileChange($event)\"\n />\n <div class=\"ldw-mat-image-gallery--instance\">\n <div class=\"ldw-mat-image-gallery-item ldw-mat-image-gallery-item--upload\"\n (keypress)=\"uploader.click()\"\n (click)=\"uploader.click()\"\n ><mat-icon>add</mat-icon>\n </div>\n @for (image of gallery; track image.id)\n {\n <div class=\"ldw-mat-image-gallery-item\">\n <a [href]=\"image.imgSrc\" target=\"_blank\"\n (click)=\"onViewClick(image.imgSrc)\"\n ><img [src]=\"image.imgSrc\" [alt]=\"image.imgAlt\" />\n </a>\n <mat-icon\n (keypress)=\"onDeleteClick(image.id)\"\n (click)=\"onDeleteClick(image.id)\"\n >delete</mat-icon>\n </div>\n }\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n class=\"ldw-mat-image-gallery-save\"\n matButton\n (click)=\"onSaveClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.btnSave' | i18n }}</button>\n <button\n class=\"ldw-mat-image-gallery-cancel\"\n matButton\n (click)=\"onCancelClick()\"\n >{{ 'LDU_ANGUBOOT_IMG_GALLERY_DIALOG.btnCancel' | i18n }}</button>\n </mat-dialog-actions>\n`})\nexport class LDwMaterialImageGalleryDialogComponent implements OnInit {\n\n protected readonly service = inject(LDwMaterialMediaService);\n\n protected readonly cdr = inject(ChangeDetectorRef);\n\n readonly dialogRef = inject(MatDialogRef<LDwMaterialImageGalleryDialogComponent>);\n\n readonly data = inject<LDwMaterialGalleryModel>(MAT_DIALOG_DATA);\n\n @Input() multiple = false;\n\n gallery: LDwMaterialMediaModel[] = [];\n\n ngOnInit() {\n this.load();\n }\n\n onSaveClick() {\n this.dialogRef.close(true);\n }\n\n onCancelClick() {\n this.dialogRef.close(false);\n }\n\n onFileChange($event: any) {\n const files = $event?.target?.files;\n if (this.multiple && files) {\n for (const file of files) {\n this.doUploadPicture(file);\n }\n } else if (files?.[0]) {\n this.doUploadPicture(files[0]);\n }\n }\n\n private doUploadPicture(file: any) {\n if (file) {\n const picture = file;\n const reader = new FileReader();\n reader.readAsDataURL(picture);\n reader.onload = () => {\n const imgBase64 = (reader.result as string).toString();\n this.service.uploadGallery(this.data.galleryUrl, imgBase64).then(() => this.load());\n };\n }\n }\n\n onViewClick(imgBase64: string | null | undefined) {\n if (imgBase64) {\n const base64Data = imgBase64.split(',')[1] || imgBase64;\n const byteCharacters = atob(base64Data);\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.codePointAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n const blob = new Blob([byteArray], { type: 'image/jpg' });\n const url = URL.createObjectURL(blob);\n window.open(url, '_blank');\n }\n }\n\n onDeleteClick(id: number | null | undefined) {\n this.service.deleteGallery(`${this.data.galleryUrl}/${id}`).then(() => this.load());\n }\n\n protected async load() {\n const response = await this.service.getGallery(this.data.galleryUrl);\n this.gallery = response as LDwMaterialMediaModel[];\n this.cdr.detectChanges();\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Input } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { LDwMaterialMediaService } from '../services/ldw-mat-media.service';\n\n@Component({\n selector: 'ldw-mat-image-uploader',\n host: { class: 'ldw-mat-image-uploader' },\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n ],\n template: `\n <form\n [formGroup]=\"formParent\"\n novalidate\n ><mat-form-field\n [appearance]=\"appearance\"\n ><mat-label\n [innerHTML]=\"label\" />\n <input matInput\n [name]=\"name\"\n [formControlName]=\"formParentControlName\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n />\n @if (dimensions)\n {\n <mat-hint>{{ dimensions }}.{{ type }}</mat-hint>\n }\n <div matSuffix>\n @if (control.value)\n {\n <a matIconButton\n [href]=\"control.value\"\n target=\"_blank\"\n ><mat-icon>visibility</mat-icon>\n </a>\n }\n @if (!readonly)\n {\n <button matIconButton\n (click)=\"onUploadClick()\"\n ><mat-icon>add_photo_alternate</mat-icon>\n </button>\n <button matIconButton\n (click)=\"onDeleteClick()\"\n ><mat-icon>delete</mat-icon>\n </button>\n }\n </div>\n <ng-content/>\n </mat-form-field>\n </form>\n`})\nexport class LDwMaterialImageUploaderComponent {\n\n protected readonly service = inject(LDwMaterialMediaService);\n\n protected readonly$: string | boolean = false;\n\n protected required$: string | boolean = false;\n\n @Input({ required: true })\n formParent: FormGroup = new FormGroup({\n value: new FormControl<string | null | undefined>(null, [])\n });\n\n @Input({ required: true })\n formParentControlName = 'value';\n\n @Input({ required: true })\n label = 'Value';\n\n @Input()\n appearance: 'fill' | 'outline' = 'outline';\n\n @Input()\n name = 'value';\n\n @Input()\n type: 'jpg' | 'png' = 'jpg';\n\n @Input()\n dimensions: string | null | undefined;\n\n @Input()\n api: string | null | undefined;\n\n @Input()\n set readonly(v) { this.readonly$ = coerceBooleanProperty(v); }\n\n @Input()\n set required(v) { this.required$ = coerceBooleanProperty(v); }\n\n async onUploadClick() {\n if (this.api) {\n const mediaUrl = await this.service.uploadImage(`${this.api}`);\n if (mediaUrl) {\n this.control.setValue(mediaUrl);\n }\n }\n }\n\n async onDeleteClick() {\n if (this.api) {\n await this.service.deleteImage(this.api);\n }\n this.control.setValue(null);\n }\n\n get readonly() { return this.readonly$; };\n\n get required() { return this.required$; };\n\n get control() {\n return this.formParent?.get(this.formParentControlName) as FormControl<string | null | undefined>;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { LDwMaterialImageGalleryDialogComponent } from '../components/ldw-mat-image-gallery-dialog.component';\n\nconst components = [\n LDwMaterialImageGalleryDialogComponent,\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class LDwMaterialImageGalleryModule { }\n","import { NgModule } from '@angular/core';\nimport { LDwMaterialImageUploadDialogComponent } from '../components/ldw-mat-image-upload-dialog.component';\nimport { LDwMaterialImageUploaderComponent } from '../components/ldw-mat-image-uploader.component';\n\nconst components = [\n LDwMaterialImageUploadDialogComponent,\n LDwMaterialImageUploaderComponent,\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class LDwMaterialImageUploaderModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i5","components"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -49,16 +49,18 @@ declare class LDwMaterialImageGalleryDialogComponent implements OnInit {
|
|
|
49
49
|
protected readonly cdr: ChangeDetectorRef;
|
|
50
50
|
readonly dialogRef: MatDialogRef<any, any>;
|
|
51
51
|
readonly data: LDwMaterialGalleryModel;
|
|
52
|
+
multiple: boolean;
|
|
52
53
|
gallery: LDwMaterialMediaModel[];
|
|
53
54
|
ngOnInit(): void;
|
|
54
55
|
onSaveClick(): void;
|
|
55
56
|
onCancelClick(): void;
|
|
56
57
|
onFileChange($event: any): void;
|
|
58
|
+
private doUploadPicture;
|
|
57
59
|
onViewClick(imgBase64: string | null | undefined): void;
|
|
58
60
|
onDeleteClick(id: number | null | undefined): void;
|
|
59
61
|
protected load(): Promise<void>;
|
|
60
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<LDwMaterialImageGalleryDialogComponent, never>;
|
|
61
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LDwMaterialImageGalleryDialogComponent, "ldw-mat-image-gallery-dialog", never, {}, {}, never, never, true, never>;
|
|
63
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LDwMaterialImageGalleryDialogComponent, "ldw-mat-image-gallery-dialog", never, { "multiple": { "alias": "multiple"; "required": false; }; }, {}, never, never, true, never>;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
declare class LDwMaterialImageUploadDialogComponent {
|