@wizishop/img-manager-webelement 15.2.21 → 15.2.23

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, inject, NgModule } from '@angular/core';
2
+ import { Injectable, inject, Component, NgModule } from '@angular/core';
3
3
  import * as i2 from '@wizishop/img-manager';
4
4
  import { ImgSelectionService, WzImgManagerModule, ApiService } from '@wizishop/img-manager';
5
5
  import * as i1$1 from '@ngx-translate/core';
@@ -9,9 +9,9 @@ import { HttpHeaders, HttpClientModule } from '@angular/common/http';
9
9
  import { fromEvent, Observable, forkJoin, tap } from 'rxjs';
10
10
  import { take } from 'rxjs/operators';
11
11
  import { StorageByKey } from '@wizishop/ng-web-storages/shared';
12
- import * as i7 from '@angular/common';
13
- import { CommonModule } from '@angular/common';
14
12
  import { LocalStorageService } from '@wizishop/ng-web-storages/local-storage';
13
+ import * as i6 from '@angular/common';
14
+ import { CommonModule } from '@angular/common';
15
15
 
16
16
  // Use locally for this project
17
17
  const environmentWiziDevLocal = {
@@ -149,6 +149,10 @@ AuthCredentialsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
149
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AuthCredentialsService, decorators: [{
150
150
  type: Injectable
151
151
  }] });
152
+ const provideAuthCredentialsService = () => ({
153
+ provide: AuthCredentialsService,
154
+ useFactory: () => new StorageByKey(inject(LocalStorageService), environment.wiziApiCredentialsKey),
155
+ });
152
156
  ;
153
157
 
154
158
  class FicheProductService {
@@ -172,7 +176,6 @@ class FicheProductService {
172
176
  image_height: '900',
173
177
  };
174
178
  this.subscriptions = [];
175
- this.authCredentialsService.getSync();
176
179
  }
177
180
  setApiConfig() {
178
181
  const matches = window.location.pathname.match(/\/(\w+)\/products\/(\d+)\/edit/);
@@ -381,87 +384,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
381
384
  type: Injectable
382
385
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ImgSelectionService }, { type: EventService }, { type: i2.CanvaService }, { type: AuthCredentialsService }]; } });
383
386
 
384
- class WebelementImageManagerApiService {
385
- constructor(http) {
386
- this.http = http;
387
- this.shopId = null;
388
- this.CONFIG = {
389
- image_manager_route: environment.wizi_api + "/image-manager/shops/" + this.shopId,
390
- canva_token: 'wdByHayF5v57nj2ZSLvu055O',
391
- canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',
392
- pexels_token: '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94',
393
- pexels_route: 'https://api.pexels.com/v1',
394
- shop_category: 'other',
395
- assets_route: environment.assets_route,
396
- };
397
- this.IMG_SIZE = {
398
- url_raw_image: `${environment.CDN_URL}${this.shopId}/RAW-`,
399
- url_100_image: `${environment.CDN_URL}${this.shopId}/m100-`,
400
- url_200_image: `${environment.CDN_URL}${this.shopId}/cs200-`,
401
- url_400_image: `${environment.CDN_URL}${this.shopId}/cs400-`,
402
- url_800_image: `${environment.CDN_URL}${this.shopId}/cs800-`
403
- };
404
- }
405
- getOptionsHeaders(params) {
406
- const header = { headers: new HttpHeaders({
407
- Authorization: 'Bearer ' + this.shopToken
408
- })
409
- };
410
- if (params) {
411
- header['params'] = params;
412
- }
413
- return header;
414
- }
415
- getShopCategory() {
416
- return 'other';
417
- }
418
- getShopImgList(params) {
419
- return this.http.get(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));
420
- }
421
- getShopTotalImgList(params) {
422
- return this.http.get(`${this.CONFIG.image_manager_route}/total/images`, this.getOptionsHeaders(params));
423
- }
424
- getShopImg(idFile) {
425
- return this.http.get(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());
426
- }
427
- uploadFile(formData) {
428
- return this.http.post(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());
429
- }
430
- uploadFileByUrl(url, fileName) {
431
- return this.http.post(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());
432
- }
433
- replaceImg(imageBase64, id_file) {
434
- const body = {
435
- imageBase64,
436
- type: "RAW"
437
- };
438
- return this.http.put(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());
439
- }
440
- changeImgName(fileName, id_file) {
441
- return this.http.put(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
442
- }
443
- removeImg(id_file) {
444
- return this.http.delete(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());
445
- }
446
- removeMultipleImg(id_array) {
447
- return this.http.post(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
448
- }
449
- setShopCategory(shopId) {
450
- return this.http.get(`${environment.wizi_api}/shops/${shopId}`, this.getOptionsHeaders()).pipe(tap((shop => {
451
- if (shop && shop['category']) {
452
- this.CONFIG.shop_category = shop['category'];
453
- }
454
- })));
455
- }
456
- }
457
- WebelementImageManagerApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
458
- WebelementImageManagerApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService });
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService, decorators: [{
460
- type: Injectable
461
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
462
-
463
387
  class ImgManagerWebElementComponent {
464
- constructor(translateService, canvaService, ficheProductService, authCredentialsService, eventService, imgManagerService, imgSelectionService, webelementImageManagerApiService) {
388
+ constructor(translateService, canvaService, ficheProductService, authCredentialsService, eventService, imgManagerService, imgSelectionService) {
465
389
  this.translateService = translateService;
466
390
  this.canvaService = canvaService;
467
391
  this.ficheProductService = ficheProductService;
@@ -469,16 +393,17 @@ class ImgManagerWebElementComponent {
469
393
  this.eventService = eventService;
470
394
  this.imgManagerService = imgManagerService;
471
395
  this.imgSelectionService = imgSelectionService;
472
- this.webelementImageManagerApiService = webelementImageManagerApiService;
396
+ // shop config
397
+ this.id_shop = this.authCredentialsService.getSync().data.shop_id;
398
+ this.token_shop = this.authCredentialsService.getSync().data.token;
473
399
  // img manger config
474
- this.openImgManager = false;
400
+ this.openImgManager = true;
475
401
  this.loading = true;
476
402
  // fiche product config
477
403
  this.isPhotosTab = !!environment.isPhotosTab;
478
404
  this.subscriptions = [];
479
405
  }
480
406
  ngOnInit() {
481
- console.log('this.authCredentialsService.getSync()', this.authCredentialsService.getSync());
482
407
  this.loading = true;
483
408
  this.pageFicheProductConfig = this.imgManagerService.getImgManagerDisplayConfig("fiche-product");
484
409
  this.pageEventConfig = this.imgManagerService.getImgManagerDisplayConfig("wizi-block");
@@ -501,11 +426,9 @@ class ImgManagerWebElementComponent {
501
426
  return;
502
427
  }
503
428
  // Run on local Server
504
- this.setAppVars(environment.local.shopId, environment.local.token);
505
429
  this.imgManagerDisplayConfig = this.pageFicheProductConfig;
506
430
  return;
507
431
  }
508
- this.setAppVars(authCredentials.shop_id, authCredentials.token);
509
432
  }
510
433
  setFicheProductPage() {
511
434
  this.ficheProductService.setApiConfig();
@@ -559,32 +482,103 @@ class ImgManagerWebElementComponent {
559
482
  }
560
483
  closeImgManagerOnSwitchingTab() {
561
484
  const tabsCloseSub = this.ficheProductService.switchTabs().subscribe(data => {
562
- console.log('switchTabs');
563
485
  this.openImgManager = false;
564
486
  });
565
487
  this.subscriptions.push(tabsCloseSub);
566
488
  }
567
- setAppVars(shopId, token) {
568
- this.webelementImageManagerApiService.shopToken = token;
569
- this.webelementImageManagerApiService.shopId = shopId;
570
- if (shopId) {
571
- this.webelementImageManagerApiService.setShopCategory(shopId).subscribe();
572
- }
573
- }
574
489
  ngOnDestroy() {
575
490
  this.subscriptions.forEach(sub => sub.unsubscribe());
576
491
  }
577
492
  }
578
- ImgManagerWebElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerWebElementComponent, deps: [{ token: i1$1.TranslateService }, { token: i2.CanvaService }, { token: FicheProductService }, { token: AuthCredentialsService }, { token: EventService }, { token: i2.ImgManagerService }, { token: i2.ImgSelectionService }, { token: WebelementImageManagerApiService }], target: i0.ɵɵFactoryTarget.Component });
493
+ ImgManagerWebElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerWebElementComponent, deps: [{ token: i1$1.TranslateService }, { token: i2.CanvaService }, { token: FicheProductService }, { token: AuthCredentialsService }, { token: EventService }, { token: i2.ImgManagerService }, { token: i2.ImgSelectionService }], target: i0.ɵɵFactoryTarget.Component });
579
494
  ImgManagerWebElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgManagerWebElementComponent, selector: "img-manager-webelement", providers: [
580
495
  ImgSelectionService
581
- ], ngImport: i0, template: "<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WzImgManagerComponent, selector: "wz-img-manager", inputs: ["stateDisplayed", "showSelection", "forceToOpenCanva", "multipleImgMode", "showImgManagerModule"], outputs: ["imgManagerClosed", "imgSelectionChange", "imageUploaded"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
496
+ ], ngImport: i0, template: "<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WzImgManagerComponent, selector: "wz-img-manager", inputs: ["stateDisplayed", "showSelection", "forceToOpenCanva", "multipleImgMode", "showImgManagerModule"], outputs: ["imgManagerClosed", "imgSelectionChange", "imageUploaded"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
582
497
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerWebElementComponent, decorators: [{
583
498
  type: Component,
584
499
  args: [{ selector: 'img-manager-webelement', providers: [
585
500
  ImgSelectionService
586
501
  ], template: "<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>" }]
587
- }], ctorParameters: function () { return [{ type: i1$1.TranslateService }, { type: i2.CanvaService }, { type: FicheProductService }, { type: AuthCredentialsService }, { type: EventService }, { type: i2.ImgManagerService }, { type: i2.ImgSelectionService }, { type: WebelementImageManagerApiService }]; } });
502
+ }], ctorParameters: function () { return [{ type: i1$1.TranslateService }, { type: i2.CanvaService }, { type: FicheProductService }, { type: AuthCredentialsService }, { type: EventService }, { type: i2.ImgManagerService }, { type: i2.ImgSelectionService }]; } });
503
+
504
+ class WebelementImageManagerApiService {
505
+ constructor(http) {
506
+ this.http = http;
507
+ this.shopId = null;
508
+ this.CONFIG = {
509
+ image_manager_route: environment.wizi_api + "/image-manager/shops/" + this.shopId,
510
+ canva_token: 'wdByHayF5v57nj2ZSLvu055O',
511
+ canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',
512
+ pexels_token: '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94',
513
+ pexels_route: 'https://api.pexels.com/v1',
514
+ shop_category: 'other',
515
+ assets_route: environment.assets_route,
516
+ };
517
+ this.IMG_SIZE = {
518
+ url_raw_image: `${environment.CDN_URL}${this.shopId}/RAW-`,
519
+ url_100_image: `${environment.CDN_URL}${this.shopId}/m100-`,
520
+ url_200_image: `${environment.CDN_URL}${this.shopId}/cs200-`,
521
+ url_400_image: `${environment.CDN_URL}${this.shopId}/cs400-`,
522
+ url_800_image: `${environment.CDN_URL}${this.shopId}/cs800-`
523
+ };
524
+ }
525
+ getOptionsHeaders(params) {
526
+ const header = { headers: new HttpHeaders({
527
+ Authorization: 'Bearer ' + this.shopToken
528
+ })
529
+ };
530
+ if (params) {
531
+ header['params'] = params;
532
+ }
533
+ return header;
534
+ }
535
+ getShopCategory() {
536
+ return 'other';
537
+ }
538
+ getShopImgList(params) {
539
+ return this.http.get(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));
540
+ }
541
+ getShopTotalImgList(params) {
542
+ return this.http.get(`${this.CONFIG.image_manager_route}/total/images`, this.getOptionsHeaders(params));
543
+ }
544
+ getShopImg(idFile) {
545
+ return this.http.get(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());
546
+ }
547
+ uploadFile(formData) {
548
+ return this.http.post(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());
549
+ }
550
+ uploadFileByUrl(url, fileName) {
551
+ return this.http.post(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());
552
+ }
553
+ replaceImg(imageBase64, id_file) {
554
+ const body = {
555
+ imageBase64,
556
+ type: "RAW"
557
+ };
558
+ return this.http.put(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());
559
+ }
560
+ changeImgName(fileName, id_file) {
561
+ return this.http.put(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());
562
+ }
563
+ removeImg(id_file) {
564
+ return this.http.delete(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());
565
+ }
566
+ removeMultipleImg(id_array) {
567
+ return this.http.post(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());
568
+ }
569
+ setShopCategory(shopId) {
570
+ return this.http.get(`${environment.wizi_api}/shops/${shopId}`, this.getOptionsHeaders()).pipe(tap((shop => {
571
+ if (shop && shop['category']) {
572
+ this.CONFIG.shop_category = shop['category'];
573
+ }
574
+ })));
575
+ }
576
+ }
577
+ WebelementImageManagerApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
578
+ WebelementImageManagerApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService });
579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WebelementImageManagerApiService, decorators: [{
580
+ type: Injectable
581
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
588
582
 
589
583
  class ImgManagerWebElementModule {
590
584
  }
@@ -592,21 +586,14 @@ ImgManagerWebElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0
592
586
  ImgManagerWebElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerWebElementModule, declarations: [ImgManagerWebElementComponent], imports: [CommonModule,
593
587
  HttpClientModule, i2.WzImgManagerModule, TranslateModule], exports: [ImgManagerWebElementComponent] });
594
588
  ImgManagerWebElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerWebElementModule, providers: [
595
- {
596
- provide: WebelementImageManagerApiService,
597
- useClass: WebelementImageManagerApiService,
598
- },
599
589
  FicheProductService,
600
590
  EventService,
601
- {
602
- provide: AuthCredentialsService,
603
- useFactory: () => new StorageByKey(inject(LocalStorageService), environment.wiziApiCredentialsKey),
604
- }
591
+ provideAuthCredentialsService()
605
592
  ], imports: [CommonModule,
606
593
  HttpClientModule,
607
594
  WzImgManagerModule.withConfig({
608
595
  provide: ApiService,
609
- useExisting: WebelementImageManagerApiService,
596
+ useClass: WebelementImageManagerApiService,
610
597
  }),
611
598
  TranslateModule] });
612
599
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgManagerWebElementModule, decorators: [{
@@ -618,22 +605,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
618
605
  HttpClientModule,
619
606
  WzImgManagerModule.withConfig({
620
607
  provide: ApiService,
621
- useExisting: WebelementImageManagerApiService,
608
+ useClass: WebelementImageManagerApiService,
622
609
  }),
623
610
  TranslateModule,
624
611
  ],
625
612
  exports: [ImgManagerWebElementComponent],
626
613
  providers: [
627
- {
628
- provide: WebelementImageManagerApiService,
629
- useClass: WebelementImageManagerApiService,
630
- },
631
614
  FicheProductService,
632
615
  EventService,
633
- {
634
- provide: AuthCredentialsService,
635
- useFactory: () => new StorageByKey(inject(LocalStorageService), environment.wiziApiCredentialsKey),
636
- }
616
+ provideAuthCredentialsService()
637
617
  ]
638
618
  }]
639
619
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"wizishop-img-manager-webelement.mjs","sources":["../../../../projects/img-manager-webelement/src/lib/environments/environment.ts","../../../../projects/img-manager-webelement/src/lib/services/event.service.ts","../../../../projects/img-manager-webelement/src/lib/services/auth-credentials.service.ts","../../../../projects/img-manager-webelement/src/lib/services/fiche_products.service.ts","../../../../projects/img-manager-webelement/src/lib/services/webelement-image-manager-api.config.ts","../../../../projects/img-manager-webelement/src/lib/img-manager-webelement.component.ts","../../../../projects/img-manager-webelement/src/lib/img-manager-webelement.component.html","../../../../projects/img-manager-webelement/src/lib/img-manager-webelement.module.ts","../../../../projects/img-manager-webelement/src/public-api.ts","../../../../projects/img-manager-webelement/src/wizishop-img-manager-webelement.ts"],"sourcesContent":["export interface Environment {\n isWizishopcom: boolean;\n production: boolean;\n wizi_admin_api: string;\n wizi_api: string;\n CDN_URL: string;\n assets_route: string;\n translations_route: string;\n wiziApiCredentialsKey: string;\n local: any;\n product_sheet_endpoint: string;\n isPhotosTab?: boolean;\n}\n\n// Use locally for this project\nexport const environmentWiziDevLocal: Environment = {\n isWizishopcom: false,\n production: false,\n wizi_admin_api: \"https://admin.wizilocal.com/\",\n wizi_api: \"https://api.wizilocal.com/v3\",\n CDN_URL: \"http://debugshop.wizilocal.com/_i/\",\n assets_route : \"assets/img-manager/\",\n translations_route : \"./assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: 131,\n token : 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1c2VyX2lkIjo2LCJ1c2VyX2xvY2FsZSI6ImZyX0ZSIiwiaXNVc2VyQ29ubmVjdGVkRnJvbVZwbiI6ZmFsc2UsImV4cCI6MTY3NDM3NDkxMSwiaWF0IjoxNjcxNzgyOTExfQ.DbdBTaVLzLx5pE2FHTg8K0FcMsOY7yg7hAz7bjBQt4afke2ef_MfhXZx9ajtj6BciOsY5eYRgDp3r747iLc7CSThC6cNgPYZ9oMtN3MbFRYi5bktmPUVfbs2oxfWe9sNDwdpgMtw00d8YIO3ZTFZb3XzXW1hQIS2Ooy5x0GTGRgegIDAJYrVyVs8AC3TG8ZaC8g73iSMFnCrG85TAFbgjJb8ccU0HfB-h1I9LPE2LUzI5QE2vbsd6qo1XU59belW1SPv92Wgcd9IiHwuoeO3C2S2rQGUp-L8qprT6f5IeX-rp3XVmOVhTCNM4Dc0FdPdpL6p2jMVhhhu62fOZtNEXA'\n },\n product_sheet_endpoint: \"/products/ajax\",\n isPhotosTab: true\n};\n\nexport const environmentWiziDev: Environment = {\n isWizishopcom: true,\n production: false,\n wizi_admin_api: \"https://admin.wizilocal.com/\",\n wizi_api: \"https://api.wizilocal.com/v3\",\n CDN_URL: \"https://media.wizilocal.com/_i/\",\n assets_route : \"https://js.wizilocal.com/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.wizilocal.com/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nexport const environmentProd: Environment = {\n isWizishopcom: true,\n production: true,\n wizi_admin_api: \"https://admin.wizishop.com/\",\n wizi_api: \"https://api.wizishop.com/v3\",\n CDN_URL: \"https://media.cdnws.com/_i/\",\n assets_route : \"https://js.wizishop.com/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.wizishop.com/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nexport const environmentDropiziDev: Environment = {\n isWizishopcom: true,\n production: false,\n wizi_admin_api: \"https://admin.dropilocal.com/\",\n wizi_api: \"https://api.dropilocal.com/v3\",\n CDN_URL: \"https://media.dropilocal.com/_i/\",\n assets_route : \"https://js.dropilocal.fr/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.dropilocal.com/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nexport const environmentDropiziProd: Environment = {\n isWizishopcom: true,\n production: true,\n wizi_admin_api: \"https://admin.dropizi.fr/\",\n wizi_api: \"https://api.wizishop.com/v3\",\n CDN_URL: \"https://media.cdnws.com/_i/\",\n assets_route : \"https://js.dropizi.fr/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.dropizi.fr/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nfunction getCurrentEnv() {\n const isDev = !!window.location.hostname.match(/local/);\n const isWizi = !!window.location.hostname.match(/wizi/);\n const serverLocal = !!window.location.port;\n\n if (serverLocal) {\n return environmentWiziDevLocal;\n }\n if (isDev) {\n if (isWizi) {\n return environmentWiziDev;\n }\n return environmentDropiziDev;\n } else {\n if (isWizi) {\n return environmentProd;\n }\n return environmentDropiziProd;\n }\n}\n\nexport const environment: Environment = Object.assign({}, getCurrentEnv());","import { Injectable } from '@angular/core';\nimport { ImgPictureDTO } from '@wizishop/img-manager';\nimport { fromEvent } from 'rxjs';\nimport { environment } from '../environments/environment';\n\n@Injectable()\nexport class EventService {\n\n // Sometimes, there are multiple img manager that listen at the same time at imgSelected event\n // It use by the listener, to know if the event is for him\n emitter: string;\n\n constructor() { }\n\n sendImgSelectedToPage(file : ImgPictureDTO) {\n const sendedFile = {\n ...file,\n cdn_img_src: ''\n };\n if (sendedFile) {\n sendedFile.cdn_img_src = `${environment.CDN_URL}${file.id_shop}/`;\n }\n\n const value = {\n detail: {\n \"file\": sendedFile,\n \"from\": this.emitter\n }\n };\n const event = new CustomEvent('imgSelected', value);\n const imgManagerModule= document.getElementById('imgManagerModule');\n imgManagerModule?.dispatchEvent(event);\n }\n\n pageAskForImg() {\n return fromEvent<any>(document.getElementById('imgManagerModule') as any, \"openImgManager\");\n }\n\n setEmitter(emitter: string) {\n this.emitter = emitter;\n }\n}","import { Injectable } from '@angular/core';\n\nimport { StorageByKey } from '@wizishop/ng-web-storages/shared';\n\n@Injectable()\nexport abstract class AuthCredentialsService extends StorageByKey<{data:AuthCredentials}> {\n}\n\nexport interface AuthCredentials {\n token: string;\n user_id: number;\n account_id: number;\n shop_id: number;\n};\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { forkJoin, fromEvent, Observable, Subscription } from \"rxjs\";\nimport { take } from 'rxjs/operators';\nimport { CanvaService, ImgPictureDTO, ImgSelectionService } from '@wizishop/img-manager';\nimport { EventService } from './event.service';\nimport { WiziBlockMediaDto } from '@wizishop/img-manager/lib/dto/wizi-block-media.dto';\nimport { environment } from '../environments/environment';\nimport { AuthCredentialsService } from './auth-credentials.service';\n\ndeclare const Wizi: any;\n\n@Injectable()\nexport class FicheProductService {\n\n productSheetApiRoute: string;\n image_manager_api: string = environment.wizi_api + \"/image-manager/shops/\";\n shopToken: string = this.authCredentialsService.getSync().data.token;\n shopId: number = this.authCredentialsService.getSync().data.shop_id;\n productId: string;\n isPhotosTab: boolean = false; // State of the Photos tabs in fiche product page\n isPreviousTabPhotos: boolean = false;\n isVariantsTab: boolean = false;\n loadProductImgSelection:boolean = false;\n currentProductImgSelection: ImgPictureDTO[];\n isProductCreation: boolean;\n expectedMediaDto:WiziBlockMediaDto = {\n id: '',\n image_url: '',\n image_width: '900',\n image_height: '900',\n }\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private http: HttpClient,\n private imgSelectionService: ImgSelectionService,\n private eventService: EventService,\n private canvaService: CanvaService,\n private authCredentialsService: AuthCredentialsService\n ) {\n this.authCredentialsService.getSync()\n }\n\n setApiConfig() {\n const matches = window.location.pathname.match( /\\/(\\w+)\\/products\\/(\\d+)\\/edit/);\n const lang = matches && matches[1] ? matches[1] : 'fr';\n this.productSheetApiRoute = environment.wizi_admin_api + lang + environment.product_sheet_endpoint;\n this.productId = matches && matches[2] ? matches[2] : \"0\";\n this.isProductCreation = /\\/products\\/create/.test(window.location.pathname);\n }\n\n /**\n * There is only one instance of this img manager.\n * But it is called with different config, by Photos tab and Variation tab, on fiche product page.\n * The method handle the switch config between Photos and Variation tab.\n * Return an observable : true => Photos tab / false => Variation tab.\n * */\n handleTabs():Observable<boolean> {\n return new Observable(observer => {\n\n const switchTabsSub =\n this.switchTabs().subscribe(data => {\n\n if (!data || !data[\"detail\"] || !data[\"detail\"][\"currentTab\"]) {\n return;\n }\n // Retrieve current tab\n const currentTab = data[\"detail\"][\"currentTab\"];\n this.isPreviousTabPhotos = this.isPhotosTab;\n this.isPhotosTab = currentTab === 'photos';\n this.isVariantsTab = currentTab === 'variation';\n\n // The user switch to Photos tab\n if (this.isPhotosTab) {\n this.loadProductImgSelection = true;\n if (!this.currentProductImgSelection || !this.currentProductImgSelection.length) {\n this.initProductImgSelection();\n } else {\n this.applyCurrentImgSelection();\n this.loadProductImgSelection = false;\n }\n\n } else if (this.isPreviousTabPhotos) { // The user switch to another tab\n // Save current img selection, in order to not lose the img selection\n this.saveCurrentImgSelection();\n }\n observer.next(this.isPhotosTab);\n });\n this.subscriptions.push(switchTabsSub);\n });\n }\n\n getShopImg(idFile: string): Observable<any> {\n return this.http.get(`${this.image_manager_api}${this.shopId}/images/${idFile}`, this.getOptionsHeadersWithBearer());\n }\n\n initProductImgSelection() {\n\n // Display the loader in img list selection\n this.imgSelectionService.imgSelectedListLoading$.next(true);\n\n // retrieve img selection\n const retrieveImgSelectionSub =\n this.retrieveImgSelection().subscribe(data => {\n\n // No imgage selected\n if (!data || !data[\"photos\"] || !data[\"photos\"][\"infos\"] || !data[\"photos\"][\"infos\"][\"files\"] || !data[\"photos\"][\"infos\"][\"files\"].length) {\n this.loadProductImgSelection = false;\n\n this.imgSelectionService.imgSelectedListLoading$.next(false);\n return;\n }\n\n const idImgSelectionList: number[] = data[\"photos\"][\"infos\"][\"files\"];\n const obsImg: Observable<any>[] = [];\n\n idImgSelectionList.forEach(idFile =>\n obsImg.push(\n this.getShopImg(idFile.toString()).pipe(take(1))\n ));\n const allImgSub =\n forkJoin(obsImg).subscribe((photos: ImgPictureDTO[]) => {\n // The img selection must be saved, otherwise it is lost when the user switch on variation tab\n this.saveCurrentImgSelection(photos);\n this.applyCurrentImgSelection();\n this.loadProductImgSelection = false;\n },\n error => {\n // Hide the loader in img list selection\n this.loadProductImgSelection = false;\n\n this.imgSelectionService.imgSelectedListLoading$.next(false);\n });\n this.subscriptions.push(allImgSub);\n });\n\n this.subscriptions.push(retrieveImgSelectionSub);\n this.canvaService.expectedImgSizesChange(this.expectedMediaDto);\n }\n\n retrieveInfoSelection() {\n const formData = new FormData();\n formData.append('rub', \"main\");\n formData.append('action', \"getInfos\");\n formData.append('prodId', this.productId);\n formData.append('_token', '');\n formData.append('_shid', this.shopId.toString());\n\n return this.http.post(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n }\n\n retrieveImgSelection() {\n const formData = new FormData();\n formData.append('rub', \"main\");\n formData.append('action', \"getAllInfos\");\n formData.append('prodId', this.productId);\n formData.append('_token', '');\n formData.append('_shid', this.shopId.toString());\n\n return this.http.post<any>(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n }\n\n updateImgSelectionOnChange() {\n // listen to the img manager change\n const imgSelectionSub =\n this.imgSelectionService.imgSelection$.subscribe(imgSelectionList => {\n if (!imgSelectionList) {\n return;\n }\n\n // Send the img selection\n if (this.isPhotosTab && !this.loadProductImgSelection) {\n // Retrieve only the img id\n const idImgSelectedList: number[] = [];\n imgSelectionList.forEach(img => {\n idImgSelectedList.push(parseInt(img.id_file));\n });\n\n this.updateProductImgSelection(idImgSelectedList);\n\n // On variation tab, send event with img selected\n } else if (!this.isPhotosTab && imgSelectionList.length) {\n this.eventService.sendImgSelectedToPage(imgSelectionList[0]);\n }\n });\n this.subscriptions.push(imgSelectionSub);\n }\n\n updateProductImgSelection(idsImgList: number[]) {\n if ((!this.productId || this.productId === \"0\") && Wizi._produit.global.PROD_ID) {\n this.productId = Wizi._produit.global.PROD_ID.toString();\n }\n\n Wizi._produit._dataTmp['photos'].infos = {};\n Wizi._produit._dataTmp['photos'].infos.files = idsImgList;\n this.emitImgSelectionChange(idsImgList);\n\n if (this.productId && this.productId !== \"0\") {\n const submitProd1 =\n this.submitProductImg(idsImgList).subscribe();\n this.subscriptions.push(submitProd1);\n return;\n }\n const createProductSub =\n this.createProduct().subscribe(\n (productId:number) => {\n if (!productId) {\n throw \"No product id created. Can not link image(s) to the new product.\";\n }\n Wizi._produit.global.PROD_ID = productId;\n\n this.productId = productId.toString();\n this.submitProductImg(idsImgList).subscribe();\n }\n );\n this.subscriptions.push(createProductSub);\n\n }\n\n submitProductImg(idsImgList: number[]) {\n const data = {\n files : idsImgList,\n couls: []\n };\n\n const formData = new FormData();\n formData.append('rub', \"photos\");\n formData.append('action', \"save\");\n formData.append('newProd', this.isProductCreation ? \"1\" : \"0\");\n formData.append('prodId', this.productId);\n formData.append('_token', this.shopToken);\n formData.append('_shid', this.shopId.toString());\n formData.append('data', JSON.stringify(data));\n\n return this.http.post(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n }\n\n createProduct() {\n const formData = new FormData();\n formData.append('rub', \"main\");\n formData.append('action', \"createProd\");\n formData.append('_token', '');\n formData.append('_shid', this.shopId.toString());\n\n return this.http.post<number>(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n\n }\n\n /* Use to know where the img manager is displayed, and to close it when switching tab */\n switchTabs() {\n return fromEvent<any>(document.getElementById('imgManagerModule') as any, \"switchTab\");\n }\n\n private emitImgSelectionChange(idsImgList: number[]) {\n const value = {\n detail: {\n idsImgList\n }\n };\n\n const event = new CustomEvent('onImgSelectionChange', value);\n const imgManagerModule= document.getElementById('imgManagerModule');\n imgManagerModule?.dispatchEvent(event);\n }\n\n private saveCurrentImgSelection(imgSelection?: ImgPictureDTO[]) {\n this.currentProductImgSelection = imgSelection ? imgSelection : JSON.parse(JSON.stringify(this.imgSelectionService.getImgSelection()));\n }\n\n private applyCurrentImgSelection() {\n this.imgSelectionService.setImgSelection(this.currentProductImgSelection);\n // Hide the loader in img list selection\n this.imgSelectionService.imgSelectedListLoading$.next(false);\n }\n\n private getOptionsHeaders() {\n const header = { headers: new HttpHeaders({\n 'Access-Control-Allow-Origin':'*'\n })\n };\n return header;\n }\n\n private getOptionsHeadersWithBearer() {\n const header = { headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.shopToken\n })\n };\n return header;\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n}","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { ImgPicturesDTO, ImgPictureDTO, ApiService } from \"@wizishop/img-manager\";\nimport { Observable, tap } from \"rxjs\";\nimport { environment } from '../environments/environment';\n\n\n@Injectable()\nexport class WebelementImageManagerApiService implements ApiService {\n\n shopId: number = null;\n shopToken: string;\n\n CONFIG = {\n image_manager_route: environment.wizi_api + \"/image-manager/shops/\" + this.shopId,\n canva_token: 'wdByHayF5v57nj2ZSLvu055O',\n canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',\n pexels_token: '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94',\n pexels_route: 'https://api.pexels.com/v1',\n shop_category: 'other', // The shop category is retrieve later with the setShopCategory methode\n assets_route: environment.assets_route,\n }\n\n IMG_SIZE = {\n url_raw_image: `${environment.CDN_URL}${this.shopId}/RAW-`,\n url_100_image: `${environment.CDN_URL}${this.shopId}/m100-`,\n url_200_image: `${environment.CDN_URL}${this.shopId}/cs200-`,\n url_400_image: `${environment.CDN_URL}${this.shopId}/cs400-`,\n url_800_image: `${environment.CDN_URL}${this.shopId}/cs800-`\n }\n\n constructor(private http: HttpClient) {\n }\n\n private getOptionsHeaders(params?: HttpParams) {\n const header = { headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.shopToken\n })\n };\n if (params) {\n header['params'] = params\n }\n return header;\n }\n\n getShopCategory(): string {\n return 'other';\n }\n\n getShopImgList(params?: HttpParams): Observable<ImgPicturesDTO> {\n return this.http.get<ImgPicturesDTO>(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));\n }\n\n getShopTotalImgList(params?: HttpParams) {\n return this.http.get<number>(`${this.CONFIG.image_manager_route}/total/images`, this.getOptionsHeaders(params));\n }\n\n getShopImg(idFile: string): Observable<ImgPictureDTO> {\n return this.http.get<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());\n }\n\n uploadFile(formData: FormData) {\n return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());\n }\n\n uploadFileByUrl(url: string, fileName?: string) {\n return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());\n }\n\n replaceImg(imageBase64: string, id_file: string) {\n const body = {\n imageBase64,\n type : \"RAW\"\n }\n return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());\n }\n\n changeImgName(fileName: string, id_file: string) {\n return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());\n }\n\n removeImg(id_file: string) {\n return this.http.delete<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());\n }\n\n removeMultipleImg(id_array: string[]) {\n return this.http.post<ImgPictureDTO[]>(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());\n }\n\n setShopCategory(shopId: number) {\n return this.http.get<{\n category: string\n }>(`${environment.wizi_api}/shops/${shopId}`, this.getOptionsHeaders()).pipe(\n tap((shop => {\n if (shop && shop['category']) {\n this.CONFIG.shop_category = shop['category'];\n }\n }))\n );\n }\n\n}","import { Component } from '@angular/core';\nimport { ImgManagerConfigDto, CanvaService, ImgManagerDisplayConfig, ImgManagerService } from '@wizishop/img-manager';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { FicheProductService } from './services/fiche_products.service';\nimport { AuthCredentials, AuthCredentialsService } from './services/auth-credentials.service';\nimport { EventService } from './services/event.service';\nimport { environment } from './environments/environment';\nimport { ImgSelectionService } from '@wizishop/img-manager';\nimport { WebelementImageManagerApiService } from './services/webelement-image-manager-api.config';\n\n@Component({\n selector: 'img-manager-webelement',\n templateUrl: './img-manager-webelement.component.html',\n styleUrls: ['./img-manager-webelement.component.scss'],\n providers: [\n ImgSelectionService\n ]\n})\nexport class ImgManagerWebElementComponent {\n // shop config\n id_shop: number;\n token_shop: string;\n\n // img manger config\n openImgManager:boolean = false;\n loading: boolean = true;\n imgExternalConfig: ImgManagerConfigDto;\n imgManagerDisplayConfig: ImgManagerDisplayConfig;\n pageFicheProductConfig: ImgManagerDisplayConfig;\n pageEventConfig: ImgManagerDisplayConfig;\n\n // fiche product config\n isPhotosTab: boolean = !!environment.isPhotosTab;\n\n subscriptions: Subscription[] = [];\n\n constructor(\n private translateService: TranslateService,\n private canvaService: CanvaService,\n private ficheProductService: FicheProductService,\n private authCredentialsService: AuthCredentialsService,\n private eventService: EventService,\n private imgManagerService: ImgManagerService,\n private imgSelectionService: ImgSelectionService,\n private webelementImageManagerApiService: WebelementImageManagerApiService,\n ){}\n\n ngOnInit() {\n console.log('this.authCredentialsService.getSync()', this.authCredentialsService.getSync());\n this.loading = true;\n this.pageFicheProductConfig = this.imgManagerService.getImgManagerDisplayConfig(\"fiche-product\");\n this.pageEventConfig = this.imgManagerService.getImgManagerDisplayConfig(\"wizi-block\");\n this.setCurrentLanguage();\n // Search on which page is display the img manger\n this.setDisplayedPageConfig();\n\n this.loading = false;\n this.initVariables(this.authCredentialsService.getSync().data);\n // Fiche product page\n if (this.imgManagerDisplayConfig.pageficheProduct) {\n this.setFicheProductPage();\n } else {\n this.setPageWithEvents();\n }\n }\n\n initVariables(authCredentials: AuthCredentials | null) {\n if (!authCredentials) {\n\n if (environment.isWizishopcom) {\n return;\n }\n // Run on local Server\n this.setAppVars(environment.local.shopId, environment.local.token);\n this.imgManagerDisplayConfig = this.pageFicheProductConfig;\n return;\n }\n\n this.setAppVars(authCredentials.shop_id, authCredentials.token);\n }\n\n setFicheProductPage() {\n this.ficheProductService.setApiConfig();\n this.handleFicheProductTab(); // Display different img manager config according to the tab\n this.closeImgManagerOnSwitchingTab();\n this.subscribePageAskForImg(); // Use for images in variations tab\n this.ficheProductService.updateImgSelectionOnChange();\n }\n\n setPageWithEvents() {\n this.subscribePageAskForImg();\n\n // Send img selected\n const subImgSelection = this.imgSelectionService.imgSelection$.subscribe(imgSelectionList => {\n if (imgSelectionList && imgSelectionList.length) {\n this.eventService.sendImgSelectedToPage(imgSelectionList[0]);\n }\n });\n this.subscriptions.push(subImgSelection);\n }\n\n subscribePageAskForImg() {\n // Listen to page editor ask for img event\n const subAskForImg = this.eventService.pageAskForImg().subscribe( data => {\n // Retrieve which img manager send the event\n const emitter = data && data[\"detail\"] ? data[\"detail\"][\"from\"] : null;\n this.eventService.setEmitter(emitter);\n\n this.imgSelectionService.setImgSelection([]);\n\n this.open();\n });\n this.subscriptions.push(subAskForImg);\n }\n\n open() {\n this.openImgManager = true;\n }\n\n onImgManagerClosed() {\n // Close img manager\n this.openImgManager = false;\n }\n\n setCurrentLanguage() {\n const matches = window.location.pathname.match( /^\\/(\\w+)\\//);\n this.translateService.use(matches && matches[1] ? matches[1] : 'fr');\n }\n\n setDisplayedPageConfig() {\n const isFicheProductPage = /\\/products\\/(\\d+\\/edit|create)/.test(window.location.pathname);\n this.imgManagerDisplayConfig = isFicheProductPage ? this.pageFicheProductConfig : this.pageEventConfig;\n }\n\n handleFicheProductTab() {\n const tabsSub =\n this.ficheProductService.handleTabs().subscribe(isPhotosTab => {\n this.imgManagerDisplayConfig = isPhotosTab ? this.pageFicheProductConfig : this.pageEventConfig;\n this.isPhotosTab = isPhotosTab;\n });\n this.subscriptions.push(tabsSub);\n }\n\n closeImgManagerOnSwitchingTab() {\n const tabsCloseSub =\n this.ficheProductService.switchTabs().subscribe(data => {\n console.log('switchTabs');\n this.openImgManager = false;\n });\n\n this.subscriptions.push(tabsCloseSub);\n }\n\n private setAppVars(shopId: number, token: string) {\n this.webelementImageManagerApiService.shopToken = token;\n this.webelementImageManagerApiService.shopId = shopId;\n if (shopId) {\n this.webelementImageManagerApiService.setShopCategory(shopId).subscribe();\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule, inject } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ImgManagerWebElementComponent } from './img-manager-webelement.component';\nimport { AuthCredentials, AuthCredentialsService } from './services/auth-credentials.service';\nimport { EventService } from './services/event.service';\nimport { FicheProductService } from './services/fiche_products.service';\nimport { ApiService, WzImgManagerModule } from '@wizishop/img-manager';\nimport { WebelementImageManagerApiService } from './services/webelement-image-manager-api.config';\nimport { StorageByKey } from '@wizishop/ng-web-storages/shared';\nimport { environment } from './environments/environment';\nimport { LocalStorageService } from '@wizishop/ng-web-storages/local-storage';\n\n@NgModule({\n declarations: [ImgManagerWebElementComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n WzImgManagerModule.withConfig({\n provide: ApiService,\n useExisting: WebelementImageManagerApiService,\n }),\n TranslateModule,\n ],\n exports: [ImgManagerWebElementComponent],\n providers: [\n {\n provide: WebelementImageManagerApiService,\n useClass: WebelementImageManagerApiService,\n },\n FicheProductService,\n EventService,\n {\n provide: AuthCredentialsService,\n useFactory: () => new StorageByKey<AuthCredentials>(inject(LocalStorageService), environment.wiziApiCredentialsKey),\n }\n ]\n})\nexport class ImgManagerWebElementModule { }\n","/*\n * Public API Surface of img-manager-webelement\n */\nexport * from './lib/img-manager-webelement.component';\nexport * from './lib/img-manager-webelement.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.EventService","i4.AuthCredentialsService","i1","i3.FicheProductService","i5.EventService","i6.WebelementImageManagerApiService"],"mappings":"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"}
1
+ {"version":3,"file":"wizishop-img-manager-webelement.mjs","sources":["../../../../projects/img-manager-webelement/src/lib/environments/environment.ts","../../../../projects/img-manager-webelement/src/lib/services/event.service.ts","../../../../projects/img-manager-webelement/src/lib/services/auth-credentials.service.ts","../../../../projects/img-manager-webelement/src/lib/services/fiche_products.service.ts","../../../../projects/img-manager-webelement/src/lib/img-manager-webelement.component.ts","../../../../projects/img-manager-webelement/src/lib/img-manager-webelement.component.html","../../../../projects/img-manager-webelement/src/lib/services/webelement-image-manager-api.config.ts","../../../../projects/img-manager-webelement/src/lib/img-manager-webelement.module.ts","../../../../projects/img-manager-webelement/src/public-api.ts","../../../../projects/img-manager-webelement/src/wizishop-img-manager-webelement.ts"],"sourcesContent":["export interface Environment {\n isWizishopcom: boolean;\n production: boolean;\n wizi_admin_api: string;\n wizi_api: string;\n CDN_URL: string;\n assets_route: string;\n translations_route: string;\n wiziApiCredentialsKey: string;\n local: any;\n product_sheet_endpoint: string;\n isPhotosTab?: boolean;\n}\n\n// Use locally for this project\nexport const environmentWiziDevLocal: Environment = {\n isWizishopcom: false,\n production: false,\n wizi_admin_api: \"https://admin.wizilocal.com/\",\n wizi_api: \"https://api.wizilocal.com/v3\",\n CDN_URL: \"http://debugshop.wizilocal.com/_i/\",\n assets_route : \"assets/img-manager/\",\n translations_route : \"./assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: 131,\n token : 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1c2VyX2lkIjo2LCJ1c2VyX2xvY2FsZSI6ImZyX0ZSIiwiaXNVc2VyQ29ubmVjdGVkRnJvbVZwbiI6ZmFsc2UsImV4cCI6MTY3NDM3NDkxMSwiaWF0IjoxNjcxNzgyOTExfQ.DbdBTaVLzLx5pE2FHTg8K0FcMsOY7yg7hAz7bjBQt4afke2ef_MfhXZx9ajtj6BciOsY5eYRgDp3r747iLc7CSThC6cNgPYZ9oMtN3MbFRYi5bktmPUVfbs2oxfWe9sNDwdpgMtw00d8YIO3ZTFZb3XzXW1hQIS2Ooy5x0GTGRgegIDAJYrVyVs8AC3TG8ZaC8g73iSMFnCrG85TAFbgjJb8ccU0HfB-h1I9LPE2LUzI5QE2vbsd6qo1XU59belW1SPv92Wgcd9IiHwuoeO3C2S2rQGUp-L8qprT6f5IeX-rp3XVmOVhTCNM4Dc0FdPdpL6p2jMVhhhu62fOZtNEXA'\n },\n product_sheet_endpoint: \"/products/ajax\",\n isPhotosTab: true\n};\n\nexport const environmentWiziDev: Environment = {\n isWizishopcom: true,\n production: false,\n wizi_admin_api: \"https://admin.wizilocal.com/\",\n wizi_api: \"https://api.wizilocal.com/v3\",\n CDN_URL: \"https://media.wizilocal.com/_i/\",\n assets_route : \"https://js.wizilocal.com/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.wizilocal.com/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nexport const environmentProd: Environment = {\n isWizishopcom: true,\n production: true,\n wizi_admin_api: \"https://admin.wizishop.com/\",\n wizi_api: \"https://api.wizishop.com/v3\",\n CDN_URL: \"https://media.cdnws.com/_i/\",\n assets_route : \"https://js.wizishop.com/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.wizishop.com/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nexport const environmentDropiziDev: Environment = {\n isWizishopcom: true,\n production: false,\n wizi_admin_api: \"https://admin.dropilocal.com/\",\n wizi_api: \"https://api.dropilocal.com/v3\",\n CDN_URL: \"https://media.dropilocal.com/_i/\",\n assets_route : \"https://js.dropilocal.fr/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.dropilocal.com/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nexport const environmentDropiziProd: Environment = {\n isWizishopcom: true,\n production: true,\n wizi_admin_api: \"https://admin.dropizi.fr/\",\n wizi_api: \"https://api.wizishop.com/v3\",\n CDN_URL: \"https://media.cdnws.com/_i/\",\n assets_route : \"https://js.dropizi.fr/a/libs/img-manager-webelement/assets/img-manager/\",\n translations_route : \"https://js.dropizi.fr/a/libs/img-manager-webelement/assets/img-manager/i18n/\",\n wiziApiCredentialsKey: 'wizi_api_credentials_key',\n local: {\n shopId: null,\n token : null\n },\n product_sheet_endpoint: \"/products/ajax\"\n};\n\nfunction getCurrentEnv() {\n const isDev = !!window.location.hostname.match(/local/);\n const isWizi = !!window.location.hostname.match(/wizi/);\n const serverLocal = !!window.location.port;\n\n if (serverLocal) {\n return environmentWiziDevLocal;\n }\n if (isDev) {\n if (isWizi) {\n return environmentWiziDev;\n }\n return environmentDropiziDev;\n } else {\n if (isWizi) {\n return environmentProd;\n }\n return environmentDropiziProd;\n }\n}\n\nexport const environment: Environment = Object.assign({}, getCurrentEnv());","import { Injectable } from '@angular/core';\nimport { ImgPictureDTO } from '@wizishop/img-manager';\nimport { fromEvent } from 'rxjs';\nimport { environment } from '../environments/environment';\n\n@Injectable()\nexport class EventService {\n\n // Sometimes, there are multiple img manager that listen at the same time at imgSelected event\n // It use by the listener, to know if the event is for him\n emitter: string;\n\n constructor() { }\n\n sendImgSelectedToPage(file : ImgPictureDTO) {\n const sendedFile = {\n ...file,\n cdn_img_src: ''\n };\n if (sendedFile) {\n sendedFile.cdn_img_src = `${environment.CDN_URL}${file.id_shop}/`;\n }\n\n const value = {\n detail: {\n \"file\": sendedFile,\n \"from\": this.emitter\n }\n };\n const event = new CustomEvent('imgSelected', value);\n const imgManagerModule= document.getElementById('imgManagerModule');\n imgManagerModule?.dispatchEvent(event);\n }\n\n pageAskForImg() {\n return fromEvent<any>(document.getElementById('imgManagerModule') as any, \"openImgManager\");\n }\n\n setEmitter(emitter: string) {\n this.emitter = emitter;\n }\n}","import { Injectable, inject } from '@angular/core';\nimport { StorageByKey } from '@wizishop/ng-web-storages/shared';\nimport { environment } from './../environments/environment';\nimport { LocalStorageService } from '@wizishop/ng-web-storages/local-storage';\n\n@Injectable()\nexport abstract class AuthCredentialsService extends StorageByKey<{data:AuthCredentials}> {\n}\n\nexport const provideAuthCredentialsService = () => ({\n provide: AuthCredentialsService,\n useFactory: () => new StorageByKey<{data: AuthCredentials}>(inject(LocalStorageService), environment.wiziApiCredentialsKey),\n})\n\nexport interface AuthCredentials {\n token: string;\n user_id: number;\n account_id: number;\n shop_id: number;\n};\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { forkJoin, fromEvent, Observable, Subscription } from \"rxjs\";\nimport { take } from 'rxjs/operators';\nimport { EventService } from './event.service';\nimport { environment } from '../environments/environment';\nimport { AuthCredentialsService } from './auth-credentials.service';\nimport { ImgPictureDTO, ImgSelectionService, CanvaService } from '@wizishop/img-manager';\nimport { WiziBlockMediaDto } from '@wizishop/img-manager/lib/dto/wizi-block-media.dto';\n\ndeclare const Wizi: any;\n\n@Injectable()\nexport class FicheProductService {\n\n productSheetApiRoute: string;\n image_manager_api: string = environment.wizi_api + \"/image-manager/shops/\";\n shopToken: string = this.authCredentialsService.getSync().data.token;\n shopId: number = this.authCredentialsService.getSync().data.shop_id;\n productId: string;\n isPhotosTab: boolean = false; // State of the Photos tabs in fiche product page\n isPreviousTabPhotos: boolean = false;\n isVariantsTab: boolean = false;\n loadProductImgSelection:boolean = false;\n currentProductImgSelection: ImgPictureDTO[];\n isProductCreation: boolean;\n expectedMediaDto:WiziBlockMediaDto = {\n id: '',\n image_url: '',\n image_width: '900',\n image_height: '900',\n }\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private http: HttpClient,\n private imgSelectionService: ImgSelectionService,\n private eventService: EventService,\n private canvaService: CanvaService,\n private authCredentialsService: AuthCredentialsService\n ) {\n }\n\n setApiConfig() {\n const matches = window.location.pathname.match( /\\/(\\w+)\\/products\\/(\\d+)\\/edit/);\n const lang = matches && matches[1] ? matches[1] : 'fr';\n this.productSheetApiRoute = environment.wizi_admin_api + lang + environment.product_sheet_endpoint;\n this.productId = matches && matches[2] ? matches[2] : \"0\";\n this.isProductCreation = /\\/products\\/create/.test(window.location.pathname);\n }\n\n /**\n * There is only one instance of this img manager.\n * But it is called with different config, by Photos tab and Variation tab, on fiche product page.\n * The method handle the switch config between Photos and Variation tab.\n * Return an observable : true => Photos tab / false => Variation tab.\n * */\n handleTabs():Observable<boolean> {\n return new Observable(observer => {\n\n const switchTabsSub =\n this.switchTabs().subscribe(data => {\n\n if (!data || !data[\"detail\"] || !data[\"detail\"][\"currentTab\"]) {\n return;\n }\n // Retrieve current tab\n const currentTab = data[\"detail\"][\"currentTab\"];\n this.isPreviousTabPhotos = this.isPhotosTab;\n this.isPhotosTab = currentTab === 'photos';\n this.isVariantsTab = currentTab === 'variation';\n\n // The user switch to Photos tab\n if (this.isPhotosTab) {\n this.loadProductImgSelection = true;\n if (!this.currentProductImgSelection || !this.currentProductImgSelection.length) {\n this.initProductImgSelection();\n } else {\n this.applyCurrentImgSelection();\n this.loadProductImgSelection = false;\n }\n\n } else if (this.isPreviousTabPhotos) { // The user switch to another tab\n // Save current img selection, in order to not lose the img selection\n this.saveCurrentImgSelection();\n }\n observer.next(this.isPhotosTab);\n });\n this.subscriptions.push(switchTabsSub);\n });\n }\n\n getShopImg(idFile: string): Observable<any> {\n return this.http.get(`${this.image_manager_api}${this.shopId}/images/${idFile}`, this.getOptionsHeadersWithBearer());\n }\n\n initProductImgSelection() {\n\n // Display the loader in img list selection\n this.imgSelectionService.imgSelectedListLoading$.next(true);\n\n // retrieve img selection\n const retrieveImgSelectionSub =\n this.retrieveImgSelection().subscribe(data => {\n\n // No imgage selected\n if (!data || !data[\"photos\"] || !data[\"photos\"][\"infos\"] || !data[\"photos\"][\"infos\"][\"files\"] || !data[\"photos\"][\"infos\"][\"files\"].length) {\n this.loadProductImgSelection = false;\n\n this.imgSelectionService.imgSelectedListLoading$.next(false);\n return;\n }\n\n const idImgSelectionList: number[] = data[\"photos\"][\"infos\"][\"files\"];\n const obsImg: Observable<any>[] = [];\n\n idImgSelectionList.forEach(idFile =>\n obsImg.push(\n this.getShopImg(idFile.toString()).pipe(take(1))\n ));\n const allImgSub =\n forkJoin(obsImg).subscribe((photos: ImgPictureDTO[]) => {\n // The img selection must be saved, otherwise it is lost when the user switch on variation tab\n this.saveCurrentImgSelection(photos);\n this.applyCurrentImgSelection();\n this.loadProductImgSelection = false;\n },\n error => {\n // Hide the loader in img list selection\n this.loadProductImgSelection = false;\n\n this.imgSelectionService.imgSelectedListLoading$.next(false);\n });\n this.subscriptions.push(allImgSub);\n });\n\n this.subscriptions.push(retrieveImgSelectionSub);\n this.canvaService.expectedImgSizesChange(this.expectedMediaDto);\n }\n\n retrieveInfoSelection() {\n const formData = new FormData();\n formData.append('rub', \"main\");\n formData.append('action', \"getInfos\");\n formData.append('prodId', this.productId);\n formData.append('_token', '');\n formData.append('_shid', this.shopId.toString());\n\n return this.http.post(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n }\n\n retrieveImgSelection() {\n const formData = new FormData();\n formData.append('rub', \"main\");\n formData.append('action', \"getAllInfos\");\n formData.append('prodId', this.productId);\n formData.append('_token', '');\n formData.append('_shid', this.shopId.toString());\n\n return this.http.post<any>(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n }\n\n updateImgSelectionOnChange() {\n // listen to the img manager change\n const imgSelectionSub =\n this.imgSelectionService.imgSelection$.subscribe(imgSelectionList => {\n if (!imgSelectionList) {\n return;\n }\n\n // Send the img selection\n if (this.isPhotosTab && !this.loadProductImgSelection) {\n // Retrieve only the img id\n const idImgSelectedList: number[] = [];\n imgSelectionList.forEach(img => {\n idImgSelectedList.push(parseInt(img.id_file));\n });\n\n this.updateProductImgSelection(idImgSelectedList);\n\n // On variation tab, send event with img selected\n } else if (!this.isPhotosTab && imgSelectionList.length) {\n this.eventService.sendImgSelectedToPage(imgSelectionList[0]);\n }\n });\n this.subscriptions.push(imgSelectionSub);\n }\n\n updateProductImgSelection(idsImgList: number[]) {\n if ((!this.productId || this.productId === \"0\") && Wizi._produit.global.PROD_ID) {\n this.productId = Wizi._produit.global.PROD_ID.toString();\n }\n\n Wizi._produit._dataTmp['photos'].infos = {};\n Wizi._produit._dataTmp['photos'].infos.files = idsImgList;\n this.emitImgSelectionChange(idsImgList);\n\n if (this.productId && this.productId !== \"0\") {\n const submitProd1 =\n this.submitProductImg(idsImgList).subscribe();\n this.subscriptions.push(submitProd1);\n return;\n }\n const createProductSub =\n this.createProduct().subscribe(\n (productId:number) => {\n if (!productId) {\n throw \"No product id created. Can not link image(s) to the new product.\";\n }\n Wizi._produit.global.PROD_ID = productId;\n\n this.productId = productId.toString();\n this.submitProductImg(idsImgList).subscribe();\n }\n );\n this.subscriptions.push(createProductSub);\n\n }\n\n submitProductImg(idsImgList: number[]) {\n const data = {\n files : idsImgList,\n couls: []\n };\n\n const formData = new FormData();\n formData.append('rub', \"photos\");\n formData.append('action', \"save\");\n formData.append('newProd', this.isProductCreation ? \"1\" : \"0\");\n formData.append('prodId', this.productId);\n formData.append('_token', this.shopToken);\n formData.append('_shid', this.shopId.toString());\n formData.append('data', JSON.stringify(data));\n\n return this.http.post(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n }\n\n createProduct() {\n const formData = new FormData();\n formData.append('rub', \"main\");\n formData.append('action', \"createProd\");\n formData.append('_token', '');\n formData.append('_shid', this.shopId.toString());\n\n return this.http.post<number>(this.productSheetApiRoute, formData, this.getOptionsHeaders());\n\n }\n\n /* Use to know where the img manager is displayed, and to close it when switching tab */\n switchTabs() {\n return fromEvent<any>(document.getElementById('imgManagerModule') as any, \"switchTab\");\n }\n\n private emitImgSelectionChange(idsImgList: number[]) {\n const value = {\n detail: {\n idsImgList\n }\n };\n\n const event = new CustomEvent('onImgSelectionChange', value);\n const imgManagerModule= document.getElementById('imgManagerModule');\n imgManagerModule?.dispatchEvent(event);\n }\n\n private saveCurrentImgSelection(imgSelection?: ImgPictureDTO[]) {\n this.currentProductImgSelection = imgSelection ? imgSelection : JSON.parse(JSON.stringify(this.imgSelectionService.getImgSelection()));\n }\n\n private applyCurrentImgSelection() {\n this.imgSelectionService.setImgSelection(this.currentProductImgSelection);\n // Hide the loader in img list selection\n this.imgSelectionService.imgSelectedListLoading$.next(false);\n }\n\n private getOptionsHeaders() {\n const header = { headers: new HttpHeaders({\n 'Access-Control-Allow-Origin':'*'\n })\n };\n return header;\n }\n\n private getOptionsHeadersWithBearer() {\n const header = { headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.shopToken\n })\n };\n return header;\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n}","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\nimport { FicheProductService } from './services/fiche_products.service';\nimport { AuthCredentials, AuthCredentialsService } from './services/auth-credentials.service';\nimport { EventService } from './services/event.service';\nimport { environment } from './environments/environment';\nimport { ImgSelectionService, ImgManagerConfigDto, ImgManagerDisplayConfig, CanvaService, ImgManagerService } from '@wizishop/img-manager';\n\n@Component({\n selector: 'img-manager-webelement',\n templateUrl: './img-manager-webelement.component.html',\n styleUrls: ['./img-manager-webelement.component.scss'],\n providers: [\n ImgSelectionService\n ]\n})\nexport class ImgManagerWebElementComponent {\n // shop config\n id_shop: number = this.authCredentialsService.getSync().data.shop_id;\n token_shop: string = this.authCredentialsService.getSync().data.token;\n\n // img manger config\n openImgManager:boolean = true;\n loading: boolean = true;\n imgExternalConfig: ImgManagerConfigDto;\n imgManagerDisplayConfig: ImgManagerDisplayConfig;\n pageFicheProductConfig: ImgManagerDisplayConfig;\n pageEventConfig: ImgManagerDisplayConfig;\n\n // fiche product config\n isPhotosTab: boolean = !!environment.isPhotosTab;\n\n subscriptions: Subscription[] = [];\n\n constructor(\n private translateService: TranslateService,\n private canvaService: CanvaService,\n private ficheProductService: FicheProductService,\n private authCredentialsService: AuthCredentialsService,\n private eventService: EventService,\n private imgManagerService: ImgManagerService,\n private imgSelectionService: ImgSelectionService\n ){}\n\n ngOnInit() {\n this.loading = true;\n this.pageFicheProductConfig = this.imgManagerService.getImgManagerDisplayConfig(\"fiche-product\");\n this.pageEventConfig = this.imgManagerService.getImgManagerDisplayConfig(\"wizi-block\");\n this.setCurrentLanguage();\n // Search on which page is display the img manger\n this.setDisplayedPageConfig();\n\n this.loading = false;\n this.initVariables(this.authCredentialsService.getSync().data);\n // Fiche product page\n if (this.imgManagerDisplayConfig.pageficheProduct) {\n this.setFicheProductPage();\n } else {\n this.setPageWithEvents();\n }\n }\n\n initVariables(authCredentials: AuthCredentials | null) {\n if (!authCredentials) {\n\n if (environment.isWizishopcom) {\n return;\n }\n // Run on local Server\n this.imgManagerDisplayConfig = this.pageFicheProductConfig;\n return;\n }\n }\n\n setFicheProductPage() {\n this.ficheProductService.setApiConfig();\n this.handleFicheProductTab(); // Display different img manager config according to the tab\n this.closeImgManagerOnSwitchingTab();\n this.subscribePageAskForImg(); // Use for images in variations tab\n this.ficheProductService.updateImgSelectionOnChange();\n }\n\n setPageWithEvents() {\n this.subscribePageAskForImg();\n\n // Send img selected\n const subImgSelection = this.imgSelectionService.imgSelection$.subscribe(imgSelectionList => {\n if (imgSelectionList && imgSelectionList.length) {\n this.eventService.sendImgSelectedToPage(imgSelectionList[0]);\n }\n });\n this.subscriptions.push(subImgSelection);\n }\n\n subscribePageAskForImg() {\n // Listen to page editor ask for img event\n const subAskForImg = this.eventService.pageAskForImg().subscribe( data => {\n // Retrieve which img manager send the event\n const emitter = data && data[\"detail\"] ? data[\"detail\"][\"from\"] : null;\n this.eventService.setEmitter(emitter);\n\n this.imgSelectionService.setImgSelection([]);\n\n this.open();\n });\n this.subscriptions.push(subAskForImg);\n }\n\n open() {\n this.openImgManager = true;\n }\n\n onImgManagerClosed() {\n // Close img manager\n this.openImgManager = false;\n }\n\n setCurrentLanguage() {\n const matches = window.location.pathname.match( /^\\/(\\w+)\\//);\n this.translateService.use(matches && matches[1] ? matches[1] : 'fr');\n }\n\n setDisplayedPageConfig() {\n const isFicheProductPage = /\\/products\\/(\\d+\\/edit|create)/.test(window.location.pathname);\n this.imgManagerDisplayConfig = isFicheProductPage ? this.pageFicheProductConfig : this.pageEventConfig;\n }\n\n handleFicheProductTab() {\n const tabsSub =\n this.ficheProductService.handleTabs().subscribe(isPhotosTab => {\n this.imgManagerDisplayConfig = isPhotosTab ? this.pageFicheProductConfig : this.pageEventConfig;\n this.isPhotosTab = isPhotosTab;\n });\n this.subscriptions.push(tabsSub);\n }\n\n closeImgManagerOnSwitchingTab() {\n const tabsCloseSub =\n this.ficheProductService.switchTabs().subscribe(data => {\n this.openImgManager = false;\n });\n\n this.subscriptions.push(tabsCloseSub);\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","<div class=\"info-bulle\">\n <p class=\"info-bulle-content\" [innerHTML]=\"'ImgManager.webElement.infoBulle' | translate\"></p>\n\n <ng-container *ngIf=\"imgManagerDisplayConfig.pageficheProduct && isPhotosTab\">\n <h3 class=\"wizicss-sous-titre\">{{'ImgManager.webElement.photosTitle' | translate }}</h3>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && id_shop && imgManagerDisplayConfig\">\n\n <p class=\"img-manager-open\" *ngIf=\"imgManagerDisplayConfig.displayBtn && isPhotosTab\">\n <a (click)=\"open()\">{{'ImgManager.webElement.OpenBtn' | translate }}</a>\n </p>\n\n <div class=\"imgManagerBox\">\n <wz-img-manager\n #wzImgManager\n [stateDisplayed]=\"imgManagerDisplayConfig.stateDisplayed\"\n [multipleImgMode]=\"imgManagerDisplayConfig.multipleImgMode\"\n [showImgManagerModule]=\"imgManagerDisplayConfig.showImgManagerModule && openImgManager\"\n [showSelection]=\"imgManagerDisplayConfig.showSelection\"\n (imgManagerClosed)=\"onImgManagerClosed()\">\n </wz-img-manager>\n </div>\n </ng-container>\n</div>","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, tap } from \"rxjs\";\nimport { environment } from '../environments/environment';\nimport { ApiService, ImgPicturesDTO, ImgPictureDTO } from \"@wizishop/img-manager\";\n\n@Injectable()\nexport class WebelementImageManagerApiService implements ApiService {\n\n shopId: number = null;\n shopToken: string;\n\n CONFIG = {\n image_manager_route: environment.wizi_api + \"/image-manager/shops/\" + this.shopId,\n canva_token: 'wdByHayF5v57nj2ZSLvu055O',\n canva_url: 'https://sdk.canva.com/designbutton/v2/api.js',\n pexels_token: '563492ad6f91700001000001e39215727d8b42c1b08498a9ce1e6b94',\n pexels_route: 'https://api.pexels.com/v1',\n shop_category: 'other', // The shop category is retrieve later with the setShopCategory methode\n assets_route: environment.assets_route,\n }\n\n IMG_SIZE = {\n url_raw_image: `${environment.CDN_URL}${this.shopId}/RAW-`,\n url_100_image: `${environment.CDN_URL}${this.shopId}/m100-`,\n url_200_image: `${environment.CDN_URL}${this.shopId}/cs200-`,\n url_400_image: `${environment.CDN_URL}${this.shopId}/cs400-`,\n url_800_image: `${environment.CDN_URL}${this.shopId}/cs800-`\n }\n\n constructor(private http: HttpClient) {\n }\n\n private getOptionsHeaders(params?: HttpParams) {\n const header = { headers: new HttpHeaders({\n Authorization: 'Bearer ' + this.shopToken\n })\n };\n if (params) {\n header['params'] = params\n }\n return header;\n }\n\n getShopCategory(): string {\n return 'other';\n }\n\n getShopImgList(params?: HttpParams): Observable<ImgPicturesDTO> {\n return this.http.get<ImgPicturesDTO>(`${this.CONFIG.image_manager_route}/images`, this.getOptionsHeaders(params));\n }\n\n getShopTotalImgList(params?: HttpParams) {\n return this.http.get<number>(`${this.CONFIG.image_manager_route}/total/images`, this.getOptionsHeaders(params));\n }\n\n getShopImg(idFile: string): Observable<ImgPictureDTO> {\n return this.http.get<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${idFile}`, this.getOptionsHeaders());\n }\n\n uploadFile(formData: FormData) {\n return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, formData, this.getOptionsHeaders());\n }\n\n uploadFileByUrl(url: string, fileName?: string) {\n return this.http.post<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/template`, { url, fileName }, this.getOptionsHeaders());\n }\n\n replaceImg(imageBase64: string, id_file: string) {\n const body = {\n imageBase64,\n type : \"RAW\"\n }\n return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}/replace`, body, this.getOptionsHeaders());\n }\n\n changeImgName(fileName: string, id_file: string) {\n return this.http.put<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}?file_name=${fileName}`, null, this.getOptionsHeaders());\n }\n\n removeImg(id_file: string) {\n return this.http.delete<ImgPictureDTO>(`${this.CONFIG.image_manager_route}/images/${id_file}`, this.getOptionsHeaders());\n }\n\n removeMultipleImg(id_array: string[]) {\n return this.http.post<ImgPictureDTO[]>(`${this.CONFIG.image_manager_route}/images-multiple-delete`, { id_array }, this.getOptionsHeaders());\n }\n\n setShopCategory(shopId: number) {\n return this.http.get<{\n category: string\n }>(`${environment.wizi_api}/shops/${shopId}`, this.getOptionsHeaders()).pipe(\n tap((shop => {\n if (shop && shop['category']) {\n this.CONFIG.shop_category = shop['category'];\n }\n }))\n );\n }\n\n}","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ImgManagerWebElementComponent } from './img-manager-webelement.component';\nimport { provideAuthCredentialsService } from './services/auth-credentials.service';\nimport { EventService } from './services/event.service';\nimport { FicheProductService } from './services/fiche_products.service';\nimport { WebelementImageManagerApiService } from './services/webelement-image-manager-api.config';\nimport { WzImgManagerModule, ApiService } from '@wizishop/img-manager';\n\n@NgModule({\n declarations: [ImgManagerWebElementComponent],\n imports: [\n CommonModule,\n HttpClientModule,\n WzImgManagerModule.withConfig({\n provide: ApiService,\n useClass: WebelementImageManagerApiService,\n }),\n TranslateModule,\n ],\n exports: [ImgManagerWebElementComponent],\n providers: [\n FicheProductService,\n EventService,\n provideAuthCredentialsService()\n ]\n})\nexport class ImgManagerWebElementModule { }\n","/*\n * Public API Surface of img-manager-webelement\n */\nexport * from './lib/img-manager-webelement.component';\nexport * from './lib/img-manager-webelement.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.EventService","i4.AuthCredentialsService","i1","i3.FicheProductService","i5.EventService"],"mappings":";;;;;;;;;;;;;;;AAcA;AACO,MAAM,uBAAuB,GAAgB;AAClD,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,cAAc,EAAE,8BAA8B;AAC9C,IAAA,QAAQ,EAAE,8BAA8B;AACxC,IAAA,OAAO,EAAE,oCAAoC;AAC7C,IAAA,YAAY,EAAG,qBAAqB;AACpC,IAAA,kBAAkB,EAAG,4BAA4B;AACjD,IAAA,qBAAqB,EAAE,0BAA0B;AACjD,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,KAAK,EAAG,ogBAAogB;AAC7gB,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;AACxC,IAAA,WAAW,EAAE,IAAI;CAClB,CAAC;AAEK,MAAM,kBAAkB,GAAgB;AAC7C,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,cAAc,EAAE,8BAA8B;AAC9C,IAAA,QAAQ,EAAE,8BAA8B;AACxC,IAAA,OAAO,EAAE,iCAAiC;AAC1C,IAAA,YAAY,EAAG,4EAA4E;AAC3F,IAAA,kBAAkB,EAAG,iFAAiF;AACtG,IAAA,qBAAqB,EAAE,0BAA0B;AACjD,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,KAAK,EAAG,IAAI;AACb,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;CACzC,CAAC;AAEK,MAAM,eAAe,GAAgB;AAC1C,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,cAAc,EAAE,6BAA6B;AAC7C,IAAA,QAAQ,EAAE,6BAA6B;AACvC,IAAA,OAAO,EAAE,6BAA6B;AACtC,IAAA,YAAY,EAAG,2EAA2E;AAC1F,IAAA,kBAAkB,EAAG,gFAAgF;AACrG,IAAA,qBAAqB,EAAE,0BAA0B;AACjD,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,KAAK,EAAG,IAAI;AACb,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;CACzC,CAAC;AAEK,MAAM,qBAAqB,GAAgB;AAChD,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,cAAc,EAAE,+BAA+B;AAC/C,IAAA,QAAQ,EAAE,+BAA+B;AACzC,IAAA,OAAO,EAAE,kCAAkC;AAC3C,IAAA,YAAY,EAAG,4EAA4E;AAC3F,IAAA,kBAAkB,EAAG,kFAAkF;AACvG,IAAA,qBAAqB,EAAE,0BAA0B;AACjD,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,KAAK,EAAG,IAAI;AACb,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;CACzC,CAAC;AAEK,MAAM,sBAAsB,GAAgB;AACjD,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,cAAc,EAAE,2BAA2B;AAC3C,IAAA,QAAQ,EAAE,6BAA6B;AACvC,IAAA,OAAO,EAAE,6BAA6B;AACtC,IAAA,YAAY,EAAG,yEAAyE;AACxF,IAAA,kBAAkB,EAAG,8EAA8E;AACnG,IAAA,qBAAqB,EAAE,0BAA0B;AACjD,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,KAAK,EAAG,IAAI;AACb,KAAA;AACD,IAAA,sBAAsB,EAAE,gBAAgB;CACzC,CAAC;AAEF,SAAS,aAAa,GAAA;AACpB,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxD,IAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE3C,IAAA,IAAI,WAAW,EAAE;AACf,QAAA,OAAO,uBAAuB,CAAC;AAChC,KAAA;AACD,IAAA,IAAI,KAAK,EAAE;AACT,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,OAAO,kBAAkB,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,qBAAqB,CAAC;AAC9B,KAAA;AAAM,SAAA;AACL,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,OAAO,eAAe,CAAC;AACxB,SAAA;AACD,QAAA,OAAO,sBAAsB,CAAC;AAC/B,KAAA;AACH,CAAC;AAEM,MAAM,WAAW,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC;;MC/G7D,YAAY,CAAA;AAMvB,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,qBAAqB,CAAC,IAAoB,EAAA;QACxC,MAAM,UAAU,mCACX,IAAI,CAAA,EAAA,EACP,WAAW,EAAE,EAAE,GAChB,CAAC;AACF,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,UAAU,CAAC,WAAW,GAAG,CAAA,EAAG,WAAW,CAAC,OAAO,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,CAAA,CAAG,CAAC;AACnE,SAAA;AAED,QAAA,MAAM,KAAK,GAAG;AACE,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;AACrB,aAAA;SACF,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACpE,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,aAAa,GAAA;QACX,OAAO,SAAS,CAAM,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAQ,EAAE,gBAAgB,CAAC,CAAC;KAC7F;AAED,IAAA,UAAU,CAAC,OAAe,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;;yGAlCU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;;;ACCL,MAAgB,sBAAuB,SAAQ,YAAoC,CAAA;;mHAAnE,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uHAAtB,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;;AAIJ,MAAM,6BAA6B,GAAG,OAAO;AAClD,IAAA,OAAO,EAAE,sBAAsB;AAC/B,IAAA,UAAU,EAAG,MAAM,IAAI,YAAY,CAA0B,MAAM,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC;AAC7H,CAAA,CAAC,CAAA;AAOD;;MCNY,mBAAmB,CAAA;IAsB9B,WACU,CAAA,IAAgB,EAChB,mBAAwC,EACxC,YAA0B,EAC1B,YAA0B,EAC1B,sBAA8C,EAAA;AAJ9C,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAChB,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;AACxC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;QAxBxD,IAAA,CAAA,iBAAiB,GAAW,WAAW,CAAC,QAAQ,GAAG,uBAAuB,CAAC;AAC3E,QAAA,IAAS,CAAA,SAAA,GAAW,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AACrE,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;AAEpE,QAAA,IAAA,CAAA,WAAW,GAAY,KAAK,CAAC;AAC7B,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;AACrC,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAC/B,QAAA,IAAuB,CAAA,uBAAA,GAAW,KAAK,CAAC;QAGxC,IAAA,CAAA,gBAAgB,GAAqB;AACnC,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,YAAY,EAAE,KAAK;SACpB,CAAA;AAEO,QAAA,IAAa,CAAA,aAAA,GAAmB,EAAE,CAAC;KASxC;IAEH,YAAY,GAAA;AACV,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAE,gCAAgC,CAAC,CAAC;AAClF,QAAA,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACvD,QAAA,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,cAAc,GAAG,IAAI,GAAG,WAAW,CAAC,sBAAsB,CAAC;QACnG,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC1D,QAAA,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAC9E;AAED;;;;;AAKM;IACN,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAG;YAE/B,MAAM,aAAa,GACjB,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,IAAG;AAE/B,gBAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;oBAC/D,OAAO;AACR,iBAAA;;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;AAChD,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC;AAC5C,gBAAA,IAAI,CAAC,WAAW,GAAG,UAAU,KAAK,QAAQ,CAAC;AAC3C,gBAAA,IAAI,CAAC,aAAa,GAAG,UAAU,KAAK,WAAW,CAAC;;gBAGhD,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,oBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE;wBAC/E,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,qBAAA;AAAM,yBAAA;wBACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAChC,wBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;AACtC,qBAAA;AAEF,iBAAA;AAAM,qBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;;oBAEnC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,iBAAA;AACD,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClC,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC3C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,UAAU,CAAC,MAAc,EAAA;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,iBAAiB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAW,QAAA,EAAA,MAAM,CAAE,CAAA,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;KACtH;IAED,uBAAuB,GAAA;;QAGrB,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAG5D,MAAM,uBAAuB,GAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,IAAI,IAAG;;AAG3C,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;AACzI,gBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBAErC,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7D,OAAO;AACR,aAAA;AAED,YAAA,MAAM,kBAAkB,GAAa,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,MAAM,GAAsB,EAAE,CAAC;AAErC,YAAA,kBAAkB,CAAC,OAAO,CAAC,MAAM,IAC/B,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC,CAAC;AACH,YAAA,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAuB,KAAI;;AAErD,gBAAA,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAChC,gBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;aACtC,EACD,KAAK,IAAG;;AAEN,gBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBAErC,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,aAAC,CAAC,CAAC;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjE;IAED,qBAAqB,GAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,QAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/B,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEjD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KACtF;IAED,oBAAoB,GAAA;AAClB,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,QAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/B,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEjD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAC3F;IAED,0BAA0B,GAAA;;AAExB,QAAA,MAAM,eAAe,GACnB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,IAAG;YAClE,IAAI,CAAC,gBAAgB,EAAE;gBACrB,OAAO;AACR,aAAA;;YAGD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;;gBAErD,MAAM,iBAAiB,GAAa,EAAE,CAAC;AACvC,gBAAA,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAG;oBAC7B,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,iBAAC,CAAC,CAAC;AAEH,gBAAA,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;;AAGnD,aAAA;iBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBACvD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,aAAA;AACH,SAAC,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC1C;AAED,IAAA,yBAAyB,CAAC,UAAoB,EAAA;QAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;AAC/E,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC1D,SAAA;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;AAC1D,QAAA,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE;YAC5C,MAAM,WAAW,GACf,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;AAChD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrC,OAAO;AACR,SAAA;AACD,QAAA,MAAM,gBAAgB,GACpB,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAC5B,CAAC,SAAgB,KAAI;YACnB,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,kEAAkE,CAAC;AAC1E,aAAA;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAEzC,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;AAChD,SAAC,CACF,CAAC;AACJ,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAE3C;AAED,IAAA,gBAAgB,CAAC,UAAoB,EAAA;AACnC,QAAA,MAAM,IAAI,GAAG;AACX,YAAA,KAAK,EAAG,UAAU;AAClB,YAAA,KAAK,EAAE,EAAE;SACV,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,QAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACjC,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAClC,QAAA,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC/D,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE9C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KACtF;IAED,aAAa,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,QAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/B,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACxC,QAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEjD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAE9F;;IAGD,UAAU,GAAA;QACR,OAAO,SAAS,CAAM,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAQ,EAAE,WAAW,CAAC,CAAC;KACxF;AAEO,IAAA,sBAAsB,CAAC,UAAoB,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,MAAM,EAAE;gBACN,UAAU;AACX,aAAA;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAE,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACpE,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACxC;AAEO,IAAA,uBAAuB,CAAC,YAA8B,EAAA;QAC5D,IAAI,CAAC,0BAA0B,GAAG,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;KACxI;IAEO,wBAAwB,GAAA;QAC9B,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;;QAE1E,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9D;IAEO,iBAAiB,GAAA;AACvB,QAAA,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC;AACxC,gBAAA,6BAA6B,EAAC,GAAG;aAChC,CAAC;SACH,CAAC;AACF,QAAA,OAAO,MAAM,CAAC;KACf;IAEO,2BAA2B,GAAA;AACjC,QAAA,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC;AACxC,gBAAA,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS;aACxC,CAAC;SACH,CAAC;AACF,QAAA,OAAO,MAAM,CAAC;KACf;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;KACxE;;gHAzRU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;MCKE,6BAA6B,CAAA;AAkBxC,IAAA,WAAA,CACU,gBAAkC,EAClC,YAA0B,EAC1B,mBAAwC,EACxC,sBAA8C,EAC9C,YAA0B,EAC1B,iBAAoC,EACpC,mBAAwC,EAAA;AANxC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAClC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;AACxC,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;AAC9C,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;AACpC,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;;AAvBlD,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;AACrE,QAAA,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGtE,QAAA,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;AAC9B,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;;QAOxB,IAAA,CAAA,WAAW,GAAY,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;AAEjD,QAAA,IAAa,CAAA,aAAA,GAAmB,EAAE,CAAC;KAUhC;IAEH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;QACjG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACvF,IAAI,CAAC,kBAAkB,EAAE,CAAC;;QAE1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAE9B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;;AAE/D,QAAA,IAAI,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE;YACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;KACF;AAED,IAAA,aAAa,CAAC,eAAuC,EAAA;QACnD,IAAI,CAAC,eAAe,EAAE;YAEpB,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,OAAO;AACR,aAAA;;AAED,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC;YAC3D,OAAO;AACR,SAAA;KACF;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,6BAA6B,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,CAAC;KACvD;IAED,iBAAiB,GAAA;QACf,IAAI,CAAC,sBAAsB,EAAE,CAAC;;AAG9B,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,IAAG;AAC1F,YAAA,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBAC/C,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC1C;IAED,sBAAsB,GAAA;;AAEpB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,SAAS,CAAE,IAAI,IAAG;;YAEvE,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AACvE,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEtC,YAAA,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACvC;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;IAED,kBAAkB,GAAA;;AAEhB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC7B;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;KACtE;IAED,sBAAsB,GAAA;AACpB,QAAA,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3F,QAAA,IAAI,CAAC,uBAAuB,GAAG,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC;KACxG;IAED,qBAAqB,GAAA;AACnB,QAAA,MAAM,OAAO,GACX,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,WAAW,IAAG;AAC5D,YAAA,IAAI,CAAC,uBAAuB,GAAG,WAAW,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC;AAChG,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACjC,SAAC,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,6BAA6B,GAAA;AAC3B,QAAA,MAAM,YAAY,GAChB,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,IAAG;AACrD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACvC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;KACtD;;0HAnIU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAJ7B,QAAA,EAAA,wBAAA,EAAA,SAAA,EAAA;QACT,mBAAmB;KACpB,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfH,ilCAwBM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDPO,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAGvB,SAAA,EAAA;wBACT,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,ilCAAA,EAAA,CAAA;;;MERU,gCAAgC,CAAA;AAuBzC,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAAhB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AArBpC,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;QAGtB,IAAA,CAAA,MAAM,GAAG;YACL,mBAAmB,EAAE,WAAW,CAAC,QAAQ,GAAG,uBAAuB,GAAG,IAAI,CAAC,MAAM;AACjF,YAAA,WAAW,EAAE,0BAA0B;AACvC,YAAA,SAAS,EAAE,8CAA8C;AACzD,YAAA,YAAY,EAAE,0DAA0D;AACxE,YAAA,YAAY,EAAE,2BAA2B;AACzC,YAAA,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,WAAW,CAAC,YAAY;SACzC,CAAA;QAED,IAAA,CAAA,QAAQ,GAAG;YACP,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAG,EAAA,IAAI,CAAC,MAAM,CAAO,KAAA,CAAA;YAC1D,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAG,EAAA,IAAI,CAAC,MAAM,CAAQ,MAAA,CAAA;YAC3D,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAG,EAAA,IAAI,CAAC,MAAM,CAAS,OAAA,CAAA;YAC5D,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAG,EAAA,IAAI,CAAC,MAAM,CAAS,OAAA,CAAA;YAC5D,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAG,EAAA,IAAI,CAAC,MAAM,CAAS,OAAA,CAAA;SAC/D,CAAA;KAGA;AAEO,IAAA,iBAAiB,CAAC,MAAmB,EAAA;AACzC,QAAA,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC;AACxC,gBAAA,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS;aACxC,CAAC;SACH,CAAC;AACF,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;AAC1B,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;IAED,eAAe,GAAA;AACX,QAAA,OAAO,OAAO,CAAC;KAClB;AAED,IAAA,cAAc,CAAC,MAAmB,EAAA;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;KACrH;AAED,IAAA,mBAAmB,CAAC,MAAmB,EAAA;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA,aAAA,CAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;KACnH;AAED,IAAA,UAAU,CAAC,MAAc,EAAA;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA,QAAA,EAAW,MAAM,CAAE,CAAA,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KACxH;AAED,IAAA,UAAU,CAAC,QAAkB,EAAA;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA,gBAAA,CAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAClI;IAED,eAAe,CAAC,GAAW,EAAE,QAAiB,EAAA;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,mBAAmB,kBAAkB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAC3I;IAED,UAAU,CAAC,WAAmB,EAAE,OAAe,EAAA;AAC3C,QAAA,MAAM,IAAI,GAAG;YACT,WAAW;AACX,YAAA,IAAI,EAAG,KAAK;SACf,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAW,QAAA,EAAA,OAAO,CAAU,QAAA,CAAA,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KACvI;IAED,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAA;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,CAAG,EAAA,IAAI,CAAC,MAAM,CAAC,mBAAmB,WAAW,OAAO,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAE,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KACrJ;AAED,IAAA,SAAS,CAAC,OAAe,EAAA;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAgB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA,QAAA,EAAW,OAAO,CAAE,CAAA,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAC5H;AAED,IAAA,iBAAiB,CAAC,QAAkB,EAAA;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAyB,uBAAA,CAAA,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAC/I;AAED,IAAA,eAAe,CAAC,MAAc,EAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAEjB,CAAA,EAAG,WAAW,CAAC,QAAQ,CAAA,OAAA,EAAU,MAAM,CAAA,CAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CACxE,GAAG,EAAE,IAAI,IAAG;AACR,YAAA,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9C,aAAA;SACF,EAAE,CACR,CAAC;KACL;;6HA3FQ,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iIAAhC,gCAAgC,EAAA,CAAA,CAAA;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C,UAAU;;;MCuBE,0BAA0B,CAAA;;uHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAjBtB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAE1C,YAAY;AACZ,QAAA,gBAAgB,EAAAA,EAAA,CAAA,kBAAA,EAKhB,eAAe,CAAA,EAAA,OAAA,EAAA,CAEP,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAO5B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAN1B,SAAA,EAAA;QACT,mBAAmB;QACnB,YAAY;AACZ,QAAA,6BAA6B,EAAE;KAChC,EAAA,OAAA,EAAA,CAbC,YAAY;QACZ,gBAAgB;QAChB,kBAAkB,CAAC,UAAU,CAAC;AAC5B,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,QAAQ,EAAE,gCAAgC;SAC3C,CAAC;QACF,eAAe,CAAA,EAAA,CAAA,CAAA;2FASN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAlBtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;AAC7C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,kBAAkB,CAAC,UAAU,CAAC;AAC5B,4BAAA,OAAO,EAAE,UAAU;AACnB,4BAAA,QAAQ,EAAE,gCAAgC;yBAC3C,CAAC;wBACF,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,6BAA6B,CAAC;AACxC,oBAAA,SAAS,EAAE;wBACT,mBAAmB;wBACnB,YAAY;AACZ,wBAAA,6BAA6B,EAAE;AAChC,qBAAA;iBACF,CAAA;;;AC5BD;;AAEG;;ACFH;;AAEG;;;;"}