@ldw-framework/material-media 0.5.0 → 0.5.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.
@@ -22,9 +22,6 @@ class LDwMaterialImageUploadDialogComponent {
22
22
  dialogRef = inject((MatDialogRef));
23
23
  data = inject(MAT_DIALOG_DATA);
24
24
  cdr = inject(ChangeDetectorRef);
25
- ngOnInit() {
26
- console.log(this.data);
27
- }
28
25
  onSaveClick() {
29
26
  this.dialogRef.close(this.data);
30
27
  }
@@ -239,6 +236,20 @@ class LDwMaterialImageGalleryDialogComponent {
239
236
  };
240
237
  }
241
238
  }
239
+ onViewClick(imgBase64) {
240
+ if (imgBase64) {
241
+ const base64Data = imgBase64.split(',')[1] || imgBase64;
242
+ const byteCharacters = atob(base64Data);
243
+ const byteNumbers = new Array(byteCharacters.length);
244
+ for (let i = 0; i < byteCharacters.length; i++) {
245
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
246
+ }
247
+ const byteArray = new Uint8Array(byteNumbers);
248
+ const blob = new Blob([byteArray], { type: 'image/jpg' });
249
+ const url = URL.createObjectURL(blob);
250
+ window.open(url, '_blank');
251
+ }
252
+ }
242
253
  onDeleteClick(id) {
243
254
  this.service.deleteGallery(`${this.data.galleryUrl}/${id}`).then(() => this.load());
244
255
  }
@@ -257,17 +268,17 @@ class LDwMaterialImageGalleryDialogComponent {
257
268
  (change)="onFileChange($event)"
258
269
  />
259
270
  <div class="ldw-mat-image-gallery--instance">
260
- <div class="ldw-mat-image-gallery-item ldw-mat-image-gallery-item--upload">
261
- <mat-icon
271
+ <div class="ldw-mat-image-gallery-item ldw-mat-image-gallery-item--upload"
262
272
  (keypress)="uploader.click()"
263
273
  (click)="uploader.click()"
264
- >add</mat-icon>
274
+ ><mat-icon>add</mat-icon>
265
275
  </div>
266
276
  @for (image of gallery; track image.id)
267
277
  {
268
278
  <div class="ldw-mat-image-gallery-item">
269
- <a [href]="image.imgSrc" target="_blank">
270
- <img [src]="image.imgSrc" [alt]="image.imgAlt" />
279
+ <a [href]="image.imgSrc" target="_blank"
280
+ (click)="onViewClick(image.imgSrc)"
281
+ ><img [src]="image.imgSrc" [alt]="image.imgAlt" />
271
282
  </a>
272
283
  <mat-icon
273
284
  (keypress)="onDeleteClick(image.id)"
@@ -275,10 +286,6 @@ class LDwMaterialImageGalleryDialogComponent {
275
286
  >delete</mat-icon>
276
287
  </div>
277
288
  }
278
- @empty
279
- {
280
- <mat-icon>image</mat-icon>
281
- }
282
289
  </div>
283
290
  </mat-dialog-content>
284
291
  <mat-dialog-actions>
@@ -316,17 +323,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
316
323
  (change)="onFileChange($event)"
317
324
  />
318
325
  <div class="ldw-mat-image-gallery--instance">
319
- <div class="ldw-mat-image-gallery-item ldw-mat-image-gallery-item--upload">
320
- <mat-icon
326
+ <div class="ldw-mat-image-gallery-item ldw-mat-image-gallery-item--upload"
321
327
  (keypress)="uploader.click()"
322
328
  (click)="uploader.click()"
323
- >add</mat-icon>
329
+ ><mat-icon>add</mat-icon>
324
330
  </div>
325
331
  @for (image of gallery; track image.id)
326
332
  {
327
333
  <div class="ldw-mat-image-gallery-item">
328
- <a [href]="image.imgSrc" target="_blank">
329
- <img [src]="image.imgSrc" [alt]="image.imgAlt" />
334
+ <a [href]="image.imgSrc" target="_blank"
335
+ (click)="onViewClick(image.imgSrc)"
336
+ ><img [src]="image.imgSrc" [alt]="image.imgAlt" />
330
337
  </a>
331
338
  <mat-icon
332
339
  (keypress)="onDeleteClick(image.id)"
@@ -334,10 +341,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
334
341
  >delete</mat-icon>
335
342
  </div>
336
343
  }
337
- @empty
338
- {
339
- <mat-icon>image</mat-icon>
340
- }
341
344
  </div>
342
345
  </mat-dialog-content>
343
346
  <mat-dialog-actions>
@@ -421,14 +424,17 @@ class LDwMaterialImageUploaderComponent {
421
424
  ><mat-icon>visibility</mat-icon>
422
425
  </a>
423
426
  }
424
- <button matIconButton
425
- (click)="onUploadClick()"
426
- ><mat-icon>add_photo_alternate</mat-icon>
427
- </button>
428
- <button matIconButton
429
- (click)="onDeleteClick()"
430
- ><mat-icon>delete</mat-icon>
431
- </button>
427
+ @if (!readonly)
428
+ {
429
+ <button matIconButton
430
+ (click)="onUploadClick()"
431
+ ><mat-icon>add_photo_alternate</mat-icon>
432
+ </button>
433
+ <button matIconButton
434
+ (click)="onDeleteClick()"
435
+ ><mat-icon>delete</mat-icon>
436
+ </button>
437
+ }
432
438
  </div>
433
439
  <ng-content/>
434
440
  </mat-form-field>
@@ -476,14 +482,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
476
482
  ><mat-icon>visibility</mat-icon>
477
483
  </a>
478
484
  }
479
- <button matIconButton
480
- (click)="onUploadClick()"
481
- ><mat-icon>add_photo_alternate</mat-icon>
482
- </button>
483
- <button matIconButton
484
- (click)="onDeleteClick()"
485
- ><mat-icon>delete</mat-icon>
486
- </button>
485
+ @if (!readonly)
486
+ {
487
+ <button matIconButton
488
+ (click)="onUploadClick()"
489
+ ><mat-icon>add_photo_alternate</mat-icon>
490
+ </button>
491
+ <button matIconButton
492
+ (click)="onDeleteClick()"
493
+ ><mat-icon>delete</mat-icon>
494
+ </button>
495
+ }
487
496
  </div>
488
497
  <ng-content/>
489
498
  </mat-form-field>
@@ -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 ngOnInit() {\n console.log(this.data)\n }\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 <mat-icon\n (keypress)=\"uploader.click()\"\n (click)=\"uploader.click()\"\n >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 <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 @empty\n {\n <mat-icon>image</mat-icon>\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 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 <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 </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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"}
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ldw-framework/material-media",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^21.0.0",
6
6
  "@angular/common": "^21.0.0",
@@ -57,7 +57,7 @@
57
57
  display: flex;
58
58
  flex-direction: row;
59
59
  flex-wrap: wrap;
60
- justify-content: center;
60
+ justify-content: flex-start;
61
61
  overflow: auto;
62
62
 
63
63
  .ldw-mat-image-gallery-item {
@@ -107,4 +107,10 @@
107
107
  }
108
108
  }
109
109
  }
110
+ }
111
+
112
+ .ldw-mat-image-uploader {
113
+ width: 100%;
114
+ margin-left: 8px;
115
+ margin-right: -8px;
110
116
  }
@@ -54,6 +54,7 @@ declare class LDwMaterialImageGalleryDialogComponent implements OnInit {
54
54
  onSaveClick(): void;
55
55
  onCancelClick(): void;
56
56
  onFileChange($event: any): void;
57
+ onViewClick(imgBase64: string | null | undefined): void;
57
58
  onDeleteClick(id: number | null | undefined): void;
58
59
  protected load(): Promise<void>;
59
60
  static ɵfac: i0.ɵɵFactoryDeclaration<LDwMaterialImageGalleryDialogComponent, never>;
@@ -64,7 +65,6 @@ declare class LDwMaterialImageUploadDialogComponent {
64
65
  readonly dialogRef: MatDialogRef<any, any>;
65
66
  readonly data: LDwMaterialMediaModel;
66
67
  readonly cdr: ChangeDetectorRef;
67
- ngOnInit(): void;
68
68
  onSaveClick(): void;
69
69
  onCancelClick(): void;
70
70
  onFileChange($event: any): void;