@dealpos-npm/ng-dealpos-library 4.4.6 → 4.4.7

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.
@@ -12,11 +12,14 @@ export declare class UppyComponent {
12
12
  showSubtitle: boolean;
13
13
  uppyCoreConfiguration: import("@angular/core").InputSignal<any>;
14
14
  dashboardPropsConfiguration: import("@angular/core").InputSignal<any>;
15
- fileUploaded: EventEmitter<File | Blob>;
16
- fileUploadComplete: EventEmitter<File | Blob>;
17
- fileRemoved: EventEmitter<void>;
15
+ fileUploaded: EventEmitter<Blob | File>;
16
+ fileUploadComplete: EventEmitter<Blob | File>;
17
+ fileRemoved: EventEmitter<string>;
18
18
  onParser: EventEmitter<any>;
19
- multipleFilesUploaded: EventEmitter<File[] | Blob[]>;
19
+ multipleFilesUploaded: EventEmitter<{
20
+ file: Blob | File;
21
+ id: string;
22
+ }[]>;
20
23
  http: HttpService;
21
24
  csvParser: ConvertCsvService;
22
25
  rowSummary: import("@angular/core").WritableSignal<{
@@ -24,7 +27,10 @@ export declare class UppyComponent {
24
27
  rowEmpty: number;
25
28
  }>;
26
29
  file: import("@angular/core").WritableSignal<File | null>;
27
- multipleFiles: import("@angular/core").WritableSignal<File[] | null>;
30
+ multipleFiles: import("@angular/core").WritableSignal<{
31
+ file: Blob | File;
32
+ id: string;
33
+ }[]>;
28
34
  private static sizes;
29
35
  private static kilobyte;
30
36
  uppy: Uppy;
@@ -30,7 +30,7 @@ export class UppyComponent {
30
30
  this.csvParser = inject(ConvertCsvService);
31
31
  this.rowSummary = signal({ rowCount: 0, rowEmpty: 0 });
32
32
  this.file = signal(null);
33
- this.multipleFiles = signal(null);
33
+ this.multipleFiles = signal([]);
34
34
  this.uppy = new Uppy({
35
35
  debug: true,
36
36
  autoProceed: true,
@@ -83,7 +83,7 @@ export class UppyComponent {
83
83
  });
84
84
  });
85
85
  this.uppy.on('complete', (uppyFiles) => {
86
- const multipleFiles = uppyFiles.successful?.map(d => d.data) ?? [];
86
+ const multipleFiles = uppyFiles.successful?.map(d => ({ file: d.data, id: d.id })) ?? [];
87
87
  const file = uppyFiles.successful[0]?.data;
88
88
  this.showSample = false;
89
89
  this.showSubtitle = false;
@@ -99,12 +99,14 @@ export class UppyComponent {
99
99
  this.uppy.on('transloadit:result', (stepName, result) => {
100
100
  console.log(stepName, result);
101
101
  });
102
- this.uppy.on('file-removed', () => {
102
+ this.uppy.on('file-removed', (f) => {
103
103
  this.showSample = true;
104
104
  this.showSubtitle = true;
105
- this.fileRemoved.emit();
106
105
  this.file.set(null);
107
- this.multipleFiles.set(null);
106
+ const currentFiles = this.multipleFiles();
107
+ const updatedFiles = currentFiles.filter(r => r.id != f.id);
108
+ this.multipleFiles.set(updatedFiles);
109
+ this.fileRemoved.emit(f.id);
108
110
  this.rowSummary.set({ rowCount: 0, rowEmpty: 0 });
109
111
  });
110
112
  }
@@ -143,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
143
145
  }], multipleFilesUploaded: [{
144
146
  type: Output
145
147
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBweS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvY29tcG9uZW50cy91cHB5LWZpbGUtdXBsb2FkL3NyYy91cHB5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL3VwcHktZmlsZS11cGxvYWQvc3JjL3VwcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sb0NBQW9DLENBQUM7QUFHNUMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDOzs7O0FBUzdCLE1BQU0sT0FBTyxhQUFhO2FBcUJULFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFVLEFBQXJFLENBQXFFO2FBQzFF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Q3BCMUIsZzlCQWlCTSw2V0RETSwwQkFBMEIseUlBQUUsWUFBWTs7MkZBSXZDLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLDBCQUEwQixFQUFFLFlBQVksQ0FBQzt3REFLMUMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIGlucHV0LCBJbnB1dCwgT3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVydENzdlNlcnZpY2UgfSBmcm9tICdAZGVhbHBvcy1ucG0vbmctZGVhbHBvcy1saWJyYXJ5L3NlcnZpY2VzL2Nzdi1wYXJzZXInO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJ0BkZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvc2VydmljZXMvaHR0cCc7XHJcbmltcG9ydCB7IFVwcHlBbmd1bGFyRGFzaGJvYXJkTW9kdWxlIH0gZnJvbSAnQHVwcHkvYW5ndWxhcic7XHJcbmltcG9ydCBDb21wcmVzc29yIGZyb20gJ0B1cHB5L2NvbXByZXNzb3InO1xyXG5pbXBvcnQgeyBVcHB5IH0gZnJvbSAnQHVwcHkvY29yZSc7XHJcbmltcG9ydCAnQHVwcHkvY29yZS9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgJ0B1cHB5L2Rhc2hib2FyZC9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgVHJhbnNsb2FkaXQsIHsgQ09NUEFOSU9OX0FMTE9XRURfSE9TVFMsIENPTVBBTklPTl9VUkwgfSBmcm9tICdAdXBweS90cmFuc2xvYWRpdCc7XHJcbmltcG9ydCBVcmwgZnJvbSAnQHVwcHkvdXJsL2xpYi9VcmwnO1xyXG5pbXBvcnQgUGFwYSBmcm9tICdwYXBhcGFyc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdQT1MtdXBweScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVXBweUFuZ3VsYXJEYXNoYm9hcmRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwcHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91cHB5LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXBweUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc2FtcGxlVXJsOiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmcgPSAnJ1xyXG4gIHNob3dTYW1wbGU6IGJvb2xlYW4gPSB0cnVlXHJcbiAgc2hvd1N1YnRpdGxlOiBib29sZWFuID0gdHJ1ZTtcclxuICB1cHB5Q29yZUNvbmZpZ3VyYXRpb24gPSBpbnB1dDxhbnk+KCk7XHJcbiAgZGFzaGJvYXJkUHJvcHNDb25maWd1cmF0aW9uID0gaW5wdXQ8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJsb2IgfCBGaWxlPigpXHJcbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QmxvYiB8IEZpbGU+KClcclxuICBAT3V0cHV0KCkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcclxuICBAT3V0cHV0KCkgb25QYXJzZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBPdXRwdXQoKSBtdWx0aXBsZUZpbGVzVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJsb2JbXSB8IEZpbGVbXT4oKVxyXG5cclxuICBodHRwID0gaW5qZWN0KEh0dHBTZXJ2aWNlKVxyXG4gIGNzdlBhcnNlciA9IGluamVjdChDb252ZXJ0Q3N2U2VydmljZSlcclxuXHJcbiAgcm93U3VtbWFyeSA9IHNpZ25hbDx7cm93Q291bnQ6IG51bWJlciwgcm93RW1wdHk6IG51bWJlcn0+KHtyb3dDb3VudDogMCwgcm93RW1wdHk6IDB9KVxyXG5cclxuICBmaWxlID0gc2lnbmFsPEZpbGUgfCBudWxsPihudWxsKVxyXG4gIG11bHRpcGxlRmlsZXMgPSBzaWduYWw8RmlsZVtdIHwgbnVsbD4obnVsbClcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgc2l6ZXMgPSBbJ0J5dGVzJywgJ0tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ10gYXMgY29uc3RcclxuICBwcml2YXRlIHN0YXRpYyBraWxvYnl0ZSA9IDEwMjRcclxuXHJcbiAgdXBweTogVXBweSA9IG5ldyBVcHB5KHsgXHJcbiAgICBkZWJ1ZzogdHJ1ZSwgXHJcbiAgICBhdXRvUHJvY2VlZDogdHJ1ZSwgXHJcbiAgICBhbGxvd011bHRpcGxlVXBsb2FkQmF0Y2hlczogZmFsc2UsXHJcbiAgICByZXN0cmljdGlvbnM6IHtcclxuICAgICAgYWxsb3dlZEZpbGVUeXBlczogWycuY3N2J10sXHJcbiAgICAgIG1heFRvdGFsRmlsZVNpemU6IDEwMDAwMDBcclxuICAgIH0sXHJcbiAgfSkudXNlKENvbXByZXNzb3IsIHttaW1lVHlwZTogJ2ltYWdlL2pwZWcnLCBjb252ZXJ0U2l6ZTogSW5maW5pdHksIGNvbnZlcnRUeXBlczogWydpbWFnZS9wbmcnXX0pXHJcbiAgLy8gLnVzZShcclxuICAvLyAgIFVybCwge1xyXG4gIC8vICAgICBjb21wYW5pb25Vcmw6IENPTVBBTklPTl9VUkwsXHJcbiAgLy8gICAgIGNvbXBhbmlvbkFsbG93ZWRIb3N0czogQ09NUEFOSU9OX0FMTE9XRURfSE9TVFNcclxuICAvLyAgIH1cclxuICAvLyApO1xyXG4gIFxyXG4gIGRhc2hib2FyZFByb3BzID0ge1xyXG4gICAgaGlkZVVwbG9hZEJ1dHRvbjogdHJ1ZSxcclxuICAgIGhlaWdodDogMzUwXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB0aGlzLnVwcHkuc2V0T3B0aW9ucyh7Li4udGhpcy51cHB5Q29yZUNvbmZpZ3VyYXRpb24oKX0pKVxyXG4gICAgZWZmZWN0KCgpID0+IHRoaXMuZGFzaGJvYXJkUHJvcHMgPSAoey4uLnRoaXMuZGFzaGJvYXJkUHJvcHMsIC4uLnRoaXMuZGFzaGJvYXJkUHJvcHNDb25maWd1cmF0aW9uKCl9KSlcclxuXHJcbiAgICB0aGlzLnVwcHkub24oJ3VwbG9hZCcsIChfLCB1cHB5RmlsZXMpID0+IHtcclxuICAgICAgY29uc3QgZmlsZSA9IHVwcHlGaWxlc1swXT8uZGF0YSBhcyBGaWxlXHJcbiAgICAgIHRoaXMuc2hvd1NhbXBsZSA9IGZhbHNlXHJcbiAgICAgIHRoaXMuc2hvd1N1YnRpdGxlID0gZmFsc2VcclxuXHJcbiAgICAgIGNvbnNvbGUubG9nKF8sIHVwcHlGaWxlcywgZmlsZSlcclxuICAgICAgdGhpcy5maWxlVXBsb2FkZWQuZW1pdChmaWxlKVxyXG4gICAgICB0aGlzLmZpbGUuc2V0KHVwcHlGaWxlc1swXS5kYXRhIGFzIEZpbGUpXHJcblxyXG4gICAgICBQYXBhLnBhcnNlKGZpbGUsIHtcclxuICAgICAgICBza2lwRW1wdHlMaW5lczogJ2dyZWVkeScsXHJcbiAgICAgICAgaGVhZGVyOiB0cnVlLFxyXG4gICAgICAgIGJlZm9yZUZpcnN0Q2h1bms6IChfY2h1bmspID0+IHtcclxuICBcclxuICAgICAgICAgIGNvbnN0IHdpdGhPdXRIZWFkZXIgPSBfY2h1bmsuc3BsaXQoL1xccj9cXG4vKS5zbGljZSgxKVxyXG4gICAgICAgICAgaWYgKHdpdGhPdXRIZWFkZXJbd2l0aE91dEhlYWRlci5sZW5ndGggLSAxXSA9PT0gJycpIHdpdGhPdXRIZWFkZXIucG9wKClcclxuICAgICAgICAgIHRoaXMucm93U3VtbWFyeS51cGRhdGUocmVzID0+ICh7Li4ucmVzLCByb3dDb3VudDogd2l0aE91dEhlYWRlci5sZW5ndGh9KSlcclxuICAgICAgICAgIHdpdGhPdXRIZWFkZXIuZm9yRWFjaChyb3cgPT4ge1xyXG4gIFxyXG4gICAgICAgICAgICBjb25zdCBlbXB0eVJvdyA9IHJvdy5zcGxpdCgnLCcpLmV2ZXJ5KHJvdyA9PiByb3cgPT09ICcnKVxyXG4gIFxyXG4gICAgICAgICAgICBpZiAoZW1wdHlSb3cpIHRoaXMucm93U3VtbWFyeS51cGRhdGUocmVzID0+ICh7Li4ucmVzLCByb3dFbXB0eTogcmVzLnJvd0VtcHR5ICsgMX0pKVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHJldHVybiBfY2h1bms7IC8vIFJldHVybiB0aGUgb3JpZ2luYWwgY2h1bmsgdG8gY29udGludWUgcGFyc2luZ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IoZXJyb3IsIGZpbGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdFUlJPUicsIGVycm9yLCBmaWxlKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6IChyZXN1bHRzLCBfZmlsZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vblBhcnNlci5lbWl0KHJlc3VsdHMuZGF0YSlcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLnVwcHkub24oJ2NvbXBsZXRlJywgKHVwcHlGaWxlcykgPT4ge1xyXG4gICAgICBjb25zdCBtdWx0aXBsZUZpbGVzID0gdXBweUZpbGVzLnN1Y2Nlc3NmdWw/Lm1hcChkID0+IGQuZGF0YSkgPz8gW11cclxuICAgICAgY29uc3QgZmlsZSA9IHVwcHlGaWxlcy5zdWNjZXNzZnVsIVswXT8uZGF0YVxyXG4gICAgICB0aGlzLnNob3dTYW1wbGUgPSBmYWxzZVxyXG4gICAgICB0aGlzLnNob3dTdWJ0aXRsZSA9IGZhbHNlXHJcblxyXG4gICAgICBjb25zb2xlLmxvZyhmaWxlKVxyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRDb21wbGV0ZS5lbWl0KGZpbGUpXHJcbiAgICAgIHRoaXMubXVsdGlwbGVGaWxlc1VwbG9hZGVkLmVtaXQobXVsdGlwbGVGaWxlcylcclxuICAgICAgdGhpcy5maWxlLnNldChmaWxlIGFzIEZpbGUpXHJcbiAgICAgIHRoaXMubXVsdGlwbGVGaWxlcy5zZXQobXVsdGlwbGVGaWxlcyBhcyBGaWxlW10pXHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudXBweS5vbigndHJhbnNsb2FkaXQ6dXBsb2FkJywgKHgsIHkpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coeCwgeSlcclxuICAgIH0pO1xyXG4gICAgdGhpcy51cHB5Lm9uKCd0cmFuc2xvYWRpdDpyZXN1bHQnLCAoc3RlcE5hbWUsIHJlc3VsdCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhzdGVwTmFtZSwgcmVzdWx0KVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cHB5Lm9uKCdmaWxlLXJlbW92ZWQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd1NhbXBsZSA9IHRydWVcclxuICAgICAgdGhpcy5zaG93U3VidGl0bGUgPSB0cnVlXHJcbiAgICAgIHRoaXMuZmlsZVJlbW92ZWQuZW1pdCgpXHJcbiAgICAgIHRoaXMuZmlsZS5zZXQobnVsbClcclxuICAgICAgdGhpcy5tdWx0aXBsZUZpbGVzLnNldChudWxsKVxyXG4gICAgICB0aGlzLnJvd1N1bW1hcnkuc2V0KHtyb3dDb3VudDogMCwgcm93RW1wdHk6IDB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBhIGdpdmVuIG51bWJlciBvZiBieXRlcyBpbnRvIGEgaHVtYW4tcmVhZGFibGUgc3RyaW5nLlxyXG4gICAqIEBwYXJhbSBieXRlcyBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGNvbnZlcnQuXHJcbiAgICogQHBhcmFtIGRlY2ltYWxQb2ludHMgVGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0byBkaXNwbGF5LiBEZWZhdWx0cyB0byAyLlxyXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIGluIHRoZSBmb3JtIG9mIFwiWC5YWCBbdW5pdF1cIiB3aGVyZSBYIGlzIHRoZSBudW1lcmljYWwgdmFsdWUgYW5kIHVuaXQgaXMgdGhlIGFwcHJvcHJpYXRlIHVuaXQgb2YgbWVhc3VyZW1lbnQgKEJ5dGVzLCBLQiwgTUIsIEdCLCBldGMuKS5cclxuICAgKi9cclxuICBmb3JtYXRGaWxlU2l6ZShieXRlczogbnVtYmVyLCBkZWNpbWFsUG9pbnRzID0gMik6IHN0cmluZyB7XHJcbiAgICBpZihieXRlcyA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gYDAgYnl0ZXNgXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coVXBweUNvbXBvbmVudC5raWxvYnl0ZSkpXHJcbiAgICBjb25zdCBzaXplID0gKGJ5dGVzIC8gTWF0aC5wb3coVXBweUNvbXBvbmVudC5raWxvYnl0ZSxpKSlcclxuICAgIHJldHVybiBgJHtzaXplLnRvRml4ZWQoZGVjaW1hbFBvaW50cyl9ICR7VXBweUNvbXBvbmVudC5zaXplc1tpXX1gXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgPHVwcHktZGFzaGJvYXJkIFt1cHB5XT1cInVwcHlcIiBbcHJvcHNdPVwiZGFzaGJvYXJkUHJvcHNcIj4gPC91cHB5LWRhc2hib2FyZD5cclxuICAgIDxzbWFsbCAqbmdJZj1cInN1YnRpdGxlICYmIHNob3dTdWJ0aXRsZVwiIGNsYXNzPVwic3VidGl0bGUgcG9zaXRpb24tYWJzb2x1dGVcIj57e3N1YnRpdGxlfX08L3NtYWxsPlxyXG4gICAgPGEgKm5nSWY9XCJzYW1wbGVVcmwgJiYgc2hvd1NhbXBsZVwiIGNsYXNzPVwic2FtcGxlIHBvc2l0aW9uLWFic29sdXRlXCIgW2NsYXNzLnRvcC01OF09XCJzdWJ0aXRsZVwiIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgIFtocmVmXT1cInNhbXBsZVVybFwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZG93bmxvYWQgbXMtM1wiPjwvaT4gRG93bmxvYWQgVGVtcGxhdGVcclxuICAgIDwvYT5cclxuXHJcbiAgICBAaWYgKGZpbGUoKSAmJiBmaWxlKCk/LnR5cGUgPT09ICd0ZXh0L2NzdicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMlwiIHN0eWxlPVwibWFyZ2luOiAxcmVtIDAgMCAwO1wiIHJvbGU9XCJhbGVydFwiPlxyXG4gICAgICAgIDxoNCBjbGFzcz1cImFsZXJ0LWhlYWRpbmdcIj5DU1YgRmlsZSBDb250ZW50IFN1bW1hcnk8L2g0PlxyXG4gICAgICAgIDxocj5cclxuICAgICAgICA8cCBjbGFzcz1cImZzLTYgbS0wXCI+e3tyb3dTdW1tYXJ5KCkucm93Q291bnR9fSByb3dzIGZvdW5kIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dTdW1tYXJ5KCkucm93RW1wdHkgPiAwXCI+LVxyXG4gICAgICAgICAgICAgICAge3tyb3dTdW1tYXJ5KCkucm93RW1wdHl9fSBlbXB0eSBpbiB0aGUgQ1NWIHlvdSB1cGxvYWRlZDwvbmctY29udGFpbmVyPjwvcD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIH1cclxuPC9kaXY+Il19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBweS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvY29tcG9uZW50cy91cHB5LWZpbGUtdXBsb2FkL3NyYy91cHB5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL3VwcHktZmlsZS11cGxvYWQvc3JjL3VwcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sb0NBQW9DLENBQUM7QUFHNUMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDOzs7O0FBUzdCLE1BQU0sT0FBTyxhQUFhO2FBcUJULFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFVLEFBQXJFLENBQXFFO2FBQzFF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USxDQUFDLENBQUMsQ0FBQTtRQUN4RSxNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6RCxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDbkUsQ0FBQzs4R0FqSVUsYUFBYTtrR0FBYixhQUFhLGczQkNyQjFCLGc5QkFpQk0sNldEQU0sMEJBQTBCLHlJQUFFLFlBQVk7OzJGQUl2QyxhQUFhO2tCQVB6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsRUFBRSxZQUFZLENBQUM7d0RBSzFDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFLSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBpbnB1dCwgSW5wdXQsIE91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJ0BkZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29udmVydENzdlNlcnZpY2UgfSBmcm9tICdAZGVhbHBvcy1ucG0vbmctZGVhbHBvcy1saWJyYXJ5L3NlcnZpY2VzL2Nzdi1wYXJzZXInO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJ0BkZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvc2VydmljZXMvaHR0cCc7XHJcbmltcG9ydCB7IFVwcHlBbmd1bGFyRGFzaGJvYXJkTW9kdWxlIH0gZnJvbSAnQHVwcHkvYW5ndWxhcic7XHJcbmltcG9ydCBDb21wcmVzc29yIGZyb20gJ0B1cHB5L2NvbXByZXNzb3InO1xyXG5pbXBvcnQgeyBVcHB5IH0gZnJvbSAnQHVwcHkvY29yZSc7XHJcbmltcG9ydCAnQHVwcHkvY29yZS9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgJ0B1cHB5L2Rhc2hib2FyZC9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgVHJhbnNsb2FkaXQsIHsgQ09NUEFOSU9OX0FMTE9XRURfSE9TVFMsIENPTVBBTklPTl9VUkwgfSBmcm9tICdAdXBweS90cmFuc2xvYWRpdCc7XHJcbmltcG9ydCBVcmwgZnJvbSAnQHVwcHkvdXJsL2xpYi9VcmwnO1xyXG5pbXBvcnQgUGFwYSBmcm9tICdwYXBhcGFyc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdQT1MtdXBweScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVXBweUFuZ3VsYXJEYXNoYm9hcmRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwcHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91cHB5LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXBweUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc2FtcGxlVXJsOiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmcgPSAnJ1xyXG4gIHNob3dTYW1wbGU6IGJvb2xlYW4gPSB0cnVlXHJcbiAgc2hvd1N1YnRpdGxlOiBib29sZWFuID0gdHJ1ZTtcclxuICB1cHB5Q29yZUNvbmZpZ3VyYXRpb24gPSBpbnB1dDxhbnk+KCk7XHJcbiAgZGFzaGJvYXJkUHJvcHNDb25maWd1cmF0aW9uID0gaW5wdXQ8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJsb2IgfCBGaWxlPigpXHJcbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QmxvYiB8IEZpbGU+KClcclxuICBAT3V0cHV0KCkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxyXG4gIEBPdXRwdXQoKSBvblBhcnNlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgQE91dHB1dCgpIG11bHRpcGxlRmlsZXNVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e2ZpbGU6IEJsb2IgfCBGaWxlLCBpZDogc3RyaW5nfVtdPigpXHJcblxyXG4gIGh0dHAgPSBpbmplY3QoSHR0cFNlcnZpY2UpXHJcbiAgY3N2UGFyc2VyID0gaW5qZWN0KENvbnZlcnRDc3ZTZXJ2aWNlKVxyXG5cclxuICByb3dTdW1tYXJ5ID0gc2lnbmFsPHtyb3dDb3VudDogbnVtYmVyLCByb3dFbXB0eTogbnVtYmVyfT4oe3Jvd0NvdW50OiAwLCByb3dFbXB0eTogMH0pXHJcblxyXG4gIGZpbGUgPSBzaWduYWw8RmlsZSB8IG51bGw+KG51bGwpXHJcbiAgbXVsdGlwbGVGaWxlcyA9IHNpZ25hbDx7ZmlsZTogQmxvYiB8IEZpbGUsIGlkOiBzdHJpbmd9W10+KFtdKVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBzaXplcyA9IFsnQnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXSBhcyBjb25zdFxyXG4gIHByaXZhdGUgc3RhdGljIGtpbG9ieXRlID0gMTAyNFxyXG5cclxuICB1cHB5OiBVcHB5ID0gbmV3IFVwcHkoeyBcclxuICAgIGRlYnVnOiB0cnVlLCBcclxuICAgIGF1dG9Qcm9jZWVkOiB0cnVlLCBcclxuICAgIGFsbG93TXVsdGlwbGVVcGxvYWRCYXRjaGVzOiBmYWxzZSxcclxuICAgIHJlc3RyaWN0aW9uczoge1xyXG4gICAgICBhbGxvd2VkRmlsZVR5cGVzOiBbJy5jc3YnXSxcclxuICAgICAgbWF4VG90YWxGaWxlU2l6ZTogMTAwMDAwMFxyXG4gICAgfSxcclxuICB9KS51c2UoQ29tcHJlc3Nvciwge21pbWVUeXBlOiAnaW1hZ2UvanBlZycsIGNvbnZlcnRTaXplOiBJbmZpbml0eSwgY29udmVydFR5cGVzOiBbJ2ltYWdlL3BuZyddfSlcclxuICAvLyAudXNlKFxyXG4gIC8vICAgVXJsLCB7XHJcbiAgLy8gICAgIGNvbXBhbmlvblVybDogQ09NUEFOSU9OX1VSTCxcclxuICAvLyAgICAgY29tcGFuaW9uQWxsb3dlZEhvc3RzOiBDT01QQU5JT05fQUxMT1dFRF9IT1NUU1xyXG4gIC8vICAgfVxyXG4gIC8vICk7XHJcbiAgXHJcbiAgZGFzaGJvYXJkUHJvcHMgPSB7XHJcbiAgICBoaWRlVXBsb2FkQnV0dG9uOiB0cnVlLFxyXG4gICAgaGVpZ2h0OiAzNTBcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgZWZmZWN0KCgpID0+IHRoaXMudXBweS5zZXRPcHRpb25zKHsuLi50aGlzLnVwcHlDb3JlQ29uZmlndXJhdGlvbigpfSkpXHJcbiAgICBlZmZlY3QoKCkgPT4gdGhpcy5kYXNoYm9hcmRQcm9wcyA9ICh7Li4udGhpcy5kYXNoYm9hcmRQcm9wcywgLi4udGhpcy5kYXNoYm9hcmRQcm9wc0NvbmZpZ3VyYXRpb24oKX0pKVxyXG5cclxuICAgIHRoaXMudXBweS5vbigndXBsb2FkJywgKF8sIHVwcHlGaWxlcykgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlID0gdXBweUZpbGVzWzBdPy5kYXRhIGFzIEZpbGVcclxuICAgICAgdGhpcy5zaG93U2FtcGxlID0gZmFsc2VcclxuICAgICAgdGhpcy5zaG93U3VidGl0bGUgPSBmYWxzZVxyXG5cclxuICAgICAgY29uc29sZS5sb2coXywgdXBweUZpbGVzLCBmaWxlKVxyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRlZC5lbWl0KGZpbGUpXHJcbiAgICAgIHRoaXMuZmlsZS5zZXQodXBweUZpbGVzWzBdLmRhdGEgYXMgRmlsZSlcclxuXHJcbiAgICAgIFBhcGEucGFyc2UoZmlsZSwge1xyXG4gICAgICAgIHNraXBFbXB0eUxpbmVzOiAnZ3JlZWR5JyxcclxuICAgICAgICBoZWFkZXI6IHRydWUsXHJcbiAgICAgICAgYmVmb3JlRmlyc3RDaHVuazogKF9jaHVuaykgPT4ge1xyXG4gIFxyXG4gICAgICAgICAgY29uc3Qgd2l0aE91dEhlYWRlciA9IF9jaHVuay5zcGxpdCgvXFxyP1xcbi8pLnNsaWNlKDEpXHJcbiAgICAgICAgICBpZiAod2l0aE91dEhlYWRlclt3aXRoT3V0SGVhZGVyLmxlbmd0aCAtIDFdID09PSAnJykgd2l0aE91dEhlYWRlci5wb3AoKVxyXG4gICAgICAgICAgdGhpcy5yb3dTdW1tYXJ5LnVwZGF0ZShyZXMgPT4gKHsuLi5yZXMsIHJvd0NvdW50OiB3aXRoT3V0SGVhZGVyLmxlbmd0aH0pKVxyXG4gICAgICAgICAgd2l0aE91dEhlYWRlci5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgXHJcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5Um93ID0gcm93LnNwbGl0KCcsJykuZXZlcnkocm93ID0+IHJvdyA9PT0gJycpXHJcbiAgXHJcbiAgICAgICAgICAgIGlmIChlbXB0eVJvdykgdGhpcy5yb3dTdW1tYXJ5LnVwZGF0ZShyZXMgPT4gKHsuLi5yZXMsIHJvd0VtcHR5OiByZXMucm93RW1wdHkgKyAxfSkpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuIF9jaHVuazsgLy8gUmV0dXJuIHRoZSBvcmlnaW5hbCBjaHVuayB0byBjb250aW51ZSBwYXJzaW5nXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcihlcnJvciwgZmlsZSkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0VSUk9SJywgZXJyb3IsIGZpbGUpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKHJlc3VsdHMsIF9maWxlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9uUGFyc2VyLmVtaXQocmVzdWx0cy5kYXRhKVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudXBweS5vbignY29tcGxldGUnLCAodXBweUZpbGVzKSA9PiB7XHJcbiAgICAgIGNvbnN0IG11bHRpcGxlRmlsZXMgPSB1cHB5RmlsZXMuc3VjY2Vzc2Z1bD8ubWFwKGQgPT4gKHtmaWxlOiBkLmRhdGEsIGlkOiBkLmlkfSkpID8/IFtdXHJcbiAgICAgIGNvbnN0IGZpbGUgPSB1cHB5RmlsZXMuc3VjY2Vzc2Z1bCFbMF0/LmRhdGFcclxuICAgICAgdGhpcy5zaG93U2FtcGxlID0gZmFsc2VcclxuICAgICAgdGhpcy5zaG93U3VidGl0bGUgPSBmYWxzZVxyXG5cclxuICAgICAgY29uc29sZS5sb2coZmlsZSlcclxuICAgICAgdGhpcy5maWxlVXBsb2FkQ29tcGxldGUuZW1pdChmaWxlKVxyXG4gICAgICB0aGlzLm11bHRpcGxlRmlsZXNVcGxvYWRlZC5lbWl0KG11bHRpcGxlRmlsZXMpXHJcbiAgICAgIHRoaXMuZmlsZS5zZXQoZmlsZSBhcyBGaWxlKVxyXG4gICAgICB0aGlzLm11bHRpcGxlRmlsZXMuc2V0KG11bHRpcGxlRmlsZXMpXHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudXBweS5vbigndHJhbnNsb2FkaXQ6dXBsb2FkJywgKHgsIHkpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coeCwgeSlcclxuICAgIH0pO1xyXG4gICAgdGhpcy51cHB5Lm9uKCd0cmFuc2xvYWRpdDpyZXN1bHQnLCAoc3RlcE5hbWUsIHJlc3VsdCkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhzdGVwTmFtZSwgcmVzdWx0KVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cHB5Lm9uKCdmaWxlLXJlbW92ZWQnLCAoZikgPT4ge1xyXG4gICAgICB0aGlzLnNob3dTYW1wbGUgPSB0cnVlXHJcbiAgICAgIHRoaXMuc2hvd1N1YnRpdGxlID0gdHJ1ZVxyXG4gICAgICB0aGlzLmZpbGUuc2V0KG51bGwpXHJcbiAgICAgIGNvbnN0IGN1cnJlbnRGaWxlcyA9IHRoaXMubXVsdGlwbGVGaWxlcygpO1xyXG4gICAgICBjb25zdCB1cGRhdGVkRmlsZXMgPSBjdXJyZW50RmlsZXMuZmlsdGVyKHIgPT4gci5pZCAhPSBmLmlkKVxyXG4gICAgICB0aGlzLm11bHRpcGxlRmlsZXMuc2V0KHVwZGF0ZWRGaWxlcylcclxuICAgICAgdGhpcy5maWxlUmVtb3ZlZC5lbWl0KGYuaWQpICBcclxuICAgICAgdGhpcy5yb3dTdW1tYXJ5LnNldCh7cm93Q291bnQ6IDAsIHJvd0VtcHR5OiAwfSlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgYSBnaXZlbiBudW1iZXIgb2YgYnl0ZXMgaW50byBhIGh1bWFuLXJlYWRhYmxlIHN0cmluZy5cclxuICAgKiBAcGFyYW0gYnl0ZXMgVGhlIG51bWJlciBvZiBieXRlcyB0byBjb252ZXJ0LlxyXG4gICAqIEBwYXJhbSBkZWNpbWFsUG9pbnRzIFRoZSBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gZGlzcGxheS4gRGVmYXVsdHMgdG8gMi5cclxuICAgKiBAcmV0dXJucyBBIHN0cmluZyBpbiB0aGUgZm9ybSBvZiBcIlguWFggW3VuaXRdXCIgd2hlcmUgWCBpcyB0aGUgbnVtZXJpY2FsIHZhbHVlIGFuZCB1bml0IGlzIHRoZSBhcHByb3ByaWF0ZSB1bml0IG9mIG1lYXN1cmVtZW50IChCeXRlcywgS0IsIE1CLCBHQiwgZXRjLikuXHJcbiAgICovXHJcbiAgZm9ybWF0RmlsZVNpemUoYnl0ZXM6IG51bWJlciwgZGVjaW1hbFBvaW50cyA9IDIpOiBzdHJpbmcge1xyXG4gICAgaWYoYnl0ZXMgPT09IDApIHtcclxuICAgICAgcmV0dXJuIGAwIGJ5dGVzYFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKFVwcHlDb21wb25lbnQua2lsb2J5dGUpKVxyXG4gICAgY29uc3Qgc2l6ZSA9IChieXRlcyAvIE1hdGgucG93KFVwcHlDb21wb25lbnQua2lsb2J5dGUsaSkpXHJcbiAgICByZXR1cm4gYCR7c2l6ZS50b0ZpeGVkKGRlY2ltYWxQb2ludHMpfSAke1VwcHlDb21wb25lbnQuc2l6ZXNbaV19YFxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgIDx1cHB5LWRhc2hib2FyZCBbdXBweV09XCJ1cHB5XCIgW3Byb3BzXT1cImRhc2hib2FyZFByb3BzXCI+IDwvdXBweS1kYXNoYm9hcmQ+XHJcbiAgICA8c21hbGwgKm5nSWY9XCJzdWJ0aXRsZSAmJiBzaG93U3VidGl0bGVcIiBjbGFzcz1cInN1YnRpdGxlIHBvc2l0aW9uLWFic29sdXRlXCI+e3tzdWJ0aXRsZX19PC9zbWFsbD5cclxuICAgIDxhICpuZ0lmPVwic2FtcGxlVXJsICYmIHNob3dTYW1wbGVcIiBjbGFzcz1cInNhbXBsZSBwb3NpdGlvbi1hYnNvbHV0ZVwiIFtjbGFzcy50b3AtNThdPVwic3VidGl0bGVcIiByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICBbaHJlZl09XCJzYW1wbGVVcmxcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWRvd25sb2FkIG1zLTNcIj48L2k+IERvd25sb2FkIFRlbXBsYXRlXHJcbiAgICA8L2E+XHJcblxyXG4gICAgQGlmIChmaWxlKCkgJiYgZmlsZSgpPy50eXBlID09PSAndGV4dC9jc3YnKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtd2FybmluZyBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIiBzdHlsZT1cIm1hcmdpbjogMXJlbSAwIDAgMDtcIiByb2xlPVwiYWxlcnRcIj5cclxuICAgICAgICA8aDQgY2xhc3M9XCJhbGVydC1oZWFkaW5nXCI+Q1NWIEZpbGUgQ29udGVudCBTdW1tYXJ5PC9oND5cclxuICAgICAgICA8aHI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJmcy02IG0tMFwiPnt7cm93U3VtbWFyeSgpLnJvd0NvdW50fX0gcm93cyBmb3VuZCA8bmctY29udGFpbmVyICpuZ0lmPVwicm93U3VtbWFyeSgpLnJvd0VtcHR5ID4gMFwiPi1cclxuICAgICAgICAgICAgICAgIHt7cm93U3VtbWFyeSgpLnJvd0VtcHR5fX0gZW1wdHkgaW4gdGhlIENTViB5b3UgdXBsb2FkZWQ8L25nLWNvbnRhaW5lcj48L3A+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICB9XHJcbjwvZGl2PiJdfQ==
@@ -31,7 +31,7 @@ class UppyComponent {
31
31
  this.csvParser = inject(ConvertCsvService);
32
32
  this.rowSummary = signal({ rowCount: 0, rowEmpty: 0 });
33
33
  this.file = signal(null);
34
- this.multipleFiles = signal(null);
34
+ this.multipleFiles = signal([]);
35
35
  this.uppy = new Uppy({
36
36
  debug: true,
37
37
  autoProceed: true,
@@ -84,7 +84,7 @@ class UppyComponent {
84
84
  });
85
85
  });
86
86
  this.uppy.on('complete', (uppyFiles) => {
87
- const multipleFiles = uppyFiles.successful?.map(d => d.data) ?? [];
87
+ const multipleFiles = uppyFiles.successful?.map(d => ({ file: d.data, id: d.id })) ?? [];
88
88
  const file = uppyFiles.successful[0]?.data;
89
89
  this.showSample = false;
90
90
  this.showSubtitle = false;
@@ -100,12 +100,14 @@ class UppyComponent {
100
100
  this.uppy.on('transloadit:result', (stepName, result) => {
101
101
  console.log(stepName, result);
102
102
  });
103
- this.uppy.on('file-removed', () => {
103
+ this.uppy.on('file-removed', (f) => {
104
104
  this.showSample = true;
105
105
  this.showSubtitle = true;
106
- this.fileRemoved.emit();
107
106
  this.file.set(null);
108
- this.multipleFiles.set(null);
107
+ const currentFiles = this.multipleFiles();
108
+ const updatedFiles = currentFiles.filter(r => r.id != f.id);
109
+ this.multipleFiles.set(updatedFiles);
110
+ this.fileRemoved.emit(f.id);
109
111
  this.rowSummary.set({ rowCount: 0, rowEmpty: 0 });
110
112
  });
111
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dealpos-npm-ng-dealpos-library-components-uppy-file-upload.mjs","sources":["../../../projects/dealpos-npm/ng-dealpos-library/components/uppy-file-upload/src/uppy.component.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/uppy-file-upload/src/uppy.component.html","../../../projects/dealpos-npm/ng-dealpos-library/components/uppy-file-upload/dealpos-npm-ng-dealpos-library-components-uppy-file-upload.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, effect, EventEmitter, inject, input, Input, Output, signal } from '@angular/core';\r\nimport { ConvertCsvService } from '@dealpos-npm/ng-dealpos-library/services/csv-parser';\r\nimport { HttpService } from '@dealpos-npm/ng-dealpos-library/services/http';\r\nimport { UppyAngularDashboardModule } from '@uppy/angular';\r\nimport Compressor from '@uppy/compressor';\r\nimport { Uppy } from '@uppy/core';\r\nimport '@uppy/core/dist/style.min.css';\r\nimport '@uppy/dashboard/dist/style.min.css';\r\nimport Transloadit, { COMPANION_ALLOWED_HOSTS, COMPANION_URL } from '@uppy/transloadit';\r\nimport Url from '@uppy/url/lib/Url';\r\nimport Papa from 'papaparse';\r\n\r\n@Component({\r\n selector: 'POS-uppy',\r\n standalone: true,\r\n imports: [UppyAngularDashboardModule, CommonModule],\r\n templateUrl: './uppy.component.html',\r\n styleUrl: './uppy.component.scss'\r\n})\r\nexport class UppyComponent {\r\n @Input() sampleUrl: string = ''\r\n @Input() subtitle: string = ''\r\n showSample: boolean = true\r\n showSubtitle: boolean = true;\r\n uppyCoreConfiguration = input<any>();\r\n dashboardPropsConfiguration = input<any>();\r\n @Output() fileUploaded = new EventEmitter<Blob | File>()\r\n @Output() fileUploadComplete = new EventEmitter<Blob | File>()\r\n @Output() fileRemoved = new EventEmitter<void>()\r\n @Output() onParser = new EventEmitter<any>()\r\n @Output() multipleFilesUploaded = new EventEmitter<Blob[] | File[]>()\r\n\r\n http = inject(HttpService)\r\n csvParser = inject(ConvertCsvService)\r\n\r\n rowSummary = signal<{rowCount: number, rowEmpty: number}>({rowCount: 0, rowEmpty: 0})\r\n\r\n file = signal<File | null>(null)\r\n multipleFiles = signal<File[] | null>(null)\r\n\r\n private static sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] as const\r\n private static kilobyte = 1024\r\n\r\n uppy: Uppy = new Uppy({ \r\n debug: true, \r\n autoProceed: true, \r\n allowMultipleUploadBatches: false,\r\n restrictions: {\r\n allowedFileTypes: ['.csv'],\r\n maxTotalFileSize: 1000000\r\n },\r\n }).use(Compressor, {mimeType: 'image/jpeg', convertSize: Infinity, convertTypes: ['image/png']})\r\n // .use(\r\n // Url, {\r\n // companionUrl: COMPANION_URL,\r\n // companionAllowedHosts: COMPANION_ALLOWED_HOSTS\r\n // }\r\n // );\r\n \r\n dashboardProps = {\r\n hideUploadButton: true,\r\n height: 350\r\n }\r\n\r\n constructor() {\r\n effect(() => this.uppy.setOptions({...this.uppyCoreConfiguration()}))\r\n effect(() => this.dashboardProps = ({...this.dashboardProps, ...this.dashboardPropsConfiguration()}))\r\n\r\n this.uppy.on('upload', (_, uppyFiles) => {\r\n const file = uppyFiles[0]?.data as File\r\n this.showSample = false\r\n this.showSubtitle = false\r\n\r\n console.log(_, uppyFiles, file)\r\n this.fileUploaded.emit(file)\r\n this.file.set(uppyFiles[0].data as File)\r\n\r\n Papa.parse(file, {\r\n skipEmptyLines: 'greedy',\r\n header: true,\r\n beforeFirstChunk: (_chunk) => {\r\n \r\n const withOutHeader = _chunk.split(/\\r?\\n/).slice(1)\r\n if (withOutHeader[withOutHeader.length - 1] === '') withOutHeader.pop()\r\n this.rowSummary.update(res => ({...res, rowCount: withOutHeader.length}))\r\n withOutHeader.forEach(row => {\r\n \r\n const emptyRow = row.split(',').every(row => row === '')\r\n \r\n if (emptyRow) this.rowSummary.update(res => ({...res, rowEmpty: res.rowEmpty + 1}))\r\n })\r\n return _chunk; // Return the original chunk to continue parsing\r\n },\r\n error(error, file) {\r\n console.log('ERROR', error, file)\r\n },\r\n complete: (results, _file) => {\r\n this.onParser.emit(results.data)\r\n },\r\n })\r\n })\r\n\r\n this.uppy.on('complete', (uppyFiles) => {\r\n const multipleFiles = uppyFiles.successful?.map(d => d.data) ?? []\r\n const file = uppyFiles.successful![0]?.data\r\n this.showSample = false\r\n this.showSubtitle = false\r\n\r\n console.log(file)\r\n this.fileUploadComplete.emit(file)\r\n this.multipleFilesUploaded.emit(multipleFiles)\r\n this.file.set(file as File)\r\n this.multipleFiles.set(multipleFiles as File[])\r\n })\r\n\r\n this.uppy.on('transloadit:upload', (x, y) => {\r\n console.log(x, y)\r\n });\r\n this.uppy.on('transloadit:result', (stepName, result) => {\r\n console.log(stepName, result)\r\n });\r\n\r\n this.uppy.on('file-removed', () => {\r\n this.showSample = true\r\n this.showSubtitle = true\r\n this.fileRemoved.emit()\r\n this.file.set(null)\r\n this.multipleFiles.set(null)\r\n this.rowSummary.set({rowCount: 0, rowEmpty: 0})\r\n });\r\n }\r\n\r\n /**\r\n * Converts a given number of bytes into a human-readable string.\r\n * @param bytes The number of bytes to convert.\r\n * @param decimalPoints The number of decimal places to display. Defaults to 2.\r\n * @returns A string in the form of \"X.XX [unit]\" where X is the numerical value and unit is the appropriate unit of measurement (Bytes, KB, MB, GB, etc.).\r\n */\r\n formatFileSize(bytes: number, decimalPoints = 2): string {\r\n if(bytes === 0) {\r\n return `0 bytes`\r\n }\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(UppyComponent.kilobyte))\r\n const size = (bytes / Math.pow(UppyComponent.kilobyte,i))\r\n return `${size.toFixed(decimalPoints)} ${UppyComponent.sizes[i]}`\r\n }\r\n}\r\n","<div class=\"position-relative\">\r\n <uppy-dashboard [uppy]=\"uppy\" [props]=\"dashboardProps\"> </uppy-dashboard>\r\n <small *ngIf=\"subtitle && showSubtitle\" class=\"subtitle position-absolute\">{{subtitle}}</small>\r\n <a *ngIf=\"sampleUrl && showSample\" class=\"sample position-absolute\" [class.top-58]=\"subtitle\" role=\"button\"\r\n [href]=\"sampleUrl\">\r\n <i class=\"fa-solid fa-download ms-3\"></i> Download Template\r\n </a>\r\n\r\n @if (file() && file()?.type === 'text/csv') {\r\n <div class=\"alert alert-warning d-flex flex-column gap-2\" style=\"margin: 1rem 0 0 0;\" role=\"alert\">\r\n <h4 class=\"alert-heading\">CSV File Content Summary</h4>\r\n <hr>\r\n <p class=\"fs-6 m-0\">{{rowSummary().rowCount}} rows found <ng-container *ngIf=\"rowSummary().rowEmpty > 0\">-\r\n {{rowSummary().rowEmpty}} empty in the CSV you uploaded</ng-container></p>\r\n </div>\r\n\r\n }\r\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dealpos-npm-ng-dealpos-library-components-uppy-file-upload.mjs","sources":["../../../projects/dealpos-npm/ng-dealpos-library/components/uppy-file-upload/src/uppy.component.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/uppy-file-upload/src/uppy.component.html","../../../projects/dealpos-npm/ng-dealpos-library/components/uppy-file-upload/dealpos-npm-ng-dealpos-library-components-uppy-file-upload.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, effect, EventEmitter, inject, input, Input, Output, signal } from '@angular/core';\r\nimport { Constants } from '@dealpos-npm/ng-dealpos-library/constants';\r\nimport { ConvertCsvService } from '@dealpos-npm/ng-dealpos-library/services/csv-parser';\r\nimport { HttpService } from '@dealpos-npm/ng-dealpos-library/services/http';\r\nimport { UppyAngularDashboardModule } from '@uppy/angular';\r\nimport Compressor from '@uppy/compressor';\r\nimport { Uppy } from '@uppy/core';\r\nimport '@uppy/core/dist/style.min.css';\r\nimport '@uppy/dashboard/dist/style.min.css';\r\nimport Transloadit, { COMPANION_ALLOWED_HOSTS, COMPANION_URL } from '@uppy/transloadit';\r\nimport Url from '@uppy/url/lib/Url';\r\nimport Papa from 'papaparse';\r\n\r\n@Component({\r\n selector: 'POS-uppy',\r\n standalone: true,\r\n imports: [UppyAngularDashboardModule, CommonModule],\r\n templateUrl: './uppy.component.html',\r\n styleUrl: './uppy.component.scss'\r\n})\r\nexport class UppyComponent {\r\n @Input() sampleUrl: string = ''\r\n @Input() subtitle: string = ''\r\n showSample: boolean = true\r\n showSubtitle: boolean = true;\r\n uppyCoreConfiguration = input<any>();\r\n dashboardPropsConfiguration = input<any>();\r\n @Output() fileUploaded = new EventEmitter<Blob | File>()\r\n @Output() fileUploadComplete = new EventEmitter<Blob | File>()\r\n @Output() fileRemoved = new EventEmitter<string>()\r\n @Output() onParser = new EventEmitter<any>()\r\n @Output() multipleFilesUploaded = new EventEmitter<{file: Blob | File, id: string}[]>()\r\n\r\n http = inject(HttpService)\r\n csvParser = inject(ConvertCsvService)\r\n\r\n rowSummary = signal<{rowCount: number, rowEmpty: number}>({rowCount: 0, rowEmpty: 0})\r\n\r\n file = signal<File | null>(null)\r\n multipleFiles = signal<{file: Blob | File, id: string}[]>([])\r\n\r\n private static sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] as const\r\n private static kilobyte = 1024\r\n\r\n uppy: Uppy = new Uppy({ \r\n debug: true, \r\n autoProceed: true, \r\n allowMultipleUploadBatches: false,\r\n restrictions: {\r\n allowedFileTypes: ['.csv'],\r\n maxTotalFileSize: 1000000\r\n },\r\n }).use(Compressor, {mimeType: 'image/jpeg', convertSize: Infinity, convertTypes: ['image/png']})\r\n // .use(\r\n // Url, {\r\n // companionUrl: COMPANION_URL,\r\n // companionAllowedHosts: COMPANION_ALLOWED_HOSTS\r\n // }\r\n // );\r\n \r\n dashboardProps = {\r\n hideUploadButton: true,\r\n height: 350\r\n }\r\n\r\n constructor() {\r\n effect(() => this.uppy.setOptions({...this.uppyCoreConfiguration()}))\r\n effect(() => this.dashboardProps = ({...this.dashboardProps, ...this.dashboardPropsConfiguration()}))\r\n\r\n this.uppy.on('upload', (_, uppyFiles) => {\r\n const file = uppyFiles[0]?.data as File\r\n this.showSample = false\r\n this.showSubtitle = false\r\n\r\n console.log(_, uppyFiles, file)\r\n this.fileUploaded.emit(file)\r\n this.file.set(uppyFiles[0].data as File)\r\n\r\n Papa.parse(file, {\r\n skipEmptyLines: 'greedy',\r\n header: true,\r\n beforeFirstChunk: (_chunk) => {\r\n \r\n const withOutHeader = _chunk.split(/\\r?\\n/).slice(1)\r\n if (withOutHeader[withOutHeader.length - 1] === '') withOutHeader.pop()\r\n this.rowSummary.update(res => ({...res, rowCount: withOutHeader.length}))\r\n withOutHeader.forEach(row => {\r\n \r\n const emptyRow = row.split(',').every(row => row === '')\r\n \r\n if (emptyRow) this.rowSummary.update(res => ({...res, rowEmpty: res.rowEmpty + 1}))\r\n })\r\n return _chunk; // Return the original chunk to continue parsing\r\n },\r\n error(error, file) {\r\n console.log('ERROR', error, file)\r\n },\r\n complete: (results, _file) => {\r\n this.onParser.emit(results.data)\r\n },\r\n })\r\n })\r\n\r\n this.uppy.on('complete', (uppyFiles) => {\r\n const multipleFiles = uppyFiles.successful?.map(d => ({file: d.data, id: d.id})) ?? []\r\n const file = uppyFiles.successful![0]?.data\r\n this.showSample = false\r\n this.showSubtitle = false\r\n\r\n console.log(file)\r\n this.fileUploadComplete.emit(file)\r\n this.multipleFilesUploaded.emit(multipleFiles)\r\n this.file.set(file as File)\r\n this.multipleFiles.set(multipleFiles)\r\n })\r\n\r\n this.uppy.on('transloadit:upload', (x, y) => {\r\n console.log(x, y)\r\n });\r\n this.uppy.on('transloadit:result', (stepName, result) => {\r\n console.log(stepName, result)\r\n });\r\n\r\n this.uppy.on('file-removed', (f) => {\r\n this.showSample = true\r\n this.showSubtitle = true\r\n this.file.set(null)\r\n const currentFiles = this.multipleFiles();\r\n const updatedFiles = currentFiles.filter(r => r.id != f.id)\r\n this.multipleFiles.set(updatedFiles)\r\n this.fileRemoved.emit(f.id) \r\n this.rowSummary.set({rowCount: 0, rowEmpty: 0})\r\n });\r\n }\r\n\r\n /**\r\n * Converts a given number of bytes into a human-readable string.\r\n * @param bytes The number of bytes to convert.\r\n * @param decimalPoints The number of decimal places to display. Defaults to 2.\r\n * @returns A string in the form of \"X.XX [unit]\" where X is the numerical value and unit is the appropriate unit of measurement (Bytes, KB, MB, GB, etc.).\r\n */\r\n formatFileSize(bytes: number, decimalPoints = 2): string {\r\n if(bytes === 0) {\r\n return `0 bytes`\r\n }\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(UppyComponent.kilobyte))\r\n const size = (bytes / Math.pow(UppyComponent.kilobyte,i))\r\n return `${size.toFixed(decimalPoints)} ${UppyComponent.sizes[i]}`\r\n }\r\n}\r\n","<div class=\"position-relative\">\r\n <uppy-dashboard [uppy]=\"uppy\" [props]=\"dashboardProps\"> </uppy-dashboard>\r\n <small *ngIf=\"subtitle && showSubtitle\" class=\"subtitle position-absolute\">{{subtitle}}</small>\r\n <a *ngIf=\"sampleUrl && showSample\" class=\"sample position-absolute\" [class.top-58]=\"subtitle\" role=\"button\"\r\n [href]=\"sampleUrl\">\r\n <i class=\"fa-solid fa-download ms-3\"></i> Download Template\r\n </a>\r\n\r\n @if (file() && file()?.type === 'text/csv') {\r\n <div class=\"alert alert-warning d-flex flex-column gap-2\" style=\"margin: 1rem 0 0 0;\" role=\"alert\">\r\n <h4 class=\"alert-heading\">CSV File Content Summary</h4>\r\n <hr>\r\n <p class=\"fs-6 m-0\">{{rowSummary().rowCount}} rows found <ng-container *ngIf=\"rowSummary().rowEmpty > 0\">-\r\n {{rowSummary().rowEmpty}} empty in the CSV you uploaded</ng-container></p>\r\n </div>\r\n\r\n }\r\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dealpos-npm/ng-dealpos-library",
3
- "version": "4.4.6",
3
+ "version": "4.4.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",