@dealpos-npm/ng-dealpos-library 4.4.14 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,2 @@
1
1
  export * from "./src/custom-dialog-config/modal-material-config";
2
2
  export * from "./src/custom-dialog/modal-material.component";
3
- export * from "./src/custom-dialog-config/header-type.enum";
@@ -69,6 +69,12 @@ export declare class UppyComponent implements OnDestroy {
69
69
  */
70
70
  formatFileSize(bytes: number, decimalPoints?: number): string;
71
71
  ngOnDestroy(): void;
72
+ emitFileUpload(f: File): void;
73
+ emitFileUploadComplete(f: File): void;
74
+ emitMultipleFilesUploaded(data: {
75
+ file: Blob | File;
76
+ id: string;
77
+ }[]): void;
72
78
  static ɵfac: i0.ɵɵFactoryDeclaration<UppyComponent, never>;
73
79
  static ɵcmp: i0.ɵɵComponentDeclaration<UppyComponent, "POS-uppy", never, { "sampleUrl": { "alias": "sampleUrl"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "showSample": { "alias": "showSample"; "required": false; }; "clear": { "alias": "clear"; "required": false; "isSignal": true; }; "uppyCoreConfiguration": { "alias": "uppyCoreConfiguration"; "required": false; "isSignal": true; }; "dashboardPropsConfiguration": { "alias": "dashboardPropsConfiguration"; "required": false; "isSignal": true; }; }, { "fileUploaded": "fileUploaded"; "fileUploadComplete": "fileUploadComplete"; "fileRemoved": "fileRemoved"; "onParser": "onParser"; "multipleFilesUploaded": "multipleFilesUploaded"; }, never, never, true, never>;
74
80
  }
@@ -1,4 +1,3 @@
1
1
  export * from "./src/custom-dialog-config/modal-material-config";
2
2
  export * from "./src/custom-dialog/modal-material.component";
3
- export * from "./src/custom-dialog-config/header-type.enum";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL2RpYWxvZy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3JjL2N1c3RvbS1kaWFsb2ctY29uZmlnL21vZGFsLW1hdGVyaWFsLWNvbmZpZ1wiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvY3VzdG9tLWRpYWxvZy9tb2RhbC1tYXRlcmlhbC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2N1c3RvbS1kaWFsb2ctY29uZmlnL2hlYWRlci10eXBlLmVudW1cIjsiXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL2RpYWxvZy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3NyYy9jdXN0b20tZGlhbG9nLWNvbmZpZy9tb2RhbC1tYXRlcmlhbC1jb25maWdcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2N1c3RvbS1kaWFsb2cvbW9kYWwtbWF0ZXJpYWwuY29tcG9uZW50XCI7Il19
@@ -9,6 +9,8 @@ import '@uppy/core/dist/style.min.css';
9
9
  import '@uppy/dashboard/dist/style.min.css';
10
10
  import '@uppy/image-editor/dist/style.min.css';
11
11
  import ImageEditor from '@uppy/image-editor';
12
+ import { COMPANION_ALLOWED_HOSTS, COMPANION_URL, } from '@uppy/transloadit';
13
+ import Url from '@uppy/url';
12
14
  import Papa from 'papaparse';
13
15
  import * as i0 from "@angular/core";
14
16
  import * as i1 from "@uppy/angular";
@@ -71,7 +73,15 @@ export class UppyComponent {
71
73
  convertSize: Infinity,
72
74
  convertTypes: ['image/png'],
73
75
  })
74
- .use(ImageEditor);
76
+ .use(ImageEditor)
77
+ .use(Url, {
78
+ companionUrl: COMPANION_URL,
79
+ companionAllowedHosts: COMPANION_ALLOWED_HOSTS,
80
+ companionKeysParams: {
81
+ key: 'mSGjjnyL5ZdPWUc81b82n2REltfV0Pw3',
82
+ credentialsName: 'auth-key-uppy',
83
+ },
84
+ });
75
85
  this.dashboardProps = {
76
86
  hideUploadButton: true,
77
87
  height: 350,
@@ -85,7 +95,7 @@ export class UppyComponent {
85
95
  const file = uppyFiles[0]?.data;
86
96
  this.showSample = false;
87
97
  this.showSubtitle = false;
88
- this.fileUploaded.emit(file);
98
+ this.emitFileUpload(file);
89
99
  this.file.set(uppyFiles[0].data);
90
100
  Papa.parse(file, {
91
101
  skipEmptyLines: 'greedy',
@@ -121,8 +131,8 @@ export class UppyComponent {
121
131
  const file = uppyFiles.successful[0]?.data;
122
132
  this.showSample = false;
123
133
  this.showSubtitle = false;
124
- this.fileUploadComplete.emit(file);
125
- this.multipleFilesUploaded.emit(multipleFiles);
134
+ this.emitFileUploadComplete(file);
135
+ this.emitMultipleFilesUploaded(multipleFiles);
126
136
  this.onResetUppy();
127
137
  this.file.set(file);
128
138
  this.multipleFiles.set(multipleFiles);
@@ -182,8 +192,8 @@ export class UppyComponent {
182
192
  });
183
193
  });
184
194
  this.file.set(this.multipleFiles()[0].file);
185
- this.fileUploadComplete.emit(this.file());
186
- this.multipleFilesUploaded.emit(this.multipleFiles());
195
+ this.emitFileUploadComplete(this.file());
196
+ this.emitMultipleFilesUploaded(this.multipleFiles());
187
197
  }
188
198
  onResetUppy() {
189
199
  if (this.clear()) {
@@ -208,6 +218,27 @@ export class UppyComponent {
208
218
  this.file.set(null);
209
219
  this.multipleFiles.set([]);
210
220
  }
221
+ emitFileUpload(f) {
222
+ const renamedFile = new File([f], f.name.replace(/ /g, '_'), {
223
+ type: f.type,
224
+ });
225
+ this.fileUploaded.emit(renamedFile);
226
+ }
227
+ emitFileUploadComplete(f) {
228
+ const renamedFile = new File([f], f.name.replace(/ /g, '_'), {
229
+ type: f.type,
230
+ });
231
+ this.fileUploadComplete.emit(renamedFile);
232
+ }
233
+ emitMultipleFilesUploaded(data) {
234
+ const renamedData = data.map((d) => ({
235
+ file: new File([d.file], d.file.name.replace(/ /g, '_'), {
236
+ type: d.file.type,
237
+ }),
238
+ id: d.id,
239
+ }));
240
+ this.multipleFilesUploaded.emit(renamedData);
241
+ }
211
242
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: UppyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
212
243
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: UppyComponent, isStandalone: true, selector: "POS-uppy", inputs: { sampleUrl: { classPropertyName: "sampleUrl", publicName: "sampleUrl", isSignal: false, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: false, isRequired: false, transformFunction: null }, showSample: { classPropertyName: "showSample", publicName: "showSample", isSignal: false, isRequired: false, transformFunction: null }, clear: { classPropertyName: "clear", publicName: "clear", isSignal: true, isRequired: false, transformFunction: null }, uppyCoreConfiguration: { classPropertyName: "uppyCoreConfiguration", publicName: "uppyCoreConfiguration", isSignal: true, isRequired: false, transformFunction: null }, dashboardPropsConfiguration: { classPropertyName: "dashboardPropsConfiguration", publicName: "dashboardPropsConfiguration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileUploaded: "fileUploaded", fileUploadComplete: "fileUploadComplete", fileRemoved: "fileRemoved", onParser: "onParser", multipleFilesUploaded: "multipleFilesUploaded" }, ngImport: i0, template: "<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>", styles: ["::ng-deep .uppy-Dashboard-AddFiles-info{display:none!important}::ng-deep .uppy-Dashboard-AddFiles-list{flex:none;flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:600px;margin-top:15px;padding-top:0;overflow-y:visible}.sample,.subtitle{top:56%;width:100%;text-align:center}.top-58{top:61%}\n"], dependencies: [{ kind: "ngmodule", type: UppyAngularDashboardModule }, { kind: "component", type: i1.DashboardComponent, selector: "uppy-dashboard", inputs: ["uppy", "props"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
213
244
  }
@@ -231,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
231
262
  }], multipleFilesUploaded: [{
232
263
  type: Output
233
264
  }] } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBweS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvY29tcG9uZW50cy91cHB5LWZpbGUtdXBsb2FkL3NyYy91cHB5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL3VwcHktZmlsZS11cGxvYWQvc3JjL3VwcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQztBQUs3QyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7Ozs7QUFTN0IsTUFBTSxPQUFPLGFBQWE7YUErQlQsVUFBSyxHQUFHO1FBQ3JCLE9BQU87UUFDUCxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0os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U0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsMEJBQTBCLEVBQUUsWUFBWSxDQUFDO3dEQUsxQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRU4sVUFBVTtzQkFEVCxLQUFLO2dCQVNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBlZmZlY3QsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVydENzdlNlcnZpY2UgfSBmcm9tICdAZGVhbHBvcy1ucG0vbmctZGVhbHBvcy1saWJyYXJ5L3NlcnZpY2VzL2Nzdi1wYXJzZXInO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJ0BkZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvc2VydmljZXMvaHR0cCc7XHJcbmltcG9ydCB7IFVwcHlBbmd1bGFyRGFzaGJvYXJkTW9kdWxlIH0gZnJvbSAnQHVwcHkvYW5ndWxhcic7XHJcbmltcG9ydCBDb21wcmVzc29yIGZyb20gJ0B1cHB5L2NvbXByZXNzb3InO1xyXG5pbXBvcnQgeyBVcHB5IH0gZnJvbSAnQHVwcHkvY29yZSc7XHJcbmltcG9ydCAnQHVwcHkvY29yZS9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgJ0B1cHB5L2Rhc2hib2FyZC9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgJ0B1cHB5L2ltYWdlLWVkaXRvci9kaXN0L3N0eWxlLm1pbi5jc3MnO1xyXG5pbXBvcnQgSW1hZ2VFZGl0b3IgZnJvbSAnQHVwcHkvaW1hZ2UtZWRpdG9yJztcclxuaW1wb3J0IFRyYW5zbG9hZGl0LCB7XHJcbiAgQ09NUEFOSU9OX0FMTE9XRURfSE9TVFMsXHJcbiAgQ09NUEFOSU9OX1VSTCxcclxufSBmcm9tICdAdXBweS90cmFuc2xvYWRpdCc7XHJcbmltcG9ydCBQYXBhIGZyb20gJ3BhcGFwYXJzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ1BPUy11cHB5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtVcHB5QW5ndWxhckRhc2hib2FyZE1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBweS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VwcHkuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXBweUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgc2FtcGxlVXJsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBzaG93U2FtcGxlOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBGb3IgbWFudWFsbHkgcmVzZXR0aW5nIFVwcHkgYWZ0ZXIgYSBzdWNjZXNzZnVsIHVwbG9hZFxyXG4gICAqL1xyXG4gIGNsZWFyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHNob3dTdWJ0aXRsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgdXBweUNvcmVDb25maWd1cmF0aW9uID0gaW5wdXQ8YW55PigpO1xyXG4gIGRhc2hib2FyZFByb3BzQ29uZmlndXJhdGlvbiA9IGlucHV0PGFueT4oKTtcclxuICBAT3V0cHV0KCkgZmlsZVVwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxCbG9iIHwgRmlsZT4oKTtcclxuICBAT3V0cHV0KCkgZmlsZVVwbG9hZENvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxCbG9iIHwgRmlsZT4oKTtcclxuICBAT3V0cHV0KCkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgb25QYXJzZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlwbGVGaWxlc1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIHsgZmlsZTogQmxvYiB8IEZpbGU7IGlkOiBzdHJpbmcgfVtdXHJcbiAgPigpO1xyXG5cclxuICBodHRwID0gaW5qZWN0KEh0dHBTZXJ2aWNlKTtcclxuICBjc3ZQYXJzZXIgPSBpbmplY3QoQ29udmVydENzdlNlcnZpY2UpO1xyXG5cclxuICByb3dTdW1tYXJ5ID0gc2lnbmFsPHsgcm93Q291bnQ6IG51bWJlcjsgcm93RW1wdHk6IG51bWJlciB9Pih7XHJcbiAgICByb3dDb3VudDogMCxcclxuICAgIHJvd0VtcHR5OiAwLFxyXG4gIH0pO1xyXG5cclxuICBmaWxlID0gc2lnbmFsPEZpbGUgfCBudWxsPihudWxsKTtcclxuICBtdWx0aXBsZUZpbGVzID0gc2lnbmFsPHsgZmlsZTogQmxvYiB8IEZpbGU7IGlkOiBzdHJpbmcgfVtdPihbXSk7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHNpemVzID0gW1xyXG4gICAgJ0J5dGVzJyxcclxuICAgICdLQicsXHJcbiAgICAnTUInLFxyXG4gICAgJ0dCJyxcclxuICAgICdUQicsXHJcbiAgICAnUEInLFxyXG4gICAgJ0VCJyxcclxuICAgICdaQicsXHJcbiAgICAnWUInLFxyXG4gIF0gYXMgY29uc3Q7XHJcbiAgcHJpdmF0ZSBzdGF0aWMga2lsb2J5dGUgPSAxMDI0O1xyXG5cclxuICB1cHB5OiBVcHB5ID0gbmV3IFVwcHkoe1xyXG4gICAgZGVidWc6IHRydWUsXHJcbiAgICBhdXRvUHJvY2VlZDogdHJ1ZSxcclxuICAgIGFsbG93TXVsdGlwbGVVcGxvYWRCYXRjaGVzOiBmYWxzZSxcclxuICAgIHJlc3RyaWN0aW9uczoge1xyXG4gICAgICBhbGxvd2VkRmlsZVR5cGVzOiBbJy5jc3YnXSxcclxuICAgICAgbWF4VG90YWxGaWxlU2l6ZTogMTAwMDAwMCxcclxuICAgIH0sXHJcbiAgICBvbkJlZm9yZUZpbGVBZGRlZDogKGN1cnJlbnRGaWxlLCBmaWxlcykgPT4ge1xyXG4gICAgICBjb25zdCBtb2RpZmllZEZpbGUgPSB7XHJcbiAgICAgICAgLi4uY3VycmVudEZpbGUsXHJcbiAgICAgICAgbmFtZTogY3VycmVudEZpbGUubmFtZT8ucmVwbGFjZSgvIC9nLCAnXycpLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gbW9kaWZpZWRGaWxlO1xyXG4gICAgfSxcclxuICB9KVxyXG4gICAgLnVzZShDb21wcmVzc29yLCB7XHJcbiAgICAgIG1pbWVUeXBlOiAnaW1hZ2UvanBlZycsXHJcbiAgICAgIGNvbnZlcnRTaXplOiBJbmZpbml0eSxcclxuICAgICAgY29udmVydFR5cGVzOiBbJ2ltYWdlL3BuZyddLFxyXG4gICAgfSlcclxuICAgIC51c2UoSW1hZ2VFZGl0b3IpO1xyXG5cclxuICBkYXNoYm9hcmRQcm9wcyA9IHtcclxuICAgIGhpZGVVcGxvYWRCdXR0b246IHRydWUsXHJcbiAgICBoZWlnaHQ6IDM1MCxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB0aGlzLnVwcHkuc2V0T3B0aW9ucyh7IC4uLnRoaXMudXBweUNvcmVDb25maWd1cmF0aW9uKCkgfSkpO1xyXG4gICAgZWZmZWN0KFxyXG4gICAgICAoKSA9PlxyXG4gICAgICAgICh0aGlzLmRhc2hib2FyZFByb3BzID0ge1xyXG4gICAgICAgICAgLi4udGhpcy5kYXNoYm9hcmRQcm9wcyxcclxuICAgICAgICAgIC4uLnRoaXMuZGFzaGJvYXJkUHJvcHNDb25maWd1cmF0aW9uKCksXHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy51cHB5Lm9uKCd1cGxvYWQnLCAoXywgdXBweUZpbGVzKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSB1cHB5RmlsZXNbMF0/LmRhdGEgYXMgRmlsZTtcclxuICAgICAgdGhpcy5zaG93U2FtcGxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd1N1YnRpdGxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZGVkLmVtaXQoZmlsZSk7XHJcbiAgICAgIHRoaXMuZmlsZS5zZXQodXBweUZpbGVzWzBdLmRhdGEgYXMgRmlsZSk7XHJcblxyXG4gICAgICBQYXBhLnBhcnNlKGZpbGUsIHtcclxuICAgICAgICBza2lwRW1wdHlMaW5lczogJ2dyZWVkeScsXHJcbiAgICAgICAgaGVhZGVyOiB0cnVlLFxyXG4gICAgICAgIGJlZm9yZUZpcnN0Q2h1bms6IChfY2h1bmspID0+IHtcclxuICAgICAgICAgIGNvbnN0IHdpdGhPdXRIZWFkZXIgPSBfY2h1bmsuc3BsaXQoL1xccj9cXG4vKS5zbGljZSgxKTtcclxuICAgICAgICAgIGlmICh3aXRoT3V0SGVhZGVyW3dpdGhPdXRIZWFkZXIubGVuZ3RoIC0gMV0gPT09ICcnKVxyXG4gICAgICAgICAgICB3aXRoT3V0SGVhZGVyLnBvcCgpO1xyXG4gICAgICAgICAgdGhpcy5yb3dTdW1tYXJ5LnVwZGF0ZSgocmVzKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgIHJvd0NvdW50OiB3aXRoT3V0SGVhZGVyLmxlbmd0aCxcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHdpdGhPdXRIZWFkZXIuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5Um93ID0gcm93LnNwbGl0KCcsJykuZXZlcnkoKHJvdykgPT4gcm93ID09PSAnJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZW1wdHlSb3cpXHJcbiAgICAgICAgICAgICAgdGhpcy5yb3dTdW1tYXJ5LnVwZGF0ZSgocmVzKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgICAgcm93RW1wdHk6IHJlcy5yb3dFbXB0eSArIDEsXHJcbiAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gX2NodW5rOyAvLyBSZXR1cm4gdGhlIG9yaWdpbmFsIGNodW5rIHRvIGNvbnRpbnVlIHBhcnNpbmdcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yKGVycm9yLCBmaWxlKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnRVJST1InLCBlcnJvciwgZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKHJlc3VsdHMsIF9maWxlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9uUGFyc2VyLmVtaXQocmVzdWx0cy5kYXRhKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMudXBweS5vbignY29tcGxldGUnLCAodXBweUZpbGVzKSA9PiB7XHJcbiAgICAgIGNvbnN0IG11bHRpcGxlRmlsZXMgPVxyXG4gICAgICAgIHVwcHlGaWxlcy5zdWNjZXNzZnVsPy5tYXAoKGQpID0+ICh7IGZpbGU6IGQuZGF0YSwgaWQ6IGQuaWQgfSkpID8/IFtdO1xyXG4gICAgICBjb25zdCBmaWxlID0gdXBweUZpbGVzLnN1Y2Nlc3NmdWwhWzBdPy5kYXRhO1xyXG4gICAgICB0aGlzLnNob3dTYW1wbGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93U3VidGl0bGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWxlVXBsb2FkQ29tcGxldGUuZW1pdChmaWxlKTtcclxuICAgICAgdGhpcy5tdWx0aXBsZUZpbGVzVXBsb2FkZWQuZW1pdChtdWx0aXBsZUZpbGVzKTtcclxuICAgICAgdGhpcy5vblJlc2V0VXBweSgpO1xyXG4gICAgICB0aGlzLmZpbGUuc2V0KGZpbGUgYXMgRmlsZSk7XHJcbiAgICAgIHRoaXMubXVsdGlwbGVGaWxlcy5zZXQobXVsdGlwbGVGaWxlcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnVwcHkub24oJ3RyYW5zbG9hZGl0OnVwbG9hZCcsICh4LCB5KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHgsIHkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnVwcHkub24oJ3RyYW5zbG9hZGl0OnJlc3VsdCcsIChzdGVwTmFtZSwgcmVzdWx0KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHN0ZXBOYW1lLCByZXN1bHQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cHB5Lm9uKCdmaWxlLXJlbW92ZWQnLCAoZikgPT4ge1xyXG4gICAgICB0aGlzLnNob3dTYW1wbGUgPSB0cnVlO1xyXG4gICAgICB0aGlzLnNob3dTdWJ0aXRsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuZmlsZS5zZXQobnVsbCk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRGaWxlcyA9IHRoaXMubXVsdGlwbGVGaWxlcygpO1xyXG4gICAgICBjb25zdCB1cGRhdGVkRmlsZXMgPSBjdXJyZW50RmlsZXMuZmlsdGVyKChyKSA9PiByLmlkICE9IGYuaWQpO1xyXG4gICAgICB0aGlzLm11bHRpcGxlRmlsZXMuc2V0KHVwZGF0ZWRGaWxlcyk7XHJcbiAgICAgIHRoaXMuZmlsZVJlbW92ZWQuZW1pdChmLmlkKTtcclxuICAgICAgdGhpcy5yb3dTdW1tYXJ5LnNldCh7IHJvd0NvdW50OiAwLCByb3dFbXB0eTogMCB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub25GaWxlRWRpdGVkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHVwIGV2ZW50IGxpc3RlbmVycyBmb3IgdGhlIFVwcHkgZmlsZSBlZGl0b3IgZXZlbnRzLlxyXG4gICAqXHJcbiAgICogLSBMaXN0ZW5zIGZvciB0aGUgYGZpbGUtZWRpdG9yOmNvbXBsZXRlYCBldmVudCwgdHJpZ2dlcmVkIHdoZW4gdGhlIGZpbGUgZWRpdG9yIGZpbmlzaGVzIGVkaXRpbmcgYSBmaWxlLlxyXG4gICAqICAgQ2FsbHMgdGhlIGBoYW5kbGluZ0VkaXRlZEltYWdlYCBtZXRob2QgdG8gcHJvY2VzcyB0aGUgZWRpdGVkIGZpbGUuXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIG9uRmlsZUVkaXRlZCgpIHtcclxuICAgIGlmICh0aGlzLmNsZWFyKCkgPT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy51cHB5Lm9uKCdmaWxlLWVkaXRvcjpzdGFydCcsIChyZXN1bHQ6IHsgZGF0YTogQmxvYiB9KSA9PiB7XHJcbiAgICAgICAgLy8gZG8gbm90aGluZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudXBweS5vbihcclxuICAgICAgICAnZmlsZS1lZGl0b3I6Y29tcGxldGUnLFxyXG4gICAgICAgIChyZXN1bHQ6IHsgZGF0YTogQmxvYjsgaWQ6IHN0cmluZyB9KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsaW5nRWRpdGVkSW1hZ2UocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLnVwcHkub24oJ2ZpbGUtZWRpdG9yOmNhbmNlbCcsIChyZXN1bHQ6IHsgZGF0YTogQmxvYiB9KSA9PiB7XHJcbiAgICAgICAgLy8gZG8gbm90aGluZ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIGBtdWx0aXBsZUZpbGVzYCBzdGF0ZSBieSByZXBsYWNpbmcgdGhlIGZpbGUgd2l0aCB0aGUgbWF0Y2hpbmcgSURcclxuICAgKiB3aXRoIHRoZSBuZXcgZWRpdGVkIGltYWdlIGRhdGEuIFNldHMgdGhlIGZpcnN0IGZpbGUgaW4gdGhlIHVwZGF0ZWQgbGlzdCBhcyB0aGVcclxuICAgKiBjdXJyZW50IGZpbGUgYW5kIGVtaXRzIHRoZSBmb2xsb3dpbmcgZXZlbnRzOlxyXG4gICAqIC0gYGZpbGVVcGxvYWRDb21wbGV0ZWA6IEVtaXRzIHRoZSB1cGRhdGVkIGZpbGUgYXMgYSBgRmlsZWAgb2JqZWN0LlxyXG4gICAqIC0gYG11bHRpcGxlRmlsZXNVcGxvYWRlZGA6IEVtaXRzIHRoZSB1cGRhdGVkIGxpc3Qgb2YgZmlsZXMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGluZ0VkaXRlZEltYWdlKHJlc3VsdDogeyBkYXRhOiBCbG9iOyBpZDogc3RyaW5nIH0pIHtcclxuICAgIHRoaXMubXVsdGlwbGVGaWxlcy51cGRhdGUoKHJlcykgPT4ge1xyXG4gICAgICByZXR1cm4gcmVzLm1hcCgocikgPT4ge1xyXG4gICAgICAgIGlmIChyLmlkID09PSByZXN1bHQuaWQpIHtcclxuICAgICAgICAgIHJldHVybiB7IC4uLnIsIGZpbGU6IHJlc3VsdC5kYXRhIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5maWxlLnNldCh0aGlzLm11bHRpcGxlRmlsZXMoKVswXS5maWxlIGFzIEZpbGUpO1xyXG5cclxuICAgIHRoaXMuZmlsZVVwbG9hZENvbXBsZXRlLmVtaXQodGhpcy5maWxlKCkgYXMgRmlsZSk7XHJcbiAgICB0aGlzLm11bHRpcGxlRmlsZXNVcGxvYWRlZC5lbWl0KHRoaXMubXVsdGlwbGVGaWxlcygpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25SZXNldFVwcHkoKSB7XHJcbiAgICBpZiAodGhpcy5jbGVhcigpKSB7XHJcbiAgICAgIHRoaXMudXBweS5jbGVhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgYSBnaXZlbiBudW1iZXIgb2YgYnl0ZXMgaW50byBhIGh1bWFuLXJlYWRhYmxlIHN0cmluZy5cclxuICAgKiBAcGFyYW0gYnl0ZXMgVGhlIG51bWJlciBvZiBieXRlcyB0byBjb252ZXJ0LlxyXG4gICAqIEBwYXJhbSBkZWNpbWFsUG9pbnRzIFRoZSBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gZGlzcGxheS4gRGVmYXVsdHMgdG8gMi5cclxuICAgKiBAcmV0dXJucyBBIHN0cmluZyBpbiB0aGUgZm9ybSBvZiBcIlguWFggW3VuaXRdXCIgd2hlcmUgWCBpcyB0aGUgbnVtZXJpY2FsIHZhbHVlIGFuZCB1bml0IGlzIHRoZSBhcHByb3ByaWF0ZSB1bml0IG9mIG1lYXN1cmVtZW50IChCeXRlcywgS0IsIE1CLCBHQiwgZXRjLikuXHJcbiAgICovXHJcbiAgZm9ybWF0RmlsZVNpemUoYnl0ZXM6IG51bWJlciwgZGVjaW1hbFBvaW50cyA9IDIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGJ5dGVzID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBgMCBieXRlc2A7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coVXBweUNvbXBvbmVudC5raWxvYnl0ZSkpO1xyXG4gICAgY29uc3Qgc2l6ZSA9IGJ5dGVzIC8gTWF0aC5wb3coVXBweUNvbXBvbmVudC5raWxvYnl0ZSwgaSk7XHJcbiAgICByZXR1cm4gYCR7c2l6ZS50b0ZpeGVkKGRlY2ltYWxQb2ludHMpfSAke1VwcHlDb21wb25lbnQuc2l6ZXNbaV19YDtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlLnNldChudWxsKTtcclxuICAgIHRoaXMubXVsdGlwbGVGaWxlcy5zZXQoW10pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgIDx1cHB5LWRhc2hib2FyZCBbdXBweV09XCJ1cHB5XCIgW3Byb3BzXT1cImRhc2hib2FyZFByb3BzXCI+IDwvdXBweS1kYXNoYm9hcmQ+XHJcbiAgICA8c21hbGwgKm5nSWY9XCJzdWJ0aXRsZSAmJiBzaG93U3VidGl0bGVcIiBjbGFzcz1cInN1YnRpdGxlIHBvc2l0aW9uLWFic29sdXRlXCI+e3tzdWJ0aXRsZX19PC9zbWFsbD5cclxuICAgIDxhICpuZ0lmPVwic2FtcGxlVXJsICYmIHNob3dTYW1wbGVcIiBjbGFzcz1cInNhbXBsZSBwb3NpdGlvbi1hYnNvbHV0ZVwiIFtjbGFzcy50b3AtNThdPVwic3VidGl0bGVcIiByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICBbaHJlZl09XCJzYW1wbGVVcmxcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWRvd25sb2FkIG1zLTNcIj48L2k+IERvd25sb2FkIFRlbXBsYXRlXHJcbiAgICA8L2E+XHJcblxyXG4gICAgQGlmIChmaWxlKCkgJiYgZmlsZSgpPy50eXBlID09PSAndGV4dC9jc3YnKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtd2FybmluZyBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIiBzdHlsZT1cIm1hcmdpbjogMXJlbSAwIDAgMDtcIiByb2xlPVwiYWxlcnRcIj5cclxuICAgICAgICA8aDQgY2xhc3M9XCJhbGVydC1oZWFkaW5nXCI+Q1NWIEZpbGUgQ29udGVudCBTdW1tYXJ5PC9oND5cclxuICAgICAgICA8aHI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJmcy02IG0tMFwiPnt7cm93U3VtbWFyeSgpLnJvd0NvdW50fX0gcm93cyBmb3VuZCA8bmctY29udGFpbmVyICpuZ0lmPVwicm93U3VtbWFyeSgpLnJvd0VtcHR5ID4gMFwiPi1cclxuICAgICAgICAgICAgICAgIHt7cm93U3VtbWFyeSgpLnJvd0VtcHR5fX0gZW1wdHkgaW4gdGhlIENTViB5b3UgdXBsb2FkZWQ8L25nLWNvbnRhaW5lcj48L3A+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICB9XHJcbjwvZGl2PiJdfQ==
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBweS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvY29tcG9uZW50cy91cHB5LWZpbGUtdXBsb2FkL3NyYy91cHB5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL3VwcHktZmlsZS11cGxvYWQvc3JjL3VwcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsQyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFvQixFQUNsQix1QkFBdUIsRUFDdkIsYUFBYSxHQUNkLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxHQUFHLE1BQU0sV0FBVyxDQUFDO0FBQzVCLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQzs7OztBQVM3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QUMsQ0FBQztRQUNKLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0FsUVUsYUFBYTtrR0FBYixhQUFhLGduQ0NuQzFCLGc5QkFpQk0sNldEY00sMEJBQTBCLHlJQUFFLFlBQVk7OzJGQUl2QyxhQUFhO2tCQVB6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsRUFBRSxZQUFZLENBQUM7d0RBSzFDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFTixVQUFVO3NCQURULEtBQUs7Z0JBU0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIGlucHV0LFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb252ZXJ0Q3N2U2VydmljZSB9IGZyb20gJ0BkZWFscG9zLW5wbS9uZy1kZWFscG9zLWxpYnJhcnkvc2VydmljZXMvY3N2LXBhcnNlcic7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnQGRlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9zZXJ2aWNlcy9odHRwJztcclxuaW1wb3J0IHsgVXBweUFuZ3VsYXJEYXNoYm9hcmRNb2R1bGUgfSBmcm9tICdAdXBweS9hbmd1bGFyJztcclxuaW1wb3J0IENvbXByZXNzb3IgZnJvbSAnQHVwcHkvY29tcHJlc3Nvcic7XHJcbmltcG9ydCB7IFVwcHkgfSBmcm9tICdAdXBweS9jb3JlJztcclxuaW1wb3J0ICdAdXBweS9jb3JlL2Rpc3Qvc3R5bGUubWluLmNzcyc7XHJcbmltcG9ydCAnQHVwcHkvZGFzaGJvYXJkL2Rpc3Qvc3R5bGUubWluLmNzcyc7XHJcbmltcG9ydCAnQHVwcHkvaW1hZ2UtZWRpdG9yL2Rpc3Qvc3R5bGUubWluLmNzcyc7XHJcbmltcG9ydCBJbWFnZUVkaXRvciBmcm9tICdAdXBweS9pbWFnZS1lZGl0b3InO1xyXG5pbXBvcnQgVHJhbnNsb2FkaXQsIHtcclxuICBDT01QQU5JT05fQUxMT1dFRF9IT1NUUyxcclxuICBDT01QQU5JT05fVVJMLFxyXG59IGZyb20gJ0B1cHB5L3RyYW5zbG9hZGl0JztcclxuaW1wb3J0IFVybCBmcm9tICdAdXBweS91cmwnO1xyXG5pbXBvcnQgUGFwYSBmcm9tICdwYXBhcGFyc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdQT1MtdXBweScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVXBweUFuZ3VsYXJEYXNoYm9hcmRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwcHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91cHB5LmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwcHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHNhbXBsZVVybDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1NhbXBsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogRm9yIG1hbnVhbGx5IHJlc2V0dGluZyBVcHB5IGFmdGVyIGEgc3VjY2Vzc2Z1bCB1cGxvYWRcclxuICAgKi9cclxuICBjbGVhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBzaG93U3VidGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHVwcHlDb3JlQ29uZmlndXJhdGlvbiA9IGlucHV0PGFueT4oKTtcclxuICBkYXNoYm9hcmRQcm9wc0NvbmZpZ3VyYXRpb24gPSBpbnB1dDxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QmxvYiB8IEZpbGU+KCk7XHJcbiAgQE91dHB1dCgpIGZpbGVVcGxvYWRDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8QmxvYiB8IEZpbGU+KCk7XHJcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG9uUGFyc2VyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpcGxlRmlsZXNVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICB7IGZpbGU6IEJsb2IgfCBGaWxlOyBpZDogc3RyaW5nIH1bXVxyXG4gID4oKTtcclxuXHJcbiAgaHR0cCA9IGluamVjdChIdHRwU2VydmljZSk7XHJcbiAgY3N2UGFyc2VyID0gaW5qZWN0KENvbnZlcnRDc3ZTZXJ2aWNlKTtcclxuXHJcbiAgcm93U3VtbWFyeSA9IHNpZ25hbDx7IHJvd0NvdW50OiBudW1iZXI7IHJvd0VtcHR5OiBudW1iZXIgfT4oe1xyXG4gICAgcm93Q291bnQ6IDAsXHJcbiAgICByb3dFbXB0eTogMCxcclxuICB9KTtcclxuXHJcbiAgZmlsZSA9IHNpZ25hbDxGaWxlIHwgbnVsbD4obnVsbCk7XHJcbiAgbXVsdGlwbGVGaWxlcyA9IHNpZ25hbDx7IGZpbGU6IEJsb2IgfCBGaWxlOyBpZDogc3RyaW5nIH1bXT4oW10pO1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBzaXplcyA9IFtcclxuICAgICdCeXRlcycsXHJcbiAgICAnS0InLFxyXG4gICAgJ01CJyxcclxuICAgICdHQicsXHJcbiAgICAnVEInLFxyXG4gICAgJ1BCJyxcclxuICAgICdFQicsXHJcbiAgICAnWkInLFxyXG4gICAgJ1lCJyxcclxuICBdIGFzIGNvbnN0O1xyXG4gIHByaXZhdGUgc3RhdGljIGtpbG9ieXRlID0gMTAyNDtcclxuXHJcbiAgdXBweTogVXBweSA9IG5ldyBVcHB5KHtcclxuICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgYXV0b1Byb2NlZWQ6IHRydWUsXHJcbiAgICBhbGxvd011bHRpcGxlVXBsb2FkQmF0Y2hlczogZmFsc2UsXHJcbiAgICByZXN0cmljdGlvbnM6IHtcclxuICAgICAgYWxsb3dlZEZpbGVUeXBlczogWycuY3N2J10sXHJcbiAgICAgIG1heFRvdGFsRmlsZVNpemU6IDEwMDAwMDAsXHJcbiAgICB9LFxyXG4gICAgb25CZWZvcmVGaWxlQWRkZWQ6IChjdXJyZW50RmlsZSwgZmlsZXMpID0+IHtcclxuICAgICAgY29uc3QgbW9kaWZpZWRGaWxlID0ge1xyXG4gICAgICAgIC4uLmN1cnJlbnRGaWxlLFxyXG4gICAgICAgIG5hbWU6IGN1cnJlbnRGaWxlLm5hbWU/LnJlcGxhY2UoLyAvZywgJ18nKSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG1vZGlmaWVkRmlsZTtcclxuICAgIH0sXHJcbiAgfSlcclxuICAgIC51c2UoQ29tcHJlc3Nvciwge1xyXG4gICAgICBtaW1lVHlwZTogJ2ltYWdlL2pwZWcnLFxyXG4gICAgICBjb252ZXJ0U2l6ZTogSW5maW5pdHksXHJcbiAgICAgIGNvbnZlcnRUeXBlczogWydpbWFnZS9wbmcnXSxcclxuICAgIH0pXHJcbiAgICAudXNlKEltYWdlRWRpdG9yKVxyXG4gICAgLnVzZShVcmwsIHtcclxuICAgICAgY29tcGFuaW9uVXJsOiBDT01QQU5JT05fVVJMLFxyXG4gICAgICBjb21wYW5pb25BbGxvd2VkSG9zdHM6IENPTVBBTklPTl9BTExPV0VEX0hPU1RTLFxyXG4gICAgICBjb21wYW5pb25LZXlzUGFyYW1zOiB7XHJcbiAgICAgICAga2V5OiAnbVNHampueUw1WmRQV1VjODFiODJuMlJFbHRmVjBQdzMnLFxyXG4gICAgICAgIGNyZWRlbnRpYWxzTmFtZTogJ2F1dGgta2V5LXVwcHknLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gIGRhc2hib2FyZFByb3BzID0ge1xyXG4gICAgaGlkZVVwbG9hZEJ1dHRvbjogdHJ1ZSxcclxuICAgIGhlaWdodDogMzUwLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgZWZmZWN0KCgpID0+IHRoaXMudXBweS5zZXRPcHRpb25zKHsgLi4udGhpcy51cHB5Q29yZUNvbmZpZ3VyYXRpb24oKSB9KSk7XHJcbiAgICBlZmZlY3QoXHJcbiAgICAgICgpID0+XHJcbiAgICAgICAgKHRoaXMuZGFzaGJvYXJkUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLmRhc2hib2FyZFByb3BzLFxyXG4gICAgICAgICAgLi4udGhpcy5kYXNoYm9hcmRQcm9wc0NvbmZpZ3VyYXRpb24oKSxcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnVwcHkub24oJ3VwbG9hZCcsIChfLCB1cHB5RmlsZXMpID0+IHtcclxuICAgICAgY29uc3QgZmlsZSA9IHVwcHlGaWxlc1swXT8uZGF0YSBhcyBGaWxlO1xyXG4gICAgICB0aGlzLnNob3dTYW1wbGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93U3VidGl0bGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lbWl0RmlsZVVwbG9hZChmaWxlKTtcclxuICAgICAgdGhpcy5maWxlLnNldCh1cHB5RmlsZXNbMF0uZGF0YSBhcyBGaWxlKTtcclxuXHJcbiAgICAgIFBhcGEucGFyc2UoZmlsZSwge1xyXG4gICAgICAgIHNraXBFbXB0eUxpbmVzOiAnZ3JlZWR5JyxcclxuICAgICAgICBoZWFkZXI6IHRydWUsXHJcbiAgICAgICAgYmVmb3JlRmlyc3RDaHVuazogKF9jaHVuaykgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgd2l0aE91dEhlYWRlciA9IF9jaHVuay5zcGxpdCgvXFxyP1xcbi8pLnNsaWNlKDEpO1xyXG4gICAgICAgICAgaWYgKHdpdGhPdXRIZWFkZXJbd2l0aE91dEhlYWRlci5sZW5ndGggLSAxXSA9PT0gJycpXHJcbiAgICAgICAgICAgIHdpdGhPdXRIZWFkZXIucG9wKCk7XHJcbiAgICAgICAgICB0aGlzLnJvd1N1bW1hcnkudXBkYXRlKChyZXMpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgcm93Q291bnQ6IHdpdGhPdXRIZWFkZXIubGVuZ3RoLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgd2l0aE91dEhlYWRlci5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZW1wdHlSb3cgPSByb3cuc3BsaXQoJywnKS5ldmVyeSgocm93KSA9PiByb3cgPT09ICcnKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChlbXB0eVJvdylcclxuICAgICAgICAgICAgICB0aGlzLnJvd1N1bW1hcnkudXBkYXRlKChyZXMpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgICByb3dFbXB0eTogcmVzLnJvd0VtcHR5ICsgMSxcclxuICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBfY2h1bms7IC8vIFJldHVybiB0aGUgb3JpZ2luYWwgY2h1bmsgdG8gY29udGludWUgcGFyc2luZ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IoZXJyb3IsIGZpbGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdFUlJPUicsIGVycm9yLCBmaWxlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAocmVzdWx0cywgX2ZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25QYXJzZXIuZW1pdChyZXN1bHRzLmRhdGEpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cHB5Lm9uKCdjb21wbGV0ZScsICh1cHB5RmlsZXMpID0+IHtcclxuICAgICAgY29uc3QgbXVsdGlwbGVGaWxlcyA9XHJcbiAgICAgICAgdXBweUZpbGVzLnN1Y2Nlc3NmdWw/Lm1hcCgoZCkgPT4gKHsgZmlsZTogZC5kYXRhLCBpZDogZC5pZCB9KSkgPz8gW107XHJcbiAgICAgIGNvbnN0IGZpbGUgPSB1cHB5RmlsZXMuc3VjY2Vzc2Z1bCFbMF0/LmRhdGE7XHJcbiAgICAgIHRoaXMuc2hvd1NhbXBsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dTdWJ0aXRsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtaXRGaWxlVXBsb2FkQ29tcGxldGUoZmlsZSBhcyBGaWxlKTtcclxuICAgICAgdGhpcy5lbWl0TXVsdGlwbGVGaWxlc1VwbG9hZGVkKG11bHRpcGxlRmlsZXMpO1xyXG4gICAgICB0aGlzLm9uUmVzZXRVcHB5KCk7XHJcbiAgICAgIHRoaXMuZmlsZS5zZXQoZmlsZSBhcyBGaWxlKTtcclxuICAgICAgdGhpcy5tdWx0aXBsZUZpbGVzLnNldChtdWx0aXBsZUZpbGVzKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMudXBweS5vbigndHJhbnNsb2FkaXQ6dXBsb2FkJywgKHgsIHkpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coeCwgeSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudXBweS5vbigndHJhbnNsb2FkaXQ6cmVzdWx0JywgKHN0ZXBOYW1lLCByZXN1bHQpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coc3RlcE5hbWUsIHJlc3VsdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnVwcHkub24oJ2ZpbGUtcmVtb3ZlZCcsIChmKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd1NhbXBsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2hvd1N1YnRpdGxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5maWxlLnNldChudWxsKTtcclxuICAgICAgY29uc3QgY3VycmVudEZpbGVzID0gdGhpcy5tdWx0aXBsZUZpbGVzKCk7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZWRGaWxlcyA9IGN1cnJlbnRGaWxlcy5maWx0ZXIoKHIpID0+IHIuaWQgIT0gZi5pZCk7XHJcbiAgICAgIHRoaXMubXVsdGlwbGVGaWxlcy5zZXQodXBkYXRlZEZpbGVzKTtcclxuICAgICAgdGhpcy5maWxlUmVtb3ZlZC5lbWl0KGYuaWQpO1xyXG4gICAgICB0aGlzLnJvd1N1bW1hcnkuc2V0KHsgcm93Q291bnQ6IDAsIHJvd0VtcHR5OiAwIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbkZpbGVFZGl0ZWQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciB0aGUgVXBweSBmaWxlIGVkaXRvciBldmVudHMuXHJcbiAgICpcclxuICAgKiAtIExpc3RlbnMgZm9yIHRoZSBgZmlsZS1lZGl0b3I6Y29tcGxldGVgIGV2ZW50LCB0cmlnZ2VyZWQgd2hlbiB0aGUgZmlsZSBlZGl0b3IgZmluaXNoZXMgZWRpdGluZyBhIGZpbGUuXHJcbiAgICogICBDYWxscyB0aGUgYGhhbmRsaW5nRWRpdGVkSW1hZ2VgIG1ldGhvZCB0byBwcm9jZXNzIHRoZSBlZGl0ZWQgZmlsZS5cclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25GaWxlRWRpdGVkKCkge1xyXG4gICAgaWYgKHRoaXMuY2xlYXIoKSA9PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLnVwcHkub24oJ2ZpbGUtZWRpdG9yOnN0YXJ0JywgKHJlc3VsdDogeyBkYXRhOiBCbG9iIH0pID0+IHtcclxuICAgICAgICAvLyBkbyBub3RoaW5nXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy51cHB5Lm9uKFxyXG4gICAgICAgICdmaWxlLWVkaXRvcjpjb21wbGV0ZScsXHJcbiAgICAgICAgKHJlc3VsdDogeyBkYXRhOiBCbG9iOyBpZDogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxpbmdFZGl0ZWRJbWFnZShyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMudXBweS5vbignZmlsZS1lZGl0b3I6Y2FuY2VsJywgKHJlc3VsdDogeyBkYXRhOiBCbG9iIH0pID0+IHtcclxuICAgICAgICAvLyBkbyBub3RoaW5nXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgYG11bHRpcGxlRmlsZXNgIHN0YXRlIGJ5IHJlcGxhY2luZyB0aGUgZmlsZSB3aXRoIHRoZSBtYXRjaGluZyBJRFxyXG4gICAqIHdpdGggdGhlIG5ldyBlZGl0ZWQgaW1hZ2UgZGF0YS4gU2V0cyB0aGUgZmlyc3QgZmlsZSBpbiB0aGUgdXBkYXRlZCBsaXN0IGFzIHRoZVxyXG4gICAqIGN1cnJlbnQgZmlsZSBhbmQgZW1pdHMgdGhlIGZvbGxvd2luZyBldmVudHM6XHJcbiAgICogLSBgZmlsZVVwbG9hZENvbXBsZXRlYDogRW1pdHMgdGhlIHVwZGF0ZWQgZmlsZSBhcyBhIGBGaWxlYCBvYmplY3QuXHJcbiAgICogLSBgbXVsdGlwbGVGaWxlc1VwbG9hZGVkYDogRW1pdHMgdGhlIHVwZGF0ZWQgbGlzdCBvZiBmaWxlcy5cclxuICAgKi9cclxuICBwcml2YXRlIGhhbmRsaW5nRWRpdGVkSW1hZ2UocmVzdWx0OiB7IGRhdGE6IEJsb2I7IGlkOiBzdHJpbmcgfSkge1xyXG4gICAgdGhpcy5tdWx0aXBsZUZpbGVzLnVwZGF0ZSgocmVzKSA9PiB7XHJcbiAgICAgIHJldHVybiByZXMubWFwKChyKSA9PiB7XHJcbiAgICAgICAgaWYgKHIuaWQgPT09IHJlc3VsdC5pZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uciwgZmlsZTogcmVzdWx0LmRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZpbGUuc2V0KHRoaXMubXVsdGlwbGVGaWxlcygpWzBdLmZpbGUgYXMgRmlsZSk7XHJcblxyXG4gICAgdGhpcy5lbWl0RmlsZVVwbG9hZENvbXBsZXRlKHRoaXMuZmlsZSgpIGFzIEZpbGUpO1xyXG4gICAgdGhpcy5lbWl0TXVsdGlwbGVGaWxlc1VwbG9hZGVkKHRoaXMubXVsdGlwbGVGaWxlcygpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25SZXNldFVwcHkoKSB7XHJcbiAgICBpZiAodGhpcy5jbGVhcigpKSB7XHJcbiAgICAgIHRoaXMudXBweS5jbGVhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgYSBnaXZlbiBudW1iZXIgb2YgYnl0ZXMgaW50byBhIGh1bWFuLXJlYWRhYmxlIHN0cmluZy5cclxuICAgKiBAcGFyYW0gYnl0ZXMgVGhlIG51bWJlciBvZiBieXRlcyB0byBjb252ZXJ0LlxyXG4gICAqIEBwYXJhbSBkZWNpbWFsUG9pbnRzIFRoZSBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gZGlzcGxheS4gRGVmYXVsdHMgdG8gMi5cclxuICAgKiBAcmV0dXJucyBBIHN0cmluZyBpbiB0aGUgZm9ybSBvZiBcIlguWFggW3VuaXRdXCIgd2hlcmUgWCBpcyB0aGUgbnVtZXJpY2FsIHZhbHVlIGFuZCB1bml0IGlzIHRoZSBhcHByb3ByaWF0ZSB1bml0IG9mIG1lYXN1cmVtZW50IChCeXRlcywgS0IsIE1CLCBHQiwgZXRjLikuXHJcbiAgICovXHJcbiAgZm9ybWF0RmlsZVNpemUoYnl0ZXM6IG51bWJlciwgZGVjaW1hbFBvaW50cyA9IDIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGJ5dGVzID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBgMCBieXRlc2A7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coVXBweUNvbXBvbmVudC5raWxvYnl0ZSkpO1xyXG4gICAgY29uc3Qgc2l6ZSA9IGJ5dGVzIC8gTWF0aC5wb3coVXBweUNvbXBvbmVudC5raWxvYnl0ZSwgaSk7XHJcbiAgICByZXR1cm4gYCR7c2l6ZS50b0ZpeGVkKGRlY2ltYWxQb2ludHMpfSAke1VwcHlDb21wb25lbnQuc2l6ZXNbaV19YDtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlLnNldChudWxsKTtcclxuICAgIHRoaXMubXVsdGlwbGVGaWxlcy5zZXQoW10pO1xyXG4gIH1cclxuXHJcbiAgZW1pdEZpbGVVcGxvYWQoZjogRmlsZSkge1xyXG4gICAgY29uc3QgcmVuYW1lZEZpbGUgPSBuZXcgRmlsZShbZl0sIGYubmFtZS5yZXBsYWNlKC8gL2csICdfJyksIHtcclxuICAgICAgdHlwZTogZi50eXBlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRlZC5lbWl0KHJlbmFtZWRGaWxlKTtcclxuICB9XHJcblxyXG4gIGVtaXRGaWxlVXBsb2FkQ29tcGxldGUoZjogRmlsZSkge1xyXG4gICAgY29uc3QgcmVuYW1lZEZpbGUgPSBuZXcgRmlsZShbZl0sIGYubmFtZS5yZXBsYWNlKC8gL2csICdfJyksIHtcclxuICAgICAgdHlwZTogZi50eXBlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRDb21wbGV0ZS5lbWl0KHJlbmFtZWRGaWxlKTtcclxuICB9XHJcbiAgZW1pdE11bHRpcGxlRmlsZXNVcGxvYWRlZChkYXRhOiB7IGZpbGU6IEJsb2IgfCBGaWxlOyBpZDogc3RyaW5nIH1bXSkge1xyXG4gICAgY29uc3QgcmVuYW1lZERhdGEgPSBkYXRhLm1hcCgoZCkgPT4gKHtcclxuICAgICAgZmlsZTogbmV3IEZpbGUoW2QuZmlsZV0sIChkLmZpbGUgYXMgRmlsZSkubmFtZS5yZXBsYWNlKC8gL2csICdfJyksIHtcclxuICAgICAgICB0eXBlOiBkLmZpbGUudHlwZSxcclxuICAgICAgfSksXHJcbiAgICAgIGlkOiBkLmlkLFxyXG4gICAgfSkpO1xyXG4gICAgdGhpcy5tdWx0aXBsZUZpbGVzVXBsb2FkZWQuZW1pdChyZW5hbWVkRGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgPHVwcHktZGFzaGJvYXJkIFt1cHB5XT1cInVwcHlcIiBbcHJvcHNdPVwiZGFzaGJvYXJkUHJvcHNcIj4gPC91cHB5LWRhc2hib2FyZD5cclxuICAgIDxzbWFsbCAqbmdJZj1cInN1YnRpdGxlICYmIHNob3dTdWJ0aXRsZVwiIGNsYXNzPVwic3VidGl0bGUgcG9zaXRpb24tYWJzb2x1dGVcIj57e3N1YnRpdGxlfX08L3NtYWxsPlxyXG4gICAgPGEgKm5nSWY9XCJzYW1wbGVVcmwgJiYgc2hvd1NhbXBsZVwiIGNsYXNzPVwic2FtcGxlIHBvc2l0aW9uLWFic29sdXRlXCIgW2NsYXNzLnRvcC01OF09XCJzdWJ0aXRsZVwiIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgIFtocmVmXT1cInNhbXBsZVVybFwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZG93bmxvYWQgbXMtM1wiPjwvaT4gRG93bmxvYWQgVGVtcGxhdGVcclxuICAgIDwvYT5cclxuXHJcbiAgICBAaWYgKGZpbGUoKSAmJiBmaWxlKCk/LnR5cGUgPT09ICd0ZXh0L2NzdicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMlwiIHN0eWxlPVwibWFyZ2luOiAxcmVtIDAgMCAwO1wiIHJvbGU9XCJhbGVydFwiPlxyXG4gICAgICAgIDxoNCBjbGFzcz1cImFsZXJ0LWhlYWRpbmdcIj5DU1YgRmlsZSBDb250ZW50IFN1bW1hcnk8L2g0PlxyXG4gICAgICAgIDxocj5cclxuICAgICAgICA8cCBjbGFzcz1cImZzLTYgbS0wXCI+e3tyb3dTdW1tYXJ5KCkucm93Q291bnR9fSByb3dzIGZvdW5kIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dTdW1tYXJ5KCkucm93RW1wdHkgPiAwXCI+LVxyXG4gICAgICAgICAgICAgICAge3tyb3dTdW1tYXJ5KCkucm93RW1wdHl9fSBlbXB0eSBpbiB0aGUgQ1NWIHlvdSB1cGxvYWRlZDwvbmctY29udGFpbmVyPjwvcD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIH1cclxuPC9kaXY+Il19
@@ -1,4 +1,4 @@
1
- import { HeaderType as HeaderType$1 } from '@dealpos-npm/ng-dealpos-library/header-type';
1
+ import { HeaderType } from '@dealpos-npm/ng-dealpos-library/header-type';
2
2
  import * as i0 from '@angular/core';
3
3
  import { EventEmitter, Component, Input, Output } from '@angular/core';
4
4
  import * as i1 from '@angular/common';
@@ -43,7 +43,7 @@ class ModalMaterialConfig {
43
43
  /**
44
44
  * header type to change the color of the dialog. ex: Success for Green color, Danger for Red color
45
45
  */
46
- this.headerType = HeaderType$1.Success;
46
+ this.headerType = HeaderType.Success;
47
47
  /**
48
48
  * conditions for disable OK button
49
49
  */
@@ -78,7 +78,7 @@ class ModalMaterialComponent {
78
78
  this.onCancel = new EventEmitter();
79
79
  this.onClose = new EventEmitter();
80
80
  this.onBack = new EventEmitter();
81
- this.headerType = HeaderType$1;
81
+ this.headerType = HeaderType;
82
82
  }
83
83
  ngOnInit() {
84
84
  if (this.config == null) {
@@ -115,17 +115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
115
115
  type: Output
116
116
  }] } });
117
117
 
118
- var HeaderType;
119
- (function (HeaderType) {
120
- HeaderType["Success"] = "Success";
121
- HeaderType["Info"] = "Info";
122
- HeaderType["Warning"] = "Warning";
123
- HeaderType["Error"] = "Error";
124
- })(HeaderType || (HeaderType = {}));
125
-
126
118
  /**
127
119
  * Generated bundle index. Do not edit.
128
120
  */
129
121
 
130
- export { HeaderType, ModalMaterialComponent, ModalMaterialConfig };
122
+ export { ModalMaterialComponent, ModalMaterialConfig };
131
123
  //# sourceMappingURL=dealpos-npm-ng-dealpos-library-components-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dealpos-npm-ng-dealpos-library-components-dialog.mjs","sources":["../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog-config/modal-material-config.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog/modal-material.component.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog/modal-material.component.html","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog-config/header-type.enum.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/dealpos-npm-ng-dealpos-library-components-dialog.ts"],"sourcesContent":["import { HeaderType } from \"@dealpos-npm/ng-dealpos-library/header-type\";\r\n\r\n/**../../../../enum/header-type/HeaderType\r\n * Control the modal UI and UX\r\n */\r\nexport class ModalMaterialConfig {\r\n /**\r\n * Text inside of mat-dialog-title in h4 tag\r\n */\r\n title = \"New Modal\";\r\n /**\r\n * the name of the OK button to be displayed\r\n */\r\n okText= \"Ok (F2)\";\r\n /**\r\n * the name of the CANCEL button to be displayed\r\n */\r\n cancelText = \"Cancel\";\r\n /**\r\n * the condition of whether the footer is displayed\r\n */\r\n hideFooter = false;\r\n /**\r\n * the condition of whether the CANCEL Button is displayed\r\n */\r\n hideCancel = false;\r\n /**\r\n * the condition of whether the OK Button is displayed\r\n */\r\n hideOk = false;\r\n /**\r\n * the condition of whether the CLOSE Button is displayed\r\n */\r\n hideClose = false;\r\n eMoney = false;\r\n /**\r\n * header type to change the color of the dialog. ex: Success for Green color, Danger for Red color\r\n */\r\n headerType = HeaderType.Success;\r\n /**\r\n * conditions for disable OK button\r\n */\r\n validated = true;\r\n /**\r\n * Customization width for the dialog\r\n */\r\n customWidth = 'initial';\r\n /**\r\n * condition whether the dialog body can be scrolled\r\n */\r\n bodyScrollable = false;\r\n /**\r\n * condition whether the scrollbar body is hide\r\n */\r\n hideScrollbar = false;\r\n /**\r\n * \r\n */\r\n disableKeyup? = false;\r\n /**\r\n * condition to remove the padding in the body of the dialog\r\n */\r\n noPadding = false;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ModalMaterialConfig } from \"../custom-dialog-config/modal-material-config\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { HeaderType } from \"@dealpos-npm/ng-dealpos-library/header-type\";\r\n\r\n@Component({\r\n selector: \"modal-material\",\r\n templateUrl: \"./modal-material.component.html\",\r\n styleUrls: [\"./modal-material.component.scss\"],\r\n standalone: true,\r\n imports: [CommonModule, MatDialogModule]\r\n})\r\nexport class ModalMaterialComponent implements OnInit {\r\n @Input() config?: ModalMaterialConfig;\r\n @Input() dynamicValidated: boolean = true;\r\n\r\n @Output() onOk = new EventEmitter<any>();\r\n @Output() onCancel = new EventEmitter<any>();\r\n @Output() onClose = new EventEmitter<any>();\r\n @Output() onBack = new EventEmitter<any>();\r\n public headerType = HeaderType;\r\n\r\n ngOnInit(): void {\r\n if (this.config == null) {\r\n this.config = new ModalMaterialConfig();\r\n }\r\n }\r\n\r\n onKeyup(event: KeyboardEvent): void {\r\n if (!this.config?.disableKeyup) {\r\n if (event.code == \"F2\") {\r\n this.onOk.emit(\"F2\");\r\n }\r\n if (event.code == \"Enter\" || event.code == \"NumpadEnter\") {\r\n this.onOk.emit(\"Enter\");\r\n }\r\n }\r\n }\r\n}","<div (keyup)=\"onKeyup($event)\" class=\"modal-material d-flex align-items-start flex-column position-relative maxHeight\" id=\"modal_material\"\r\n [style.width]=\"config?.customWidth\" [ngClass]=\"{\r\n bodyScrollable: config?.bodyScrollable,\r\n hideScrollbar: config?.hideScrollbar\r\n }\">\r\n <div mat-dialog-title class=\"d-flex w-100 justify-content-between modal-header position-relative\" [ngClass]=\"{\r\n 'bg-success': headerType.Success == config?.headerType,\r\n 'bg-warning': headerType.Warning == config?.headerType,\r\n 'bg-info': headerType.Info == config?.headerType,\r\n 'bg-danger': headerType.Error == config?.headerType\r\n }\">\r\n <div class=\"back-button position-absolute pointer d-print-none\" (click)=\"onBack.emit()\" *ngIf=\"config?.eMoney\">\r\n <a class=\"btn back-button\"><i class=\"fa-solid fa-arrow-left\"></i></a>\r\n </div>\r\n <div class=\"d-flex flex-row d-print-none align-items-center\" [ngClass]=\"{ 'mx-auto': config?.eMoney }\">\r\n <h4 class=\"fw-normal\">{{ config?.title }}</h4>\r\n <ng-content select=\"header\"></ng-content>\r\n </div>\r\n <div *ngIf=\"!config?.hideClose\">\r\n <a class=\"btn-light-blue btn-sm pointer close\" (click)=\"onClose.emit()\">\r\n <i class=\"fa-solid fa-xmark fa-lg text-primary\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <mat-dialog-content class=\"modal-body w-100\" [ngClass]=\"{\r\n 'show-footer': !config?.hideFooter,\r\n 'p-0': config?.noPadding\r\n }\">\r\n <ng-content select=\"content\"></ng-content>\r\n\r\n </mat-dialog-content>\r\n <mat-dialog-actions *ngIf=\"!config?.hideFooter\" class=\"w-100 py-7 border-top d-flex justify-content-end d-print-none\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <a *ngIf=\"!config?.hideCancel\" class=\"btn btn-light-blue text-primary btn-lg fw-bold mx-3\" (click)=\"onCancel.emit()\">\r\n {{ config?.cancelText ? config?.cancelText : \"Cancel\" }}</a>\r\n <button *ngIf=\"!config?.hideOk\" class=\"btn btn-light-blue me-6 text-primary btn-lg fw-bold mx-3\"\r\n [disabled]=\"!config?.validated || !dynamicValidated\" (click)=\"onOk.emit()\" (keyup.F2)=\"onOk.emit()\"\r\n data-cy=\"btn-ok\" [innerHTML]=\"config?.okText ? config?.okText : 'Ok (F2)'\">\r\n </button>\r\n </mat-dialog-actions>\r\n</div>","export enum HeaderType {\r\n Success = \"Success\",\r\n Info = \"Info\",\r\n Warning = \"Warning\",\r\n Error = \"Error\",\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["HeaderType"],"mappings":"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"}
1
+ {"version":3,"file":"dealpos-npm-ng-dealpos-library-components-dialog.mjs","sources":["../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog-config/modal-material-config.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog/modal-material.component.ts","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/src/custom-dialog/modal-material.component.html","../../../projects/dealpos-npm/ng-dealpos-library/components/dialog/dealpos-npm-ng-dealpos-library-components-dialog.ts"],"sourcesContent":["import { HeaderType } from \"@dealpos-npm/ng-dealpos-library/header-type\";\r\n\r\n/**../../../../enum/header-type/HeaderType\r\n * Control the modal UI and UX\r\n */\r\nexport class ModalMaterialConfig {\r\n /**\r\n * Text inside of mat-dialog-title in h4 tag\r\n */\r\n title = \"New Modal\";\r\n /**\r\n * the name of the OK button to be displayed\r\n */\r\n okText= \"Ok (F2)\";\r\n /**\r\n * the name of the CANCEL button to be displayed\r\n */\r\n cancelText = \"Cancel\";\r\n /**\r\n * the condition of whether the footer is displayed\r\n */\r\n hideFooter = false;\r\n /**\r\n * the condition of whether the CANCEL Button is displayed\r\n */\r\n hideCancel = false;\r\n /**\r\n * the condition of whether the OK Button is displayed\r\n */\r\n hideOk = false;\r\n /**\r\n * the condition of whether the CLOSE Button is displayed\r\n */\r\n hideClose = false;\r\n eMoney = false;\r\n /**\r\n * header type to change the color of the dialog. ex: Success for Green color, Danger for Red color\r\n */\r\n headerType = HeaderType.Success;\r\n /**\r\n * conditions for disable OK button\r\n */\r\n validated = true;\r\n /**\r\n * Customization width for the dialog\r\n */\r\n customWidth = 'initial';\r\n /**\r\n * condition whether the dialog body can be scrolled\r\n */\r\n bodyScrollable = false;\r\n /**\r\n * condition whether the scrollbar body is hide\r\n */\r\n hideScrollbar = false;\r\n /**\r\n * \r\n */\r\n disableKeyup? = false;\r\n /**\r\n * condition to remove the padding in the body of the dialog\r\n */\r\n noPadding = false;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ModalMaterialConfig } from \"../custom-dialog-config/modal-material-config\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { HeaderType } from \"@dealpos-npm/ng-dealpos-library/header-type\";\r\n\r\n@Component({\r\n selector: \"modal-material\",\r\n templateUrl: \"./modal-material.component.html\",\r\n styleUrls: [\"./modal-material.component.scss\"],\r\n standalone: true,\r\n imports: [CommonModule, MatDialogModule]\r\n})\r\nexport class ModalMaterialComponent implements OnInit {\r\n @Input() config?: ModalMaterialConfig;\r\n @Input() dynamicValidated: boolean = true;\r\n\r\n @Output() onOk = new EventEmitter<any>();\r\n @Output() onCancel = new EventEmitter<any>();\r\n @Output() onClose = new EventEmitter<any>();\r\n @Output() onBack = new EventEmitter<any>();\r\n public headerType = HeaderType;\r\n\r\n ngOnInit(): void {\r\n if (this.config == null) {\r\n this.config = new ModalMaterialConfig();\r\n }\r\n }\r\n\r\n onKeyup(event: KeyboardEvent): void {\r\n if (!this.config?.disableKeyup) {\r\n if (event.code == \"F2\") {\r\n this.onOk.emit(\"F2\");\r\n }\r\n if (event.code == \"Enter\" || event.code == \"NumpadEnter\") {\r\n this.onOk.emit(\"Enter\");\r\n }\r\n }\r\n }\r\n}","<div (keyup)=\"onKeyup($event)\" class=\"modal-material d-flex align-items-start flex-column position-relative maxHeight\" id=\"modal_material\"\r\n [style.width]=\"config?.customWidth\" [ngClass]=\"{\r\n bodyScrollable: config?.bodyScrollable,\r\n hideScrollbar: config?.hideScrollbar\r\n }\">\r\n <div mat-dialog-title class=\"d-flex w-100 justify-content-between modal-header position-relative\" [ngClass]=\"{\r\n 'bg-success': headerType.Success == config?.headerType,\r\n 'bg-warning': headerType.Warning == config?.headerType,\r\n 'bg-info': headerType.Info == config?.headerType,\r\n 'bg-danger': headerType.Error == config?.headerType\r\n }\">\r\n <div class=\"back-button position-absolute pointer d-print-none\" (click)=\"onBack.emit()\" *ngIf=\"config?.eMoney\">\r\n <a class=\"btn back-button\"><i class=\"fa-solid fa-arrow-left\"></i></a>\r\n </div>\r\n <div class=\"d-flex flex-row d-print-none align-items-center\" [ngClass]=\"{ 'mx-auto': config?.eMoney }\">\r\n <h4 class=\"fw-normal\">{{ config?.title }}</h4>\r\n <ng-content select=\"header\"></ng-content>\r\n </div>\r\n <div *ngIf=\"!config?.hideClose\">\r\n <a class=\"btn-light-blue btn-sm pointer close\" (click)=\"onClose.emit()\">\r\n <i class=\"fa-solid fa-xmark fa-lg text-primary\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <mat-dialog-content class=\"modal-body w-100\" [ngClass]=\"{\r\n 'show-footer': !config?.hideFooter,\r\n 'p-0': config?.noPadding\r\n }\">\r\n <ng-content select=\"content\"></ng-content>\r\n\r\n </mat-dialog-content>\r\n <mat-dialog-actions *ngIf=\"!config?.hideFooter\" class=\"w-100 py-7 border-top d-flex justify-content-end d-print-none\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <a *ngIf=\"!config?.hideCancel\" class=\"btn btn-light-blue text-primary btn-lg fw-bold mx-3\" (click)=\"onCancel.emit()\">\r\n {{ config?.cancelText ? config?.cancelText : \"Cancel\" }}</a>\r\n <button *ngIf=\"!config?.hideOk\" class=\"btn btn-light-blue me-6 text-primary btn-lg fw-bold mx-3\"\r\n [disabled]=\"!config?.validated || !dynamicValidated\" (click)=\"onOk.emit()\" (keyup.F2)=\"onOk.emit()\"\r\n data-cy=\"btn-ok\" [innerHTML]=\"config?.okText ? config?.okText : 'Ok (F2)'\">\r\n </button>\r\n </mat-dialog-actions>\r\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAEA;;AAEG;MACU,mBAAmB,CAAA;AAAhC,IAAA,WAAA,GAAA;AACI;;AAEG;QACH,IAAK,CAAA,KAAA,GAAG,WAAW,CAAC;AACpB;;AAEG;QACH,IAAM,CAAA,MAAA,GAAE,SAAS,CAAC;AAClB;;AAEG;QACH,IAAU,CAAA,UAAA,GAAG,QAAQ,CAAC;AACtB;;AAEG;QACH,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB;;AAEG;QACH,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB;;AAEG;QACH,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf;;AAEG;QACH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf;;AAEG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAChC;;AAEG;QACH,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AACjB;;AAEG;QACH,IAAW,CAAA,WAAA,GAAG,SAAS,CAAC;AACxB;;AAEG;QACH,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AACvB;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AACtB;;AAEG;QACH,IAAY,CAAA,YAAA,GAAI,KAAK,CAAC;AACtB;;AAEG;QACH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KACrB;AAAA;;MC5CY,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QASW,IAAgB,CAAA,gBAAA,GAAY,IAAI,CAAC;AAEhC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAO,CAAC;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;QACpC,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AAkBhC,KAAA;IAhBC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;SACzC;KACF;AAED,IAAA,OAAO,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE;AAC9B,YAAA,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;AACD,YAAA,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE;AACxD,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACzB;SACF;KACF;8GAzBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,ECnBnC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,i0EAwCM,EDvBM,MAAA,EAAA,CAAA,2xDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,gOAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE5B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAGd,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,i0EAAA,EAAA,MAAA,EAAA,CAAA,2xDAAA,CAAA,EAAA,CAAA;8BAG/B,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEI,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;AE1BT;;AAEG;;;;"}
@@ -12,6 +12,8 @@ import '@uppy/core/dist/style.min.css';
12
12
  import '@uppy/dashboard/dist/style.min.css';
13
13
  import '@uppy/image-editor/dist/style.min.css';
14
14
  import ImageEditor from '@uppy/image-editor';
15
+ import { COMPANION_URL, COMPANION_ALLOWED_HOSTS } from '@uppy/transloadit';
16
+ import Url from '@uppy/url';
15
17
  import Papa from 'papaparse';
16
18
 
17
19
  class UppyComponent {
@@ -72,7 +74,15 @@ class UppyComponent {
72
74
  convertSize: Infinity,
73
75
  convertTypes: ['image/png'],
74
76
  })
75
- .use(ImageEditor);
77
+ .use(ImageEditor)
78
+ .use(Url, {
79
+ companionUrl: COMPANION_URL,
80
+ companionAllowedHosts: COMPANION_ALLOWED_HOSTS,
81
+ companionKeysParams: {
82
+ key: 'mSGjjnyL5ZdPWUc81b82n2REltfV0Pw3',
83
+ credentialsName: 'auth-key-uppy',
84
+ },
85
+ });
76
86
  this.dashboardProps = {
77
87
  hideUploadButton: true,
78
88
  height: 350,
@@ -86,7 +96,7 @@ class UppyComponent {
86
96
  const file = uppyFiles[0]?.data;
87
97
  this.showSample = false;
88
98
  this.showSubtitle = false;
89
- this.fileUploaded.emit(file);
99
+ this.emitFileUpload(file);
90
100
  this.file.set(uppyFiles[0].data);
91
101
  Papa.parse(file, {
92
102
  skipEmptyLines: 'greedy',
@@ -122,8 +132,8 @@ class UppyComponent {
122
132
  const file = uppyFiles.successful[0]?.data;
123
133
  this.showSample = false;
124
134
  this.showSubtitle = false;
125
- this.fileUploadComplete.emit(file);
126
- this.multipleFilesUploaded.emit(multipleFiles);
135
+ this.emitFileUploadComplete(file);
136
+ this.emitMultipleFilesUploaded(multipleFiles);
127
137
  this.onResetUppy();
128
138
  this.file.set(file);
129
139
  this.multipleFiles.set(multipleFiles);
@@ -183,8 +193,8 @@ class UppyComponent {
183
193
  });
184
194
  });
185
195
  this.file.set(this.multipleFiles()[0].file);
186
- this.fileUploadComplete.emit(this.file());
187
- this.multipleFilesUploaded.emit(this.multipleFiles());
196
+ this.emitFileUploadComplete(this.file());
197
+ this.emitMultipleFilesUploaded(this.multipleFiles());
188
198
  }
189
199
  onResetUppy() {
190
200
  if (this.clear()) {
@@ -209,6 +219,27 @@ class UppyComponent {
209
219
  this.file.set(null);
210
220
  this.multipleFiles.set([]);
211
221
  }
222
+ emitFileUpload(f) {
223
+ const renamedFile = new File([f], f.name.replace(/ /g, '_'), {
224
+ type: f.type,
225
+ });
226
+ this.fileUploaded.emit(renamedFile);
227
+ }
228
+ emitFileUploadComplete(f) {
229
+ const renamedFile = new File([f], f.name.replace(/ /g, '_'), {
230
+ type: f.type,
231
+ });
232
+ this.fileUploadComplete.emit(renamedFile);
233
+ }
234
+ emitMultipleFilesUploaded(data) {
235
+ const renamedData = data.map((d) => ({
236
+ file: new File([d.file], d.file.name.replace(/ /g, '_'), {
237
+ type: d.file.type,
238
+ }),
239
+ id: d.id,
240
+ }));
241
+ this.multipleFilesUploaded.emit(renamedData);
242
+ }
212
243
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: UppyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
213
244
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: UppyComponent, isStandalone: true, selector: "POS-uppy", inputs: { sampleUrl: { classPropertyName: "sampleUrl", publicName: "sampleUrl", isSignal: false, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: false, isRequired: false, transformFunction: null }, showSample: { classPropertyName: "showSample", publicName: "showSample", isSignal: false, isRequired: false, transformFunction: null }, clear: { classPropertyName: "clear", publicName: "clear", isSignal: true, isRequired: false, transformFunction: null }, uppyCoreConfiguration: { classPropertyName: "uppyCoreConfiguration", publicName: "uppyCoreConfiguration", isSignal: true, isRequired: false, transformFunction: null }, dashboardPropsConfiguration: { classPropertyName: "dashboardPropsConfiguration", publicName: "dashboardPropsConfiguration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileUploaded: "fileUploaded", fileUploadComplete: "fileUploadComplete", fileRemoved: "fileRemoved", onParser: "onParser", multipleFilesUploaded: "multipleFilesUploaded" }, ngImport: i0, template: "<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>", styles: ["::ng-deep .uppy-Dashboard-AddFiles-info{display:none!important}::ng-deep .uppy-Dashboard-AddFiles-list{flex:none;flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:600px;margin-top:15px;padding-top:0;overflow-y:visible}.sample,.subtitle{top:56%;width:100%;text-align:center}.top-58{top:61%}\n"], dependencies: [{ kind: "ngmodule", type: UppyAngularDashboardModule }, { kind: "component", type: i1.DashboardComponent, selector: "uppy-dashboard", inputs: ["uppy", "props"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
214
245
  }
@@ -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 {\r\n Component,\r\n effect,\r\n EventEmitter,\r\n inject,\r\n input,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n signal,\r\n} 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 '@uppy/image-editor/dist/style.min.css';\r\nimport ImageEditor from '@uppy/image-editor';\r\nimport Transloadit, {\r\n COMPANION_ALLOWED_HOSTS,\r\n COMPANION_URL,\r\n} from '@uppy/transloadit';\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 implements OnDestroy {\r\n @Input() sampleUrl: string = '';\r\n @Input() subtitle: string = '';\r\n @Input()\r\n showSample: boolean = true;\r\n /**\r\n * For manually resetting Uppy after a successful upload\r\n */\r\n clear = input<boolean>(false);\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<\r\n { file: Blob | File; id: string }[]\r\n >();\r\n\r\n http = inject(HttpService);\r\n csvParser = inject(ConvertCsvService);\r\n\r\n rowSummary = signal<{ rowCount: number; rowEmpty: number }>({\r\n rowCount: 0,\r\n rowEmpty: 0,\r\n });\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 = [\r\n 'Bytes',\r\n 'KB',\r\n 'MB',\r\n 'GB',\r\n 'TB',\r\n 'PB',\r\n 'EB',\r\n 'ZB',\r\n 'YB',\r\n ] 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 onBeforeFileAdded: (currentFile, files) => {\r\n const modifiedFile = {\r\n ...currentFile,\r\n name: currentFile.name?.replace(/ /g, '_'),\r\n };\r\n return modifiedFile;\r\n },\r\n })\r\n .use(Compressor, {\r\n mimeType: 'image/jpeg',\r\n convertSize: Infinity,\r\n convertTypes: ['image/png'],\r\n })\r\n .use(ImageEditor);\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(\r\n () =>\r\n (this.dashboardProps = {\r\n ...this.dashboardProps,\r\n ...this.dashboardPropsConfiguration(),\r\n })\r\n );\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 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 const withOutHeader = _chunk.split(/\\r?\\n/).slice(1);\r\n if (withOutHeader[withOutHeader.length - 1] === '')\r\n withOutHeader.pop();\r\n this.rowSummary.update((res) => ({\r\n ...res,\r\n rowCount: withOutHeader.length,\r\n }));\r\n withOutHeader.forEach((row) => {\r\n const emptyRow = row.split(',').every((row) => row === '');\r\n\r\n if (emptyRow)\r\n this.rowSummary.update((res) => ({\r\n ...res,\r\n rowEmpty: res.rowEmpty + 1,\r\n }));\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 =\r\n 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 this.fileUploadComplete.emit(file);\r\n this.multipleFilesUploaded.emit(multipleFiles);\r\n this.onResetUppy();\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 this.onFileEdited();\r\n }\r\n\r\n /**\r\n * Sets up event listeners for the Uppy file editor events.\r\n *\r\n * - Listens for the `file-editor:complete` event, triggered when the file editor finishes editing a file.\r\n * Calls the `handlingEditedImage` method to process the edited file.\r\n * @private\r\n */\r\n private onFileEdited() {\r\n if (this.clear() == false) {\r\n this.uppy.on('file-editor:start', (result: { data: Blob }) => {\r\n // do nothing\r\n });\r\n\r\n this.uppy.on(\r\n 'file-editor:complete',\r\n (result: { data: Blob; id: string }) => {\r\n this.handlingEditedImage(result);\r\n }\r\n );\r\n\r\n this.uppy.on('file-editor:cancel', (result: { data: Blob }) => {\r\n // do nothing\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Updates the `multipleFiles` state by replacing the file with the matching ID\r\n * with the new edited image data. Sets the first file in the updated list as the\r\n * current file and emits the following events:\r\n * - `fileUploadComplete`: Emits the updated file as a `File` object.\r\n * - `multipleFilesUploaded`: Emits the updated list of files.\r\n */\r\n private handlingEditedImage(result: { data: Blob; id: string }) {\r\n this.multipleFiles.update((res) => {\r\n return res.map((r) => {\r\n if (r.id === result.id) {\r\n return { ...r, file: result.data };\r\n }\r\n return r;\r\n });\r\n });\r\n this.file.set(this.multipleFiles()[0].file as File);\r\n\r\n this.fileUploadComplete.emit(this.file() as File);\r\n this.multipleFilesUploaded.emit(this.multipleFiles());\r\n }\r\n\r\n private onResetUppy() {\r\n if (this.clear()) {\r\n this.uppy.clear();\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 ngOnDestroy(): void {\r\n this.file.set(null);\r\n this.multipleFiles.set([]);\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 {\r\n Component,\r\n effect,\r\n EventEmitter,\r\n inject,\r\n input,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n signal,\r\n} 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 '@uppy/image-editor/dist/style.min.css';\r\nimport ImageEditor from '@uppy/image-editor';\r\nimport Transloadit, {\r\n COMPANION_ALLOWED_HOSTS,\r\n COMPANION_URL,\r\n} from '@uppy/transloadit';\r\nimport Url from '@uppy/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 implements OnDestroy {\r\n @Input() sampleUrl: string = '';\r\n @Input() subtitle: string = '';\r\n @Input()\r\n showSample: boolean = true;\r\n /**\r\n * For manually resetting Uppy after a successful upload\r\n */\r\n clear = input<boolean>(false);\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<\r\n { file: Blob | File; id: string }[]\r\n >();\r\n\r\n http = inject(HttpService);\r\n csvParser = inject(ConvertCsvService);\r\n\r\n rowSummary = signal<{ rowCount: number; rowEmpty: number }>({\r\n rowCount: 0,\r\n rowEmpty: 0,\r\n });\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 = [\r\n 'Bytes',\r\n 'KB',\r\n 'MB',\r\n 'GB',\r\n 'TB',\r\n 'PB',\r\n 'EB',\r\n 'ZB',\r\n 'YB',\r\n ] 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 onBeforeFileAdded: (currentFile, files) => {\r\n const modifiedFile = {\r\n ...currentFile,\r\n name: currentFile.name?.replace(/ /g, '_'),\r\n };\r\n return modifiedFile;\r\n },\r\n })\r\n .use(Compressor, {\r\n mimeType: 'image/jpeg',\r\n convertSize: Infinity,\r\n convertTypes: ['image/png'],\r\n })\r\n .use(ImageEditor)\r\n .use(Url, {\r\n companionUrl: COMPANION_URL,\r\n companionAllowedHosts: COMPANION_ALLOWED_HOSTS,\r\n companionKeysParams: {\r\n key: 'mSGjjnyL5ZdPWUc81b82n2REltfV0Pw3',\r\n credentialsName: 'auth-key-uppy',\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(\r\n () =>\r\n (this.dashboardProps = {\r\n ...this.dashboardProps,\r\n ...this.dashboardPropsConfiguration(),\r\n })\r\n );\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 this.emitFileUpload(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 const withOutHeader = _chunk.split(/\\r?\\n/).slice(1);\r\n if (withOutHeader[withOutHeader.length - 1] === '')\r\n withOutHeader.pop();\r\n this.rowSummary.update((res) => ({\r\n ...res,\r\n rowCount: withOutHeader.length,\r\n }));\r\n withOutHeader.forEach((row) => {\r\n const emptyRow = row.split(',').every((row) => row === '');\r\n\r\n if (emptyRow)\r\n this.rowSummary.update((res) => ({\r\n ...res,\r\n rowEmpty: res.rowEmpty + 1,\r\n }));\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 =\r\n 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 this.emitFileUploadComplete(file as File);\r\n this.emitMultipleFilesUploaded(multipleFiles);\r\n this.onResetUppy();\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 this.onFileEdited();\r\n }\r\n\r\n /**\r\n * Sets up event listeners for the Uppy file editor events.\r\n *\r\n * - Listens for the `file-editor:complete` event, triggered when the file editor finishes editing a file.\r\n * Calls the `handlingEditedImage` method to process the edited file.\r\n * @private\r\n */\r\n private onFileEdited() {\r\n if (this.clear() == false) {\r\n this.uppy.on('file-editor:start', (result: { data: Blob }) => {\r\n // do nothing\r\n });\r\n\r\n this.uppy.on(\r\n 'file-editor:complete',\r\n (result: { data: Blob; id: string }) => {\r\n this.handlingEditedImage(result);\r\n }\r\n );\r\n\r\n this.uppy.on('file-editor:cancel', (result: { data: Blob }) => {\r\n // do nothing\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Updates the `multipleFiles` state by replacing the file with the matching ID\r\n * with the new edited image data. Sets the first file in the updated list as the\r\n * current file and emits the following events:\r\n * - `fileUploadComplete`: Emits the updated file as a `File` object.\r\n * - `multipleFilesUploaded`: Emits the updated list of files.\r\n */\r\n private handlingEditedImage(result: { data: Blob; id: string }) {\r\n this.multipleFiles.update((res) => {\r\n return res.map((r) => {\r\n if (r.id === result.id) {\r\n return { ...r, file: result.data };\r\n }\r\n return r;\r\n });\r\n });\r\n this.file.set(this.multipleFiles()[0].file as File);\r\n\r\n this.emitFileUploadComplete(this.file() as File);\r\n this.emitMultipleFilesUploaded(this.multipleFiles());\r\n }\r\n\r\n private onResetUppy() {\r\n if (this.clear()) {\r\n this.uppy.clear();\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 ngOnDestroy(): void {\r\n this.file.set(null);\r\n this.multipleFiles.set([]);\r\n }\r\n\r\n emitFileUpload(f: File) {\r\n const renamedFile = new File([f], f.name.replace(/ /g, '_'), {\r\n type: f.type,\r\n });\r\n this.fileUploaded.emit(renamedFile);\r\n }\r\n\r\n emitFileUploadComplete(f: File) {\r\n const renamedFile = new File([f], f.name.replace(/ /g, '_'), {\r\n type: f.type,\r\n });\r\n this.fileUploadComplete.emit(renamedFile);\r\n }\r\n emitMultipleFilesUploaded(data: { file: Blob | File; id: string }[]) {\r\n const renamedData = data.map((d) => ({\r\n file: new File([d.file], (d.file as File).name.replace(/ /g, '_'), {\r\n type: d.file.type,\r\n }),\r\n id: d.id,\r\n }));\r\n this.multipleFilesUploaded.emit(renamedData);\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,11 +1,10 @@
1
1
  {
2
2
  "name": "@dealpos-npm/ng-dealpos-library",
3
- "version": "4.4.14",
3
+ "version": "5.0.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",
7
- "@angular/material": "^18.2.0",
8
- "@uppy/image-editor": "^3.3.2"
7
+ "@angular/material": "^18.2.0"
9
8
  },
10
9
  "dependencies": {
11
10
  "tslib": "^2.3.0"
@@ -1,6 +0,0 @@
1
- export declare enum HeaderType {
2
- Success = "Success",
3
- Info = "Info",
4
- Warning = "Warning",
5
- Error = "Error"
6
- }
@@ -1,8 +0,0 @@
1
- export var HeaderType;
2
- (function (HeaderType) {
3
- HeaderType["Success"] = "Success";
4
- HeaderType["Info"] = "Info";
5
- HeaderType["Warning"] = "Warning";
6
- HeaderType["Error"] = "Error";
7
- })(HeaderType || (HeaderType = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RlYWxwb3MtbnBtL25nLWRlYWxwb3MtbGlicmFyeS9jb21wb25lbnRzL2RpYWxvZy9zcmMvY3VzdG9tLWRpYWxvZy1jb25maWcvaGVhZGVyLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLGlDQUFtQixDQUFBO0lBQ25CLDJCQUFhLENBQUE7SUFDYixpQ0FBbUIsQ0FBQTtJQUNuQiw2QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxVQUFVLEtBQVYsVUFBVSxRQUtyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEhlYWRlclR5cGUge1xyXG4gIFN1Y2Nlc3MgPSBcIlN1Y2Nlc3NcIixcclxuICBJbmZvID0gXCJJbmZvXCIsXHJcbiAgV2FybmluZyA9IFwiV2FybmluZ1wiLFxyXG4gIEVycm9yID0gXCJFcnJvclwiLFxyXG59XHJcbiJdfQ==