uitec-ng-upload-order 1.0.4 → 1.0.6

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.
@@ -27,7 +27,13 @@ export class UiUploadOrderComponent {
27
27
  acceptedFileTypes: ['image/*'],
28
28
  instantUpload: true,
29
29
  dropValidation: true,
30
- iconRemove: '<img src="assets/icons/delete_forever.svg" alt="SVG Icon">',
30
+ iconRemove: `<svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg">
31
+ <mask id="mask0_37067_34146" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="15" height="16">
32
+ <rect x="0.130859" y="0.631592" width="14.7368" height="14.7368" fill="#D9D9D9"/>
33
+ </mask>
34
+ <g mask="url(#mask0_37067_34146)">
35
+ <path d="M4.43 13.5263C4.09228 13.5263 3.80317 13.406 3.56267 13.1655C3.32217 12.925 3.20193 12.6359 3.20193 12.2982V4.31574C3.02795 4.31574 2.88212 4.25689 2.76443 4.1392C2.64674 4.02151 2.58789 3.87568 2.58789 3.7017C2.58789 3.52773 2.64674 3.38189 2.76443 3.2642C2.88212 3.14651 3.02795 3.08767 3.20193 3.08767H5.65807C5.65807 2.91369 5.71691 2.76786 5.8346 2.65017C5.95229 2.53248 6.09812 2.47363 6.2721 2.47363H8.72824C8.90222 2.47363 9.04805 2.53248 9.16574 2.65017C9.28343 2.76786 9.34228 2.91369 9.34228 3.08767H11.7984C11.9724 3.08767 12.1182 3.14651 12.2359 3.2642C12.3536 3.38189 12.4125 3.52773 12.4125 3.7017C12.4125 3.87568 12.3536 4.02151 12.2359 4.1392C12.1182 4.25689 11.9724 4.31574 11.7984 4.31574V12.2982C11.7984 12.6359 11.6782 12.925 11.4377 13.1655C11.1972 13.406 10.9081 13.5263 10.5703 13.5263H4.43ZM4.43 4.31574V12.2982H10.5703V4.31574H4.43ZM7.50017 9.16662L8.66684 10.3333C8.78965 10.4459 8.93548 10.5021 9.10434 10.5021C9.2732 10.5021 9.41391 10.4459 9.52649 10.3333C9.64929 10.2105 9.7107 10.0646 9.7107 9.89578C9.7107 9.72692 9.64929 9.58621 9.52649 9.47363L8.35982 8.30697L9.52649 7.1403C9.64929 7.01749 9.7107 6.87166 9.7107 6.7028C9.7107 6.53394 9.64929 6.39322 9.52649 6.28065C9.41391 6.15784 9.2732 6.09644 9.10434 6.09644C8.93548 6.09644 8.78965 6.15784 8.66684 6.28065L7.50017 7.44732L6.3335 6.28065C6.22093 6.15784 6.08022 6.09644 5.91136 6.09644C5.7425 6.09644 5.59666 6.15784 5.47386 6.28065C5.36128 6.39322 5.305 6.53394 5.305 6.7028C5.305 6.87166 5.36128 7.01749 5.47386 7.1403L6.64052 8.30697L5.47386 9.47363C5.36128 9.58621 5.305 9.72692 5.305 9.89578C5.305 10.0646 5.36128 10.2105 5.47386 10.3333C5.59666 10.4459 5.7425 10.5021 5.91136 10.5021C6.08022 10.5021 6.22093 10.4459 6.3335 10.3333L7.50017 9.16662Z" fill="white"/>
36
+ </g></svg>`,
31
37
  styleButtonRemoveItemPosition: 'right',
32
38
  imageResizeMode: 'contain',
33
39
  styleItemPanelAspectRatio: '0.75',
@@ -48,6 +54,8 @@ export class UiUploadOrderComponent {
48
54
  },
49
55
  },
50
56
  };
57
+ }
58
+ ngOnChanges() {
51
59
  if (this.initialFiles) {
52
60
  this.pondFiles = this.initialFiles.map((item) => {
53
61
  return {
@@ -63,7 +71,8 @@ export class UiUploadOrderComponent {
63
71
  this.onInit.emit(this.pondFiles);
64
72
  }
65
73
  pondHandleAddFile(event) {
66
- this.onAdded.emit(event.file);
74
+ let formattedName = event.file.serverId.replace(/["\[\]]/g, '');
75
+ this.onAdded.emit(formattedName);
67
76
  }
68
77
  pondHandleActivateFile(event) {
69
78
  this.onActivate.emit(event.file);
@@ -73,11 +82,26 @@ export class UiUploadOrderComponent {
73
82
  this.fillAlbum(event.items);
74
83
  }
75
84
  pondHandleRemove(event) {
76
- this.onRemove.emit(event.file);
85
+ let fileName;
86
+ if (event.file.source instanceof File) {
87
+ fileName = event.file.serverId.replace(/["\[\]]/g, '');
88
+ }
89
+ else {
90
+ fileName = event.file.filename;
91
+ }
92
+ this.onRemove.emit(fileName);
77
93
  }
78
94
  onReorderFiles(event) {
79
95
  this.fillAlbum(event.items, true);
80
- this.onReOrder.emit(event.items);
96
+ let itemsList = event.items.map((item) => {
97
+ if (item.source instanceof File) {
98
+ return item.serverId.replace(/["\[\]]/g, '');
99
+ }
100
+ else {
101
+ return item.filename;
102
+ }
103
+ });
104
+ this.onReOrder.emit(itemsList);
81
105
  }
82
106
  warning(event) {
83
107
  if (event.error.code == 0) {
@@ -120,10 +144,10 @@ export class UiUploadOrderComponent {
120
144
  }
121
145
  }
122
146
  UiUploadOrderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiUploadOrderComponent, deps: [{ token: i1.Lightbox }], target: i0.ɵɵFactoryTarget.Component });
123
- UiUploadOrderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiUploadOrderComponent, selector: "ui-upload-order", inputs: { url: "url", initialFiles: "initialFiles", multiple: "multiple", maxFiles: "maxFiles" }, outputs: { onRemove: "onRemove", onAdded: "onAdded", onActivate: "onActivate", onInit: "onInit", onMaxReached: "onMaxReached", onReOrder: "onReOrder" }, viewQueries: [{ propertyName: "myPond", first: true, predicate: ["myPond"], descendants: true }], ngImport: i0, template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"], dependencies: [{ kind: "component", type: i2.FilePondComponent, selector: "file-pond", inputs: ["options", "files"], outputs: ["oninit", "onwarning", "onerror", "oninitfile", "onactivatefile", "onaddfilestart", "onaddfileprogress", "onaddfile", "onprocessfilestart", "onprocessfileprogress", "onprocessfileabort", "onprocessfilerevert", "onprocessfile", "onprocessfiles", "onremovefile", "onpreparefile", "onupdatefiles", "onreorderfiles"] }] });
147
+ UiUploadOrderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiUploadOrderComponent, selector: "ui-upload-order", inputs: { url: "url", initialFiles: "initialFiles", multiple: "multiple", maxFiles: "maxFiles" }, outputs: { onRemove: "onRemove", onAdded: "onAdded", onActivate: "onActivate", onInit: "onInit", onMaxReached: "onMaxReached", onReOrder: "onReOrder" }, viewQueries: [{ propertyName: "myPond", first: true, predicate: ["myPond"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"], dependencies: [{ kind: "component", type: i2.FilePondComponent, selector: "file-pond", inputs: ["options", "files"], outputs: ["oninit", "onwarning", "onerror", "oninitfile", "onactivatefile", "onaddfilestart", "onaddfileprogress", "onaddfile", "onprocessfilestart", "onprocessfileprogress", "onprocessfileabort", "onprocessfilerevert", "onprocessfile", "onprocessfiles", "onremovefile", "onpreparefile", "onupdatefiles", "onreorderfiles"] }] });
124
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiUploadOrderComponent, decorators: [{
125
149
  type: Component,
126
- args: [{ selector: 'ui-upload-order', template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"] }]
150
+ args: [{ selector: 'ui-upload-order', template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"] }]
127
151
  }], ctorParameters: function () { return [{ type: i1.Lightbox }]; }, propDecorators: { url: [{
128
152
  type: Input
129
153
  }], initialFiles: [{
@@ -148,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
148
172
  type: ViewChild,
149
173
  args: ["myPond"]
150
174
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdXBsb2FkLW9yZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXVwbG9hZC1vcmRlci9zcmMvbGliL3VpLXVwbG9hZC1vcmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS11cGxvYWQtb3JkZXIvc3JjL2xpYi91aS11cGxvYWQtb3JkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUVsRCxPQUFPLEVBQVUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxzQkFBc0I7SUFlL0IsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQVo5QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzVDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUMzQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDOUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQ3RELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFPbEQsY0FBUyxHQUE2QixFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFhLEVBQUUsQ0FBQztJQUplLENBQUM7SUFNNUMsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDZixhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDNUIsU0FBUyxFQUFFLHdHQUF3RztZQUNuSCxZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDOUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsY0FBYyxFQUFFLElBQUk7WUFDcEIsVUFBVSxFQUFFLDREQUE0RDtZQUN4RSw2QkFBNkIsRUFBRSxPQUFPO1lBQ3RDLGVBQWUsRUFBRSxTQUFTO1lBQzFCLHlCQUF5QixFQUFFLE1BQU07WUFDakMsa0JBQWtCLEVBQUUsT0FBTztZQUMzQixNQUFNLEVBQUU7Z0JBQ0osT0FBTyxFQUFFO29CQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztpQkFDaEI7Z0JBQ0QsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQzdCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTt3QkFDaEIsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNqQyxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDO2FBQ0o7U0FFSixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDcEQsT0FBTztvQkFDSCxNQUFNLEVBQUUsSUFBSTtvQkFDWixPQUFPLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLE9BQU87cUJBQ2hCO2lCQUNKLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUUxRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUUvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsOERBQThELElBQUksQ0FBQyxRQUFRLFlBQVksQ0FBQyxDQUFBO1NBQ2xIO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFnQjtRQUN6QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFTLEVBQUUsT0FBaUI7UUFDeEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUUvQyxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBa0IsRUFBRSxFQUFFO2dCQUN0RSxJQUFJLE9BQWUsQ0FBQztnQkFFcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxZQUFZLElBQUksRUFBRTtvQkFDN0IsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ25EO3FCQUFNO29CQUNILE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUNwQztnQkFFRCxPQUFPO29CQUNILEdBQUcsRUFBRSxPQUFPO29CQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCO29CQUN0QyxLQUFLLEVBQUUsRUFBRTtpQkFDWixDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVKLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQzlCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0hBMUlRLHNCQUFzQjt3R0FBdEIsc0JBQXNCLG9aQ1ZuQyxpZUFjQTs0RkRKYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0ksaUJBQWlCOytGQUtsQixHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpbGVQb25kQ29tcG9uZW50LCB9IGZyb20gXCJuZ3gtZmlsZXBvbmRcIjtcclxuaW1wb3J0IHsgRmlsZVBvbmRDYWxsYmFja1Byb3BzLCBGaWxlUG9uZEZpbGUsIEZpbGVQb25kT3B0aW9ucyB9IGZyb20gXCJmaWxlcG9uZFwiO1xyXG5pbXBvcnQgeyBJQWxidW0sIExpZ2h0Ym94IH0gZnJvbSAnbmd4LWxpZ2h0Ym94JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd1aS11cGxvYWQtb3JkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXVwbG9hZC1vcmRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS11cGxvYWQtb3JkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlVcGxvYWRPcmRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSB1cmw6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGluaXRpYWxGaWxlczogc3RyaW5nW107XHJcbiAgICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBtYXhGaWxlczogbnVtYmVyID0gNjtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVQb25kRmlsZT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlUG9uZEZpbGU+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25BY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVBvbmRGaWxlPigpO1xyXG4gICAgQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVBvbmRPcHRpb25zW1wiZmlsZXNcIl0+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25NYXhSZWFjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZU9yZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlUG9uZEZpbGVbXT4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwibXlQb25kXCIpIG15UG9uZDogRmlsZVBvbmRDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfbGlnaHRib3g6IExpZ2h0Ym94KSB7IH1cclxuXHJcbiAgICBwdWJsaWMgcG9uZE9wdGlvbnM6IEZpbGVQb25kT3B0aW9ucztcclxuICAgIHB1YmxpYyBwb25kRmlsZXM6IEZpbGVQb25kT3B0aW9uc1tcImZpbGVzXCJdID0gW107XHJcbiAgICBwdWJsaWMgYWxidW06IElBbGJ1bVtdID0gW107XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wb25kT3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgYWxsb3dNdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcclxuICAgICAgICAgICAgbGFiZWxJZGxlOiAnQXJyYXN0ZSBzZXVzIGFycXVpdm9zPGJyPm91PGJyPjxzcGFuIGNsYXNzPVwiZmlsZXBvbmQtLWxhYmVsLWFjdGlvblwiPkNsaXF1ZSBhcXVpPC9zcGFuPiBwYXJhIHNlbGVjaW9uYXInLFxyXG4gICAgICAgICAgICBhbGxvd1Jlb3JkZXI6IHRydWUsXHJcbiAgICAgICAgICAgIG1heEZpbGVzOiB0aGlzLm1heEZpbGVzLFxyXG4gICAgICAgICAgICBhY2NlcHRlZEZpbGVUeXBlczogWydpbWFnZS8qJ10sXHJcbiAgICAgICAgICAgIGluc3RhbnRVcGxvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIGRyb3BWYWxpZGF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgICBpY29uUmVtb3ZlOiAnPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZGVsZXRlX2ZvcmV2ZXIuc3ZnXCIgYWx0PVwiU1ZHIEljb25cIj4nLFxyXG4gICAgICAgICAgICBzdHlsZUJ1dHRvblJlbW92ZUl0ZW1Qb3NpdGlvbjogJ3JpZ2h0JyxcclxuICAgICAgICAgICAgaW1hZ2VSZXNpemVNb2RlOiAnY29udGFpbicsXHJcbiAgICAgICAgICAgIHN0eWxlSXRlbVBhbmVsQXNwZWN0UmF0aW86ICcwLjc1JyxcclxuICAgICAgICAgICAgaXRlbUluc2VydExvY2F0aW9uOiAnYWZ0ZXInLFxyXG4gICAgICAgICAgICBzZXJ2ZXI6IHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3M6IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IHRoaXMudXJsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbG9hZDogKHNvdXJjZSwgbG9hZCwgZXJyb3IsIHByb2dyZXNzLCBhYm9ydCwgaGVhZGVycykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBteVJlcXVlc3QgPSBuZXcgUmVxdWVzdChzb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZldGNoKG15UmVxdWVzdCkudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmJsb2IoKS50aGVuKG15QmxvYiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkKG15QmxvYilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnRVJST1I6ICcsIGVycm9yKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbEZpbGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9uZEZpbGVzID0gdGhpcy5pbml0aWFsRmlsZXMubWFwKChpdGVtOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2xvY2FsJyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBvbmRIYW5kbGVJbml0KCkge1xyXG4gICAgICAgIHRoaXMub25Jbml0LmVtaXQodGhpcy5wb25kRmlsZXMpXHJcbiAgICB9XHJcblxyXG4gICAgcG9uZEhhbmRsZUFkZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMub25BZGRlZC5lbWl0KGV2ZW50LmZpbGUpXHJcbiAgICB9XHJcblxyXG4gICAgcG9uZEhhbmRsZUFjdGl2YXRlRmlsZShldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vbkFjdGl2YXRlLmVtaXQoZXZlbnQuZmlsZSlcclxuICAgICAgICB0aGlzLm9wZW5MaWdodEJveChldmVudC5maWxlLmZpbGVuYW1lV2l0aG91dEV4dGVuc2lvbilcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcG9uZEhhbmRsZVVwZGF0ZShldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5maWxsQWxidW0oZXZlbnQuaXRlbXMpXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHBvbmRIYW5kbGVSZW1vdmUoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMub25SZW1vdmUuZW1pdChldmVudC5maWxlKVxyXG4gICAgfVxyXG5cclxuICAgIG9uUmVvcmRlckZpbGVzKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICB0aGlzLmZpbGxBbGJ1bShldmVudC5pdGVtcywgdHJ1ZSlcclxuICAgICAgICB0aGlzLm9uUmVPcmRlci5lbWl0KGV2ZW50Lml0ZW1zKVxyXG4gICAgfVxyXG5cclxuICAgIHdhcm5pbmcoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIGlmIChldmVudC5lcnJvci5jb2RlID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5vbk1heFJlYWNoZWQuZW1pdChgTGltaXRlIGRlIEFycXVpdm9zIGF0aW5naWRvLiBWb2PDqiBwb2RlIGluc2VyaXIgdW0gdG90YWwgZGUgJHt0aGlzLm1heEZpbGVzfSBhcnF1aXZvcy5gKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvcGVuTGlnaHRCb3goZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuYWxidW0ubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiBlLmNhcHRpb247IH0pLmluZGV4T2YoZmlsZU5hbWUpO1xyXG4gICAgICAgIHRoaXMuX2xpZ2h0Ym94Lm9wZW4odGhpcy5hbGJ1bSwgaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhc3luYyBmaWxsQWxidW0oZmlsZXM6IFtdLCByZU9yZGVyPzogYm9vbGVhbikge1xyXG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggIT09IHRoaXMuYWxidW0ubGVuZ3RoIHx8IHJlT3JkZXIpIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByZUFsYnVtID0gYXdhaXQgUHJvbWlzZS5hbGwoZmlsZXMubWFwKGFzeW5jIChmaWxlOiBGaWxlUG9uZEZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBmaWxlVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGZpbGUuc291cmNlIGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVVcmwgPSBhd2FpdCB0aGlzLnJlYWRGaWxlQXN5bmMoZmlsZS5zb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxlVXJsID0gZmlsZS5zb3VyY2UudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYzogZmlsZVVybCxcclxuICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiBmaWxlLmZpbGVuYW1lV2l0aG91dEV4dGVuc2lvbixcclxuICAgICAgICAgICAgICAgICAgICB0aHVtYjogJydcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuYWxidW0gPSBwcmVBbGJ1bTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVhZEZpbGVBc3luYyhmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhVXJsID0gcmVhZGVyLnJlc3VsdDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVVcmwgPSBkYXRhVXJsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZpbGVVcmwpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gYXBwLmNvbXBvbmVudC5odG1sIC0tPlxyXG48ZmlsZS1wb25kXHJcbiAgI215UG9uZFxyXG4gIG5hbWU9J1VwbG9hZEZvcm1baW1hZ2VtXVtdJ1xyXG4gIFtvcHRpb25zXT1cInBvbmRPcHRpb25zXCJcclxuICAob25pbml0KT1cInBvbmRIYW5kbGVJbml0KClcIlxyXG4gIFtmaWxlc109XCJwb25kRmlsZXNcIlxyXG4gIChvbmFkZGZpbGUpPVwicG9uZEhhbmRsZUFkZEZpbGUoJGV2ZW50KVwiXHJcbiAgKG9udXBkYXRlZmlsZXMpPVwicG9uZEhhbmRsZVVwZGF0ZSgkZXZlbnQpXCJcclxuICAob25hY3RpdmF0ZWZpbGUpPVwicG9uZEhhbmRsZUFjdGl2YXRlRmlsZSgkZXZlbnQpXCJcclxuICAob25yZW1vdmVmaWxlKT1cInBvbmRIYW5kbGVSZW1vdmUoJGV2ZW50KVwiXHJcbiAgKG9ucmVvcmRlcmZpbGVzKT1cIm9uUmVvcmRlckZpbGVzKCRldmVudClcIlxyXG4gIChvbndhcm5pbmcpPVwid2FybmluZygkZXZlbnQpXCJcclxuLz5cclxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdXBsb2FkLW9yZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXVwbG9hZC1vcmRlci9zcmMvbGliL3VpLXVwbG9hZC1vcmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS11cGxvYWQtb3JkZXIvc3JjL2xpYi91aS11cGxvYWQtb3JkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUVsRCxPQUFPLEVBQVUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxzQkFBc0I7SUFlL0IsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQVo5QixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDckMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzlDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUN0RCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBT2xELGNBQVMsR0FBNkIsRUFBRSxDQUFDO1FBQ3pDLFVBQUssR0FBYSxFQUFFLENBQUM7SUFKZSxDQUFDO0lBTTVDLFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzVCLFNB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LFNBQVM7K0JBQ0ksaUJBQWlCOytGQUtsQixHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpbGVQb25kQ29tcG9uZW50LCB9IGZyb20gXCJuZ3gtZmlsZXBvbmRcIjtcclxuaW1wb3J0IHsgRmlsZVBvbmRGaWxlLCBGaWxlUG9uZE9wdGlvbnMgfSBmcm9tIFwiZmlsZXBvbmRcIjtcclxuaW1wb3J0IHsgSUFsYnVtLCBMaWdodGJveCB9IGZyb20gJ25neC1saWdodGJveCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndWktdXBsb2FkLW9yZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS11cGxvYWQtb3JkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktdXBsb2FkLW9yZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVpVXBsb2FkT3JkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSB1cmw6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGluaXRpYWxGaWxlczogc3RyaW5nW107XHJcbiAgICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBtYXhGaWxlczogbnVtYmVyID0gNjtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25BY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVBvbmRGaWxlPigpO1xyXG4gICAgQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVBvbmRPcHRpb25zW1wiZmlsZXNcIl0+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25NYXhSZWFjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZU9yZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlUG9uZEZpbGVbXT4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwibXlQb25kXCIpIG15UG9uZDogRmlsZVBvbmRDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfbGlnaHRib3g6IExpZ2h0Ym94KSB7IH1cclxuXHJcbiAgICBwdWJsaWMgcG9uZE9wdGlvbnM6IEZpbGVQb25kT3B0aW9ucztcclxuICAgIHB1YmxpYyBwb25kRmlsZXM6IEZpbGVQb25kT3B0aW9uc1tcImZpbGVzXCJdID0gW107XHJcbiAgICBwdWJsaWMgYWxidW06IElBbGJ1bVtdID0gW107XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wb25kT3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgYWxsb3dNdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcclxuICAgICAgICAgICAgbGFiZWxJZGxlOiAnQXJyYXN0ZSBzZXVzIGFycXVpdm9zPGJyPm91PGJyPjxzcGFuIGNsYXNzPVwiZmlsZXBvbmQtLWxhYmVsLWFjdGlvblwiPkNsaXF1ZSBhcXVpPC9zcGFuPiBwYXJhIHNlbGVjaW9uYXInLFxyXG4gICAgICAgICAgICBhbGxvd1Jlb3JkZXI6IHRydWUsXHJcbiAgICAgICAgICAgIG1heEZpbGVzOiB0aGlzLm1heEZpbGVzLFxyXG4gICAgICAgICAgICBhY2NlcHRlZEZpbGVUeXBlczogWydpbWFnZS8qJ10sXHJcbiAgICAgICAgICAgIGluc3RhbnRVcGxvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIGRyb3BWYWxpZGF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgICBpY29uUmVtb3ZlOiBgPHN2ZyB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE1IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIDxtYXNrIGlkPVwibWFzazBfMzcwNjdfMzQxNDZcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTVcIiBoZWlnaHQ9XCIxNlwiPlxyXG4gICAgICAgICAgICA8cmVjdCB4PVwiMC4xMzA4NTlcIiB5PVwiMC42MzE1OTJcIiB3aWR0aD1cIjE0LjczNjhcIiBoZWlnaHQ9XCIxNC43MzY4XCIgZmlsbD1cIiNEOUQ5RDlcIi8+XHJcbiAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgPGcgbWFzaz1cInVybCgjbWFzazBfMzcwNjdfMzQxNDYpXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC40MyAxMy41MjYzQzQuMDkyMjggMTMuNTI2MyAzLjgwMzE3IDEzLjQwNiAzLjU2MjY3IDEzLjE2NTVDMy4zMjIxNyAxMi45MjUgMy4yMDE5MyAxMi42MzU5IDMuMjAxOTMgMTIuMjk4MlY0LjMxNTc0QzMuMDI3OTUgNC4zMTU3NCAyLjg4MjEyIDQuMjU2ODkgMi43NjQ0MyA0LjEzOTJDMi42NDY3NCA0LjAyMTUxIDIuNTg3ODkgMy44NzU2OCAyLjU4Nzg5IDMuNzAxN0MyLjU4Nzg5IDMuNTI3NzMgMi42NDY3NCAzLjM4MTg5IDIuNzY0NDMgMy4yNjQyQzIuODgyMTIgMy4xNDY1MSAzLjAyNzk1IDMuMDg3NjcgMy4yMDE5MyAzLjA4NzY3SDUuNjU4MDdDNS42NTgwNyAyLjkxMzY5IDUuNzE2OTEgMi43Njc4NiA1LjgzNDYgMi42NTAxN0M1Ljk1MjI5IDIuNTMyNDggNi4wOTgxMiAyLjQ3MzYzIDYuMjcyMSAyLjQ3MzYzSDguNzI4MjRDOC45MDIyMiAyLjQ3MzYzIDkuMDQ4MDUgMi41MzI0OCA5LjE2NTc0IDIuNjUwMTdDOS4yODM0MyAyLjc2Nzg2IDkuMzQyMjggMi45MTM2OSA5LjM0MjI4IDMuMDg3NjdIMTEuNzk4NEMxMS45NzI0IDMuMDg3NjcgMTIuMTE4MiAzLjE0NjUxIDEyLjIzNTkgMy4yNjQyQzEyLjM1MzYgMy4zODE4OSAxMi40MTI1IDMuNTI3NzMgMTIuNDEyNSAzLjcwMTdDMTIuNDEyNSAzLjg3NTY4IDEyLjM1MzYgNC4wMjE1MSAxMi4yMzU5IDQuMTM5MkMxMi4xMTgyIDQuMjU2ODkgMTEuOTcyNCA0LjMxNTc0IDExLjc5ODQgNC4zMTU3NFYxMi4yOTgyQzExLjc5ODQgMTIuNjM1OSAxMS42NzgyIDEyLjkyNSAxMS40Mzc3IDEzLjE2NTVDMTEuMTk3MiAxMy40MDYgMTAuOTA4MSAxMy41MjYzIDEwLjU3MDMgMTMuNTI2M0g0LjQzWk00LjQzIDQuMzE1NzRWMTIuMjk4MkgxMC41NzAzVjQuMzE1NzRINC40M1pNNy41MDAxNyA5LjE2NjYyTDguNjY2ODQgMTAuMzMzM0M4Ljc4OTY1IDEwLjQ0NTkgOC45MzU0OCAxMC41MDIxIDkuMTA0MzQgMTAuNTAyMUM5LjI3MzIgMTAuNTAyMSA5LjQxMzkxIDEwLjQ0NTkgOS41MjY0OSAxMC4zMzMzQzkuNjQ5MjkgMTAuMjEwNSA5LjcxMDcgMTAuMDY0NiA5LjcxMDcgOS44OTU3OEM5LjcxMDcgOS43MjY5MiA5LjY0OTI5IDkuNTg2MjEgOS41MjY0OSA5LjQ3MzYzTDguMzU5ODIgOC4zMDY5N0w5LjUyNjQ5IDcuMTQwM0M5LjY0OTI5IDcuMDE3NDkgOS43MTA3IDYuODcxNjYgOS43MTA3IDYuNzAyOEM5LjcxMDcgNi41MzM5NCA5LjY0OTI5IDYuMzkzMjIgOS41MjY0OSA2LjI4MDY1QzkuNDEzOTEgNi4xNTc4NCA5LjI3MzIgNi4wOTY0NCA5LjEwNDM0IDYuMDk2NDRDOC45MzU0OCA2LjA5NjQ0IDguNzg5NjUgNi4xNTc4NCA4LjY2Njg0IDYuMjgwNjVMNy41MDAxNyA3LjQ0NzMyTDYuMzMzNSA2LjI4MDY1QzYuMjIwOTMgNi4xNTc4NCA2LjA4MDIyIDYuMDk2NDQgNS45MTEzNiA2LjA5NjQ0QzUuNzQyNSA2LjA5NjQ0IDUuNTk2NjYgNi4xNTc4NCA1LjQ3Mzg2IDYuMjgwNjVDNS4zNjEyOCA2LjM5MzIyIDUuMzA1IDYuNTMzOTQgNS4zMDUgNi43MDI4QzUuMzA1IDYuODcxNjYgNS4zNjEyOCA3LjAxNzQ5IDUuNDczODYgNy4xNDAzTDYuNjQwNTIgOC4zMDY5N0w1LjQ3Mzg2IDkuNDczNjNDNS4zNjEyOCA5LjU4NjIxIDUuMzA1IDkuNzI2OTIgNS4zMDUgOS44OTU3OEM1LjMwNSAxMC4wNjQ2IDUuMzYxMjggMTAuMjEwNSA1LjQ3Mzg2IDEwLjMzMzNDNS41OTY2NiAxMC40NDU5IDUuNzQyNSAxMC41MDIxIDUuOTExMzYgMTAuNTAyMUM2LjA4MDIyIDEwLjUwMjEgNi4yMjA5MyAxMC40NDU5IDYuMzMzNSAxMC4zMzMzTDcuNTAwMTcgOS4xNjY2MlpcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgIDwvZz48L3N2Zz5gLFxyXG4gICAgICAgICAgICBzdHlsZUJ1dHRvblJlbW92ZUl0ZW1Qb3NpdGlvbjogJ3JpZ2h0JyxcclxuICAgICAgICAgICAgaW1hZ2VSZXNpemVNb2RlOiAnY29udGFpbicsXHJcbiAgICAgICAgICAgIHN0eWxlSXRlbVBhbmVsQXNwZWN0UmF0aW86ICcwLjc1JyxcclxuICAgICAgICAgICAgaXRlbUluc2VydExvY2F0aW9uOiAnYWZ0ZXInLFxyXG4gICAgICAgICAgICBzZXJ2ZXI6IHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3M6IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IHRoaXMudXJsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbG9hZDogKHNvdXJjZSwgbG9hZCwgZXJyb3IsIHByb2dyZXNzLCBhYm9ydCwgaGVhZGVycykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBteVJlcXVlc3QgPSBuZXcgUmVxdWVzdChzb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZldGNoKG15UmVxdWVzdCkudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmJsb2IoKS50aGVuKG15QmxvYiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkKG15QmxvYilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnRVJST1I6ICcsIGVycm9yKVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbml0aWFsRmlsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5wb25kRmlsZXMgPSB0aGlzLmluaXRpYWxGaWxlcy5tYXAoKGl0ZW06IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IGl0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbG9jYWwnLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcG9uZEhhbmRsZUluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5vbkluaXQuZW1pdCh0aGlzLnBvbmRGaWxlcylcclxuICAgIH1cclxuXHJcbiAgICBwb25kSGFuZGxlQWRkRmlsZShldmVudDogYW55KSB7XHJcbiAgICAgICAgbGV0IGZvcm1hdHRlZE5hbWUgPSBldmVudC5maWxlLnNlcnZlcklkLnJlcGxhY2UoL1tcIlxcW1xcXV0vZywgJycpO1xyXG4gICAgICAgIHRoaXMub25BZGRlZC5lbWl0KGZvcm1hdHRlZE5hbWUpXHJcbiAgICB9XHJcbiAgICBwb25kSGFuZGxlQWN0aXZhdGVGaWxlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQWN0aXZhdGUuZW1pdChldmVudC5maWxlKVxyXG4gICAgICAgIHRoaXMub3BlbkxpZ2h0Qm94KGV2ZW50LmZpbGUuZmlsZW5hbWVXaXRob3V0RXh0ZW5zaW9uKVxyXG4gICAgfVxyXG5cclxuICAgIHBvbmRIYW5kbGVVcGRhdGUoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuZmlsbEFsYnVtKGV2ZW50Lml0ZW1zKVxyXG4gICAgfVxyXG5cclxuICAgIHBvbmRIYW5kbGVSZW1vdmUoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIGxldCBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIGlmIChldmVudC5maWxlLnNvdXJjZSBpbnN0YW5jZW9mIEZpbGUpIHtcclxuICAgICAgICAgICAgZmlsZU5hbWUgPSBldmVudC5maWxlLnNlcnZlcklkLnJlcGxhY2UoL1tcIlxcW1xcXV0vZywgJycpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lID0gZXZlbnQuZmlsZS5maWxlbmFtZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMub25SZW1vdmUuZW1pdChmaWxlTmFtZSlcclxuICAgIH1cclxuXHJcbiAgICBvblJlb3JkZXJGaWxlcyhldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5maWxsQWxidW0oZXZlbnQuaXRlbXMsIHRydWUpXHJcbiAgICAgICAgbGV0IGl0ZW1zTGlzdCA9IGV2ZW50Lml0ZW1zLm1hcCgoaXRlbTogRmlsZVBvbmRGaWxlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtLnNvdXJjZSBpbnN0YW5jZW9mIEZpbGUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLnNlcnZlcklkLnJlcGxhY2UoL1tcIlxcW1xcXV0vZywgJycpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZmlsZW5hbWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5vblJlT3JkZXIuZW1pdChpdGVtc0xpc3QpXHJcbiAgICB9XHJcblxyXG4gICAgd2FybmluZyhldmVudDogYW55KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmVycm9yLmNvZGUgPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uTWF4UmVhY2hlZC5lbWl0KGBMaW1pdGUgZGUgQXJxdWl2b3MgYXRpbmdpZG8uIFZvY8OqIHBvZGUgaW5zZXJpciB1bSB0b3RhbCBkZSAke3RoaXMubWF4RmlsZXN9IGFycXVpdm9zLmApXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9wZW5MaWdodEJveChmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5hbGJ1bS5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuY2FwdGlvbjsgfSkuaW5kZXhPZihmaWxlTmFtZSk7XHJcbiAgICAgICAgdGhpcy5fbGlnaHRib3gub3Blbih0aGlzLmFsYnVtLCBpbmRleCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGFzeW5jIGZpbGxBbGJ1bShmaWxlczogW10sIHJlT3JkZXI/OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCAhPT0gdGhpcy5hbGJ1bS5sZW5ndGggfHwgcmVPcmRlcikge1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcHJlQWxidW0gPSBhd2FpdCBQcm9taXNlLmFsbChmaWxlcy5tYXAoYXN5bmMgKGZpbGU6IEZpbGVQb25kRmlsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZpbGVVcmw6IHN0cmluZztcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsZS5zb3VyY2UgaW5zdGFuY2VvZiBGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZVVybCA9IGF3YWl0IHRoaXMucmVhZEZpbGVBc3luYyhmaWxlLnNvdXJjZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVVcmwgPSBmaWxlLnNvdXJjZS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3JjOiBmaWxlVXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb246IGZpbGUuZmlsZW5hbWVXaXRob3V0RXh0ZW5zaW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHRodW1iOiAnJ1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5hbGJ1bSA9IHByZUFsYnVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWFkRmlsZUFzeW5jKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFVcmwgPSByZWFkZXIucmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZVVybCA9IGRhdGFVcmwudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoZmlsZVVybCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSBhcHAuY29tcG9uZW50Lmh0bWwgLS0+XHJcbjxmaWxlLXBvbmRcclxuICAjbXlQb25kXHJcbiAgbmFtZT0nVXBsb2FkRm9ybVtpbWFnZW1dW10nXHJcbiAgW29wdGlvbnNdPVwicG9uZE9wdGlvbnNcIlxyXG4gIChvbmluaXQpPVwicG9uZEhhbmRsZUluaXQoKVwiXHJcbiAgW2ZpbGVzXT1cInBvbmRGaWxlc1wiXHJcbiAgKG9udXBkYXRlZmlsZXMpPVwicG9uZEhhbmRsZVVwZGF0ZSgkZXZlbnQpXCJcclxuICAob25hY3RpdmF0ZWZpbGUpPVwicG9uZEhhbmRsZUFjdGl2YXRlRmlsZSgkZXZlbnQpXCJcclxuICAob25yZW1vdmVmaWxlKT1cInBvbmRIYW5kbGVSZW1vdmUoJGV2ZW50KVwiXHJcbiAgKG9ucmVvcmRlcmZpbGVzKT1cIm9uUmVvcmRlckZpbGVzKCRldmVudClcIlxyXG4gIChvbndhcm5pbmcpPVwid2FybmluZygkZXZlbnQpXCJcclxuICAob25wcm9jZXNzZmlsZSk9XCJwb25kSGFuZGxlQWRkRmlsZSgkZXZlbnQpXCJcclxuLz5cclxuIl19
@@ -36,7 +36,13 @@ class UiUploadOrderComponent {
36
36
  acceptedFileTypes: ['image/*'],
37
37
  instantUpload: true,
38
38
  dropValidation: true,
39
- iconRemove: '<img src="assets/icons/delete_forever.svg" alt="SVG Icon">',
39
+ iconRemove: `<svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg">
40
+ <mask id="mask0_37067_34146" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="15" height="16">
41
+ <rect x="0.130859" y="0.631592" width="14.7368" height="14.7368" fill="#D9D9D9"/>
42
+ </mask>
43
+ <g mask="url(#mask0_37067_34146)">
44
+ <path d="M4.43 13.5263C4.09228 13.5263 3.80317 13.406 3.56267 13.1655C3.32217 12.925 3.20193 12.6359 3.20193 12.2982V4.31574C3.02795 4.31574 2.88212 4.25689 2.76443 4.1392C2.64674 4.02151 2.58789 3.87568 2.58789 3.7017C2.58789 3.52773 2.64674 3.38189 2.76443 3.2642C2.88212 3.14651 3.02795 3.08767 3.20193 3.08767H5.65807C5.65807 2.91369 5.71691 2.76786 5.8346 2.65017C5.95229 2.53248 6.09812 2.47363 6.2721 2.47363H8.72824C8.90222 2.47363 9.04805 2.53248 9.16574 2.65017C9.28343 2.76786 9.34228 2.91369 9.34228 3.08767H11.7984C11.9724 3.08767 12.1182 3.14651 12.2359 3.2642C12.3536 3.38189 12.4125 3.52773 12.4125 3.7017C12.4125 3.87568 12.3536 4.02151 12.2359 4.1392C12.1182 4.25689 11.9724 4.31574 11.7984 4.31574V12.2982C11.7984 12.6359 11.6782 12.925 11.4377 13.1655C11.1972 13.406 10.9081 13.5263 10.5703 13.5263H4.43ZM4.43 4.31574V12.2982H10.5703V4.31574H4.43ZM7.50017 9.16662L8.66684 10.3333C8.78965 10.4459 8.93548 10.5021 9.10434 10.5021C9.2732 10.5021 9.41391 10.4459 9.52649 10.3333C9.64929 10.2105 9.7107 10.0646 9.7107 9.89578C9.7107 9.72692 9.64929 9.58621 9.52649 9.47363L8.35982 8.30697L9.52649 7.1403C9.64929 7.01749 9.7107 6.87166 9.7107 6.7028C9.7107 6.53394 9.64929 6.39322 9.52649 6.28065C9.41391 6.15784 9.2732 6.09644 9.10434 6.09644C8.93548 6.09644 8.78965 6.15784 8.66684 6.28065L7.50017 7.44732L6.3335 6.28065C6.22093 6.15784 6.08022 6.09644 5.91136 6.09644C5.7425 6.09644 5.59666 6.15784 5.47386 6.28065C5.36128 6.39322 5.305 6.53394 5.305 6.7028C5.305 6.87166 5.36128 7.01749 5.47386 7.1403L6.64052 8.30697L5.47386 9.47363C5.36128 9.58621 5.305 9.72692 5.305 9.89578C5.305 10.0646 5.36128 10.2105 5.47386 10.3333C5.59666 10.4459 5.7425 10.5021 5.91136 10.5021C6.08022 10.5021 6.22093 10.4459 6.3335 10.3333L7.50017 9.16662Z" fill="white"/>
45
+ </g></svg>`,
40
46
  styleButtonRemoveItemPosition: 'right',
41
47
  imageResizeMode: 'contain',
42
48
  styleItemPanelAspectRatio: '0.75',
@@ -57,6 +63,8 @@ class UiUploadOrderComponent {
57
63
  },
58
64
  },
59
65
  };
66
+ }
67
+ ngOnChanges() {
60
68
  if (this.initialFiles) {
61
69
  this.pondFiles = this.initialFiles.map((item) => {
62
70
  return {
@@ -72,7 +80,8 @@ class UiUploadOrderComponent {
72
80
  this.onInit.emit(this.pondFiles);
73
81
  }
74
82
  pondHandleAddFile(event) {
75
- this.onAdded.emit(event.file);
83
+ let formattedName = event.file.serverId.replace(/["\[\]]/g, '');
84
+ this.onAdded.emit(formattedName);
76
85
  }
77
86
  pondHandleActivateFile(event) {
78
87
  this.onActivate.emit(event.file);
@@ -82,11 +91,26 @@ class UiUploadOrderComponent {
82
91
  this.fillAlbum(event.items);
83
92
  }
84
93
  pondHandleRemove(event) {
85
- this.onRemove.emit(event.file);
94
+ let fileName;
95
+ if (event.file.source instanceof File) {
96
+ fileName = event.file.serverId.replace(/["\[\]]/g, '');
97
+ }
98
+ else {
99
+ fileName = event.file.filename;
100
+ }
101
+ this.onRemove.emit(fileName);
86
102
  }
87
103
  onReorderFiles(event) {
88
104
  this.fillAlbum(event.items, true);
89
- this.onReOrder.emit(event.items);
105
+ let itemsList = event.items.map((item) => {
106
+ if (item.source instanceof File) {
107
+ return item.serverId.replace(/["\[\]]/g, '');
108
+ }
109
+ else {
110
+ return item.filename;
111
+ }
112
+ });
113
+ this.onReOrder.emit(itemsList);
90
114
  }
91
115
  warning(event) {
92
116
  if (event.error.code == 0) {
@@ -131,10 +155,10 @@ class UiUploadOrderComponent {
131
155
  }
132
156
  }
133
157
  UiUploadOrderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiUploadOrderComponent, deps: [{ token: i1.Lightbox }], target: i0.ɵɵFactoryTarget.Component });
134
- UiUploadOrderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiUploadOrderComponent, selector: "ui-upload-order", inputs: { url: "url", initialFiles: "initialFiles", multiple: "multiple", maxFiles: "maxFiles" }, outputs: { onRemove: "onRemove", onAdded: "onAdded", onActivate: "onActivate", onInit: "onInit", onMaxReached: "onMaxReached", onReOrder: "onReOrder" }, viewQueries: [{ propertyName: "myPond", first: true, predicate: ["myPond"], descendants: true }], ngImport: i0, template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"], dependencies: [{ kind: "component", type: i2.FilePondComponent, selector: "file-pond", inputs: ["options", "files"], outputs: ["oninit", "onwarning", "onerror", "oninitfile", "onactivatefile", "onaddfilestart", "onaddfileprogress", "onaddfile", "onprocessfilestart", "onprocessfileprogress", "onprocessfileabort", "onprocessfilerevert", "onprocessfile", "onprocessfiles", "onremovefile", "onpreparefile", "onupdatefiles", "onreorderfiles"] }] });
158
+ UiUploadOrderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiUploadOrderComponent, selector: "ui-upload-order", inputs: { url: "url", initialFiles: "initialFiles", multiple: "multiple", maxFiles: "maxFiles" }, outputs: { onRemove: "onRemove", onAdded: "onAdded", onActivate: "onActivate", onInit: "onInit", onMaxReached: "onMaxReached", onReOrder: "onReOrder" }, viewQueries: [{ propertyName: "myPond", first: true, predicate: ["myPond"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"], dependencies: [{ kind: "component", type: i2.FilePondComponent, selector: "file-pond", inputs: ["options", "files"], outputs: ["oninit", "onwarning", "onerror", "oninitfile", "onactivatefile", "onaddfilestart", "onaddfileprogress", "onaddfile", "onprocessfilestart", "onprocessfileprogress", "onprocessfileabort", "onprocessfilerevert", "onprocessfile", "onprocessfiles", "onremovefile", "onpreparefile", "onupdatefiles", "onreorderfiles"] }] });
135
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiUploadOrderComponent, decorators: [{
136
160
  type: Component,
137
- args: [{ selector: 'ui-upload-order', template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"] }]
161
+ args: [{ selector: 'ui-upload-order', template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"] }]
138
162
  }], ctorParameters: function () { return [{ type: i1.Lightbox }]; }, propDecorators: { url: [{
139
163
  type: Input
140
164
  }], initialFiles: [{
@@ -1 +1 @@
1
- {"version":3,"file":"uitec-ng-upload-order.mjs","sources":["../../../projects/ui-upload-order/src/lib/ui-upload-order.component.ts","../../../projects/ui-upload-order/src/lib/ui-upload-order.component.html","../../../projects/ui-upload-order/src/lib/ui-upload-order.module.ts","../../../projects/ui-upload-order/src/public-api.ts","../../../projects/ui-upload-order/src/uitec-ng-upload-order.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { FilePondComponent, } from \"ngx-filepond\";\r\nimport { FilePondCallbackProps, FilePondFile, FilePondOptions } from \"filepond\";\r\nimport { IAlbum, Lightbox } from 'ngx-lightbox';\r\n\r\n@Component({\r\n selector: 'ui-upload-order',\r\n templateUrl: './ui-upload-order.component.html',\r\n styleUrls: ['./ui-upload-order.component.scss']\r\n})\r\nexport class UiUploadOrderComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() initialFiles: string[];\r\n @Input() multiple: boolean = true;\r\n @Input() maxFiles: number = 6;\r\n\r\n @Output() onRemove = new EventEmitter<FilePondFile>();\r\n @Output() onAdded = new EventEmitter<FilePondFile>();\r\n @Output() onActivate = new EventEmitter<FilePondFile>();\r\n @Output() onInit = new EventEmitter<FilePondOptions[\"files\"]>();\r\n @Output() onMaxReached = new EventEmitter<string>();\r\n @Output() onReOrder = new EventEmitter<FilePondFile[]>();\r\n\r\n @ViewChild(\"myPond\") myPond: FilePondComponent;\r\n\r\n constructor(private _lightbox: Lightbox) { }\r\n\r\n public pondOptions: FilePondOptions;\r\n public pondFiles: FilePondOptions[\"files\"] = [];\r\n public album: IAlbum[] = [];\r\n\r\n ngOnInit(): void {\r\n this.pondOptions = {\r\n allowMultiple: this.multiple,\r\n labelIdle: 'Arraste seus arquivos<br>ou<br><span class=\"filepond--label-action\">Clique aqui</span> para selecionar',\r\n allowReorder: true,\r\n maxFiles: this.maxFiles,\r\n acceptedFileTypes: ['image/*'],\r\n instantUpload: true,\r\n dropValidation: true,\r\n iconRemove: '<img src=\"assets/icons/delete_forever.svg\" alt=\"SVG Icon\">',\r\n styleButtonRemoveItemPosition: 'right',\r\n imageResizeMode: 'contain',\r\n styleItemPanelAspectRatio: '0.75',\r\n itemInsertLocation: 'after',\r\n server: {\r\n process: {\r\n url: this.url\r\n },\r\n load: (source, load, error, progress, abort, headers) => {\r\n var myRequest = new Request(source);\r\n fetch(myRequest).then(response => {\r\n response.blob().then(myBlob => {\r\n load(myBlob)\r\n });\r\n }).catch(error => {\r\n console.log('ERROR: ', error)\r\n });\r\n },\r\n },\r\n\r\n };\r\n\r\n if (this.initialFiles) {\r\n this.pondFiles = this.initialFiles.map((item: string) => {\r\n return {\r\n source: item,\r\n options: {\r\n type: 'local',\r\n },\r\n };\r\n });\r\n }\r\n }\r\n\r\n pondHandleInit() {\r\n this.onInit.emit(this.pondFiles)\r\n }\r\n\r\n pondHandleAddFile(event: any) {\r\n this.onAdded.emit(event.file)\r\n }\r\n\r\n pondHandleActivateFile(event: any) {\r\n this.onActivate.emit(event.file)\r\n this.openLightBox(event.file.filenameWithoutExtension)\r\n\r\n }\r\n\r\n pondHandleUpdate(event: any) {\r\n this.fillAlbum(event.items)\r\n\r\n }\r\n\r\n pondHandleRemove(event: any) {\r\n this.onRemove.emit(event.file)\r\n }\r\n\r\n onReorderFiles(event: any) {\r\n this.fillAlbum(event.items, true)\r\n this.onReOrder.emit(event.items)\r\n }\r\n\r\n warning(event: any) {\r\n if (event.error.code == 0) {\r\n this.onMaxReached.emit(`Limite de Arquivos atingido. Você pode inserir um total de ${this.maxFiles} arquivos.`)\r\n }\r\n }\r\n\r\n openLightBox(fileName: string): void {\r\n let index = this.album.map(function (e) { return e.caption; }).indexOf(fileName);\r\n this._lightbox.open(this.album, index);\r\n }\r\n\r\n\r\n async fillAlbum(files: [], reOrder?: boolean) {\r\n if (files.length !== this.album.length || reOrder) {\r\n\r\n const preAlbum = await Promise.all(files.map(async (file: FilePondFile) => {\r\n let fileUrl: string;\r\n\r\n if (file.source instanceof File) {\r\n fileUrl = await this.readFileAsync(file.source);\r\n } else {\r\n fileUrl = file.source.toString();\r\n }\r\n\r\n return {\r\n src: fileUrl,\r\n caption: file.filenameWithoutExtension,\r\n thumb: ''\r\n };\r\n }));\r\n\r\n this.album = preAlbum;\r\n }\r\n }\r\n\r\n readFileAsync(file: File): Promise<string> {\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n const dataUrl = reader.result;\r\n const fileUrl = dataUrl.toString();\r\n resolve(fileUrl);\r\n };\r\n });\r\n }\r\n}\r\n","<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { UiUploadOrderComponent } from './ui-upload-order.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\n\r\n// import filepond module\r\nimport { FilePondModule, registerPlugin } from \"ngx-filepond\";\r\n\r\n// import and register filepond plugins\r\nimport FilePondPluginFileValidateType from \"filepond-plugin-file-validate-type\";\r\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\r\nimport FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation';\r\nimport FilePondPluginFileValidateSize from 'filepond-plugin-file-validate-size';\r\nimport FilePondPluginImageCrop from 'filepond-plugin-image-crop';\r\nimport FilePondPluginImageResize from 'filepond-plugin-image-resize';\r\n\r\nregisterPlugin(\r\n FilePondPluginFileValidateType,\r\n FilePondPluginImagePreview,\r\n FilePondPluginImageExifOrientation,\r\n FilePondPluginFileValidateSize,\r\n FilePondPluginImageCrop,\r\n FilePondPluginImageResize\r\n);\r\n\r\n@NgModule({\r\n declarations: [\r\n UiUploadOrderComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FilePondModule,\r\n LightboxModule\r\n ],\r\n exports: [\r\n UiUploadOrderComponent\r\n ]\r\n})\r\nexport class UiUploadOrderModule { }\r\n","/*\r\n * Public API Surface of ui-upload-order\r\n */\r\n\r\nexport * from './lib/ui-upload-order.component';\r\nexport * from './lib/ui-upload-order.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uitec-ng-upload-order.mjs","sources":["../../../projects/ui-upload-order/src/lib/ui-upload-order.component.ts","../../../projects/ui-upload-order/src/lib/ui-upload-order.component.html","../../../projects/ui-upload-order/src/lib/ui-upload-order.module.ts","../../../projects/ui-upload-order/src/public-api.ts","../../../projects/ui-upload-order/src/uitec-ng-upload-order.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { FilePondComponent, } from \"ngx-filepond\";\r\nimport { FilePondFile, FilePondOptions } from \"filepond\";\r\nimport { IAlbum, Lightbox } from 'ngx-lightbox';\r\n\r\n@Component({\r\n selector: 'ui-upload-order',\r\n templateUrl: './ui-upload-order.component.html',\r\n styleUrls: ['./ui-upload-order.component.scss']\r\n})\r\nexport class UiUploadOrderComponent implements OnInit, OnChanges {\r\n @Input() url: string;\r\n @Input() initialFiles: string[];\r\n @Input() multiple: boolean = true;\r\n @Input() maxFiles: number = 6;\r\n\r\n @Output() onRemove = new EventEmitter<string>();\r\n @Output() onAdded = new EventEmitter<string>();\r\n @Output() onActivate = new EventEmitter<FilePondFile>();\r\n @Output() onInit = new EventEmitter<FilePondOptions[\"files\"]>();\r\n @Output() onMaxReached = new EventEmitter<string>();\r\n @Output() onReOrder = new EventEmitter<FilePondFile[]>();\r\n\r\n @ViewChild(\"myPond\") myPond: FilePondComponent;\r\n\r\n constructor(private _lightbox: Lightbox) { }\r\n\r\n public pondOptions: FilePondOptions;\r\n public pondFiles: FilePondOptions[\"files\"] = [];\r\n public album: IAlbum[] = [];\r\n\r\n ngOnInit(): void {\r\n this.pondOptions = {\r\n allowMultiple: this.multiple,\r\n labelIdle: 'Arraste seus arquivos<br>ou<br><span class=\"filepond--label-action\">Clique aqui</span> para selecionar',\r\n allowReorder: true,\r\n maxFiles: this.maxFiles,\r\n acceptedFileTypes: ['image/*'],\r\n instantUpload: true,\r\n dropValidation: true,\r\n iconRemove: `<svg width=\"15\" height=\"16\" viewBox=\"0 0 15 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <mask id=\"mask0_37067_34146\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"15\" height=\"16\">\r\n <rect x=\"0.130859\" y=\"0.631592\" width=\"14.7368\" height=\"14.7368\" fill=\"#D9D9D9\"/>\r\n </mask>\r\n <g mask=\"url(#mask0_37067_34146)\">\r\n <path d=\"M4.43 13.5263C4.09228 13.5263 3.80317 13.406 3.56267 13.1655C3.32217 12.925 3.20193 12.6359 3.20193 12.2982V4.31574C3.02795 4.31574 2.88212 4.25689 2.76443 4.1392C2.64674 4.02151 2.58789 3.87568 2.58789 3.7017C2.58789 3.52773 2.64674 3.38189 2.76443 3.2642C2.88212 3.14651 3.02795 3.08767 3.20193 3.08767H5.65807C5.65807 2.91369 5.71691 2.76786 5.8346 2.65017C5.95229 2.53248 6.09812 2.47363 6.2721 2.47363H8.72824C8.90222 2.47363 9.04805 2.53248 9.16574 2.65017C9.28343 2.76786 9.34228 2.91369 9.34228 3.08767H11.7984C11.9724 3.08767 12.1182 3.14651 12.2359 3.2642C12.3536 3.38189 12.4125 3.52773 12.4125 3.7017C12.4125 3.87568 12.3536 4.02151 12.2359 4.1392C12.1182 4.25689 11.9724 4.31574 11.7984 4.31574V12.2982C11.7984 12.6359 11.6782 12.925 11.4377 13.1655C11.1972 13.406 10.9081 13.5263 10.5703 13.5263H4.43ZM4.43 4.31574V12.2982H10.5703V4.31574H4.43ZM7.50017 9.16662L8.66684 10.3333C8.78965 10.4459 8.93548 10.5021 9.10434 10.5021C9.2732 10.5021 9.41391 10.4459 9.52649 10.3333C9.64929 10.2105 9.7107 10.0646 9.7107 9.89578C9.7107 9.72692 9.64929 9.58621 9.52649 9.47363L8.35982 8.30697L9.52649 7.1403C9.64929 7.01749 9.7107 6.87166 9.7107 6.7028C9.7107 6.53394 9.64929 6.39322 9.52649 6.28065C9.41391 6.15784 9.2732 6.09644 9.10434 6.09644C8.93548 6.09644 8.78965 6.15784 8.66684 6.28065L7.50017 7.44732L6.3335 6.28065C6.22093 6.15784 6.08022 6.09644 5.91136 6.09644C5.7425 6.09644 5.59666 6.15784 5.47386 6.28065C5.36128 6.39322 5.305 6.53394 5.305 6.7028C5.305 6.87166 5.36128 7.01749 5.47386 7.1403L6.64052 8.30697L5.47386 9.47363C5.36128 9.58621 5.305 9.72692 5.305 9.89578C5.305 10.0646 5.36128 10.2105 5.47386 10.3333C5.59666 10.4459 5.7425 10.5021 5.91136 10.5021C6.08022 10.5021 6.22093 10.4459 6.3335 10.3333L7.50017 9.16662Z\" fill=\"white\"/>\r\n </g></svg>`,\r\n styleButtonRemoveItemPosition: 'right',\r\n imageResizeMode: 'contain',\r\n styleItemPanelAspectRatio: '0.75',\r\n itemInsertLocation: 'after',\r\n server: {\r\n process: {\r\n url: this.url\r\n },\r\n load: (source, load, error, progress, abort, headers) => {\r\n var myRequest = new Request(source);\r\n fetch(myRequest).then(response => {\r\n response.blob().then(myBlob => {\r\n load(myBlob)\r\n });\r\n }).catch(error => {\r\n console.log('ERROR: ', error)\r\n });\r\n },\r\n },\r\n\r\n };\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.initialFiles) {\r\n this.pondFiles = this.initialFiles.map((item: string) => {\r\n return {\r\n source: item,\r\n options: {\r\n type: 'local',\r\n },\r\n };\r\n });\r\n }\r\n }\r\n\r\n pondHandleInit() {\r\n this.onInit.emit(this.pondFiles)\r\n }\r\n\r\n pondHandleAddFile(event: any) {\r\n let formattedName = event.file.serverId.replace(/[\"\\[\\]]/g, '');\r\n this.onAdded.emit(formattedName)\r\n }\r\n pondHandleActivateFile(event: any) {\r\n this.onActivate.emit(event.file)\r\n this.openLightBox(event.file.filenameWithoutExtension)\r\n }\r\n\r\n pondHandleUpdate(event: any) {\r\n this.fillAlbum(event.items)\r\n }\r\n\r\n pondHandleRemove(event: any) {\r\n let fileName: string;\r\n if (event.file.source instanceof File) {\r\n fileName = event.file.serverId.replace(/[\"\\[\\]]/g, '');\r\n } else {\r\n fileName = event.file.filename;\r\n }\r\n\r\n this.onRemove.emit(fileName)\r\n }\r\n\r\n onReorderFiles(event: any) {\r\n this.fillAlbum(event.items, true)\r\n let itemsList = event.items.map((item: FilePondFile) => {\r\n if (item.source instanceof File) {\r\n return item.serverId.replace(/[\"\\[\\]]/g, '');\r\n } else {\r\n return item.filename\r\n }\r\n })\r\n this.onReOrder.emit(itemsList)\r\n }\r\n\r\n warning(event: any) {\r\n if (event.error.code == 0) {\r\n this.onMaxReached.emit(`Limite de Arquivos atingido. Você pode inserir um total de ${this.maxFiles} arquivos.`)\r\n }\r\n }\r\n\r\n openLightBox(fileName: string): void {\r\n let index = this.album.map(function (e) { return e.caption; }).indexOf(fileName);\r\n this._lightbox.open(this.album, index);\r\n }\r\n\r\n\r\n async fillAlbum(files: [], reOrder?: boolean) {\r\n if (files.length !== this.album.length || reOrder) {\r\n\r\n const preAlbum = await Promise.all(files.map(async (file: FilePondFile) => {\r\n let fileUrl: string;\r\n\r\n if (file.source instanceof File) {\r\n fileUrl = await this.readFileAsync(file.source);\r\n } else {\r\n fileUrl = file.source.toString();\r\n }\r\n\r\n return {\r\n src: fileUrl,\r\n caption: file.filenameWithoutExtension,\r\n thumb: ''\r\n };\r\n }));\r\n\r\n this.album = preAlbum;\r\n }\r\n }\r\n\r\n readFileAsync(file: File): Promise<string> {\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n const dataUrl = reader.result;\r\n const fileUrl = dataUrl.toString();\r\n resolve(fileUrl);\r\n };\r\n });\r\n }\r\n}\r\n","<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { UiUploadOrderComponent } from './ui-upload-order.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\n\r\n// import filepond module\r\nimport { FilePondModule, registerPlugin } from \"ngx-filepond\";\r\n\r\n// import and register filepond plugins\r\nimport FilePondPluginFileValidateType from \"filepond-plugin-file-validate-type\";\r\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\r\nimport FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation';\r\nimport FilePondPluginFileValidateSize from 'filepond-plugin-file-validate-size';\r\nimport FilePondPluginImageCrop from 'filepond-plugin-image-crop';\r\nimport FilePondPluginImageResize from 'filepond-plugin-image-resize';\r\n\r\nregisterPlugin(\r\n FilePondPluginFileValidateType,\r\n FilePondPluginImagePreview,\r\n FilePondPluginImageExifOrientation,\r\n FilePondPluginFileValidateSize,\r\n FilePondPluginImageCrop,\r\n FilePondPluginImageResize\r\n);\r\n\r\n@NgModule({\r\n declarations: [\r\n UiUploadOrderComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FilePondModule,\r\n LightboxModule\r\n ],\r\n exports: [\r\n UiUploadOrderComponent\r\n ]\r\n})\r\nexport class UiUploadOrderModule { }\r\n","/*\r\n * Public API Surface of ui-upload-order\r\n */\r\n\r\nexport * from './lib/ui-upload-order.component';\r\nexport * from './lib/ui-upload-order.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAUa,sBAAsB,CAAA;AAe/B,IAAA,WAAA,CAAoB,SAAmB,EAAA;AAAnB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AAZ9B,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;AAEpB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;AACtC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAU,CAAC;AACrC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAgB,CAAC;AAC9C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA4B,CAAC;AACtD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;AAC1C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAkB,CAAC;AAOlD,QAAA,IAAS,CAAA,SAAA,GAA6B,EAAE,CAAC;AACzC,QAAA,IAAK,CAAA,KAAA,GAAa,EAAE,CAAC;KAJgB;IAM5C,QAAQ,GAAA;QACJ,IAAI,CAAC,WAAW,GAAG;YACf,aAAa,EAAE,IAAI,CAAC,QAAQ;AAC5B,YAAA,SAAS,EAAE,wGAAwG;AACnH,YAAA,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,CAAC,SAAS,CAAC;AAC9B,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,UAAU,EAAE,CAAA;;;;;;AAMD,sBAAA,CAAA;AACX,YAAA,6BAA6B,EAAE,OAAO;AACtC,YAAA,eAAe,EAAE,SAAS;AAC1B,YAAA,yBAAyB,EAAE,MAAM;AACjC,YAAA,kBAAkB,EAAE,OAAO;AAC3B,YAAA,MAAM,EAAE;AACJ,gBAAA,OAAO,EAAE;oBACL,GAAG,EAAE,IAAI,CAAC,GAAG;AAChB,iBAAA;AACD,gBAAA,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,KAAI;AACpD,oBAAA,IAAI,SAAS,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;oBACpC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAG;wBAC7B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAG;4BAC1B,IAAI,CAAC,MAAM,CAAC,CAAA;AAChB,yBAAC,CAAC,CAAC;AACP,qBAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAG;AACb,wBAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;AACjC,qBAAC,CAAC,CAAC;iBACN;AACJ,aAAA;SAEJ,CAAC;KACL;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAY,KAAI;gBACpD,OAAO;AACH,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,OAAO,EAAE;AACL,wBAAA,IAAI,EAAE,OAAO;AAChB,qBAAA;iBACJ,CAAC;AACN,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAED,cAAc,GAAA;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACnC;AAED,IAAA,iBAAiB,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACnC;AACD,IAAA,sBAAsB,CAAC,KAAU,EAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;KACzD;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAC9B;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,QAAgB,CAAC;AACrB,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,YAAY,IAAI,EAAE;AACnC,YAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC1D,SAAA;AAAM,aAAA;AACH,YAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClC,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KAC/B;AAED,IAAA,cAAc,CAAC,KAAU,EAAA;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACjC,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAkB,KAAI;AACnD,YAAA,IAAI,IAAI,CAAC,MAAM,YAAY,IAAI,EAAE;gBAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAChD,aAAA;AAAM,iBAAA;gBACH,OAAO,IAAI,CAAC,QAAQ,CAAA;AACvB,aAAA;AACL,SAAC,CAAC,CAAA;AACF,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACjC;AAED,IAAA,OAAO,CAAC,KAAU,EAAA;AACd,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAA8D,2DAAA,EAAA,IAAI,CAAC,QAAQ,CAAY,UAAA,CAAA,CAAC,CAAA;AAClH,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,QAAgB,EAAA;QACzB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAI,EAAA,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC1C;IAGK,SAAS,CAAC,KAAS,EAAE,OAAiB,EAAA;;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,EAAE;AAE/C,gBAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,IAAkB,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACtE,oBAAA,IAAI,OAAe,CAAC;AAEpB,oBAAA,IAAI,IAAI,CAAC,MAAM,YAAY,IAAI,EAAE;wBAC7B,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnD,qBAAA;AAAM,yBAAA;AACH,wBAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpC,qBAAA;oBAED,OAAO;AACH,wBAAA,GAAG,EAAE,OAAO;wBACZ,OAAO,EAAE,IAAI,CAAC,wBAAwB;AACtC,wBAAA,KAAK,EAAE,EAAE;qBACZ,CAAC;iBACL,CAAA,CAAC,CAAC,CAAC;AAEJ,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AACzB,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,aAAa,CAAC,IAAU,EAAA;AACpB,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3B,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC3B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AACjB,gBAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,gBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrB,aAAC,CAAC;AACN,SAAC,CAAC,CAAC;KACN;;oHA9JQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yaCVnC,qeAcA,EAAA,MAAA,EAAA,CAAA,+kBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACI,iBAAiB,EAAA,QAAA,EAAA,qeAAA,EAAA,MAAA,EAAA,CAAA,+kBAAA,CAAA,EAAA,CAAA;+FAKlB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBAEc,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;;;AEPvB,cAAc,CACV,8BAA8B,EAC9B,0BAA0B,EAC1B,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,CAC5B,CAAC;MAeW,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAXxB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAGtB,YAAY;QACZ,cAAc;QACd,cAAc,aAGd,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGjB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YARxB,YAAY;QACZ,cAAc;QACd,cAAc,CAAA,EAAA,CAAA,CAAA;4FAMT,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,sBAAsB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,cAAc;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,sBAAsB;AACzB,qBAAA;iBACJ,CAAA;;;ACrCD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -35,7 +35,13 @@ class UiUploadOrderComponent {
35
35
  acceptedFileTypes: ['image/*'],
36
36
  instantUpload: true,
37
37
  dropValidation: true,
38
- iconRemove: '<img src="assets/icons/delete_forever.svg" alt="SVG Icon">',
38
+ iconRemove: `<svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg">
39
+ <mask id="mask0_37067_34146" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="15" height="16">
40
+ <rect x="0.130859" y="0.631592" width="14.7368" height="14.7368" fill="#D9D9D9"/>
41
+ </mask>
42
+ <g mask="url(#mask0_37067_34146)">
43
+ <path d="M4.43 13.5263C4.09228 13.5263 3.80317 13.406 3.56267 13.1655C3.32217 12.925 3.20193 12.6359 3.20193 12.2982V4.31574C3.02795 4.31574 2.88212 4.25689 2.76443 4.1392C2.64674 4.02151 2.58789 3.87568 2.58789 3.7017C2.58789 3.52773 2.64674 3.38189 2.76443 3.2642C2.88212 3.14651 3.02795 3.08767 3.20193 3.08767H5.65807C5.65807 2.91369 5.71691 2.76786 5.8346 2.65017C5.95229 2.53248 6.09812 2.47363 6.2721 2.47363H8.72824C8.90222 2.47363 9.04805 2.53248 9.16574 2.65017C9.28343 2.76786 9.34228 2.91369 9.34228 3.08767H11.7984C11.9724 3.08767 12.1182 3.14651 12.2359 3.2642C12.3536 3.38189 12.4125 3.52773 12.4125 3.7017C12.4125 3.87568 12.3536 4.02151 12.2359 4.1392C12.1182 4.25689 11.9724 4.31574 11.7984 4.31574V12.2982C11.7984 12.6359 11.6782 12.925 11.4377 13.1655C11.1972 13.406 10.9081 13.5263 10.5703 13.5263H4.43ZM4.43 4.31574V12.2982H10.5703V4.31574H4.43ZM7.50017 9.16662L8.66684 10.3333C8.78965 10.4459 8.93548 10.5021 9.10434 10.5021C9.2732 10.5021 9.41391 10.4459 9.52649 10.3333C9.64929 10.2105 9.7107 10.0646 9.7107 9.89578C9.7107 9.72692 9.64929 9.58621 9.52649 9.47363L8.35982 8.30697L9.52649 7.1403C9.64929 7.01749 9.7107 6.87166 9.7107 6.7028C9.7107 6.53394 9.64929 6.39322 9.52649 6.28065C9.41391 6.15784 9.2732 6.09644 9.10434 6.09644C8.93548 6.09644 8.78965 6.15784 8.66684 6.28065L7.50017 7.44732L6.3335 6.28065C6.22093 6.15784 6.08022 6.09644 5.91136 6.09644C5.7425 6.09644 5.59666 6.15784 5.47386 6.28065C5.36128 6.39322 5.305 6.53394 5.305 6.7028C5.305 6.87166 5.36128 7.01749 5.47386 7.1403L6.64052 8.30697L5.47386 9.47363C5.36128 9.58621 5.305 9.72692 5.305 9.89578C5.305 10.0646 5.36128 10.2105 5.47386 10.3333C5.59666 10.4459 5.7425 10.5021 5.91136 10.5021C6.08022 10.5021 6.22093 10.4459 6.3335 10.3333L7.50017 9.16662Z" fill="white"/>
44
+ </g></svg>`,
39
45
  styleButtonRemoveItemPosition: 'right',
40
46
  imageResizeMode: 'contain',
41
47
  styleItemPanelAspectRatio: '0.75',
@@ -56,6 +62,8 @@ class UiUploadOrderComponent {
56
62
  },
57
63
  },
58
64
  };
65
+ }
66
+ ngOnChanges() {
59
67
  if (this.initialFiles) {
60
68
  this.pondFiles = this.initialFiles.map((item) => {
61
69
  return {
@@ -71,7 +79,8 @@ class UiUploadOrderComponent {
71
79
  this.onInit.emit(this.pondFiles);
72
80
  }
73
81
  pondHandleAddFile(event) {
74
- this.onAdded.emit(event.file);
82
+ let formattedName = event.file.serverId.replace(/["\[\]]/g, '');
83
+ this.onAdded.emit(formattedName);
75
84
  }
76
85
  pondHandleActivateFile(event) {
77
86
  this.onActivate.emit(event.file);
@@ -81,11 +90,26 @@ class UiUploadOrderComponent {
81
90
  this.fillAlbum(event.items);
82
91
  }
83
92
  pondHandleRemove(event) {
84
- this.onRemove.emit(event.file);
93
+ let fileName;
94
+ if (event.file.source instanceof File) {
95
+ fileName = event.file.serverId.replace(/["\[\]]/g, '');
96
+ }
97
+ else {
98
+ fileName = event.file.filename;
99
+ }
100
+ this.onRemove.emit(fileName);
85
101
  }
86
102
  onReorderFiles(event) {
87
103
  this.fillAlbum(event.items, true);
88
- this.onReOrder.emit(event.items);
104
+ let itemsList = event.items.map((item) => {
105
+ if (item.source instanceof File) {
106
+ return item.serverId.replace(/["\[\]]/g, '');
107
+ }
108
+ else {
109
+ return item.filename;
110
+ }
111
+ });
112
+ this.onReOrder.emit(itemsList);
89
113
  }
90
114
  warning(event) {
91
115
  if (event.error.code == 0) {
@@ -128,10 +152,10 @@ class UiUploadOrderComponent {
128
152
  }
129
153
  }
130
154
  UiUploadOrderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiUploadOrderComponent, deps: [{ token: i1.Lightbox }], target: i0.ɵɵFactoryTarget.Component });
131
- UiUploadOrderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiUploadOrderComponent, selector: "ui-upload-order", inputs: { url: "url", initialFiles: "initialFiles", multiple: "multiple", maxFiles: "maxFiles" }, outputs: { onRemove: "onRemove", onAdded: "onAdded", onActivate: "onActivate", onInit: "onInit", onMaxReached: "onMaxReached", onReOrder: "onReOrder" }, viewQueries: [{ propertyName: "myPond", first: true, predicate: ["myPond"], descendants: true }], ngImport: i0, template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"], dependencies: [{ kind: "component", type: i2.FilePondComponent, selector: "file-pond", inputs: ["options", "files"], outputs: ["oninit", "onwarning", "onerror", "oninitfile", "onactivatefile", "onaddfilestart", "onaddfileprogress", "onaddfile", "onprocessfilestart", "onprocessfileprogress", "onprocessfileabort", "onprocessfilerevert", "onprocessfile", "onprocessfiles", "onremovefile", "onpreparefile", "onupdatefiles", "onreorderfiles"] }] });
155
+ UiUploadOrderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiUploadOrderComponent, selector: "ui-upload-order", inputs: { url: "url", initialFiles: "initialFiles", multiple: "multiple", maxFiles: "maxFiles" }, outputs: { onRemove: "onRemove", onAdded: "onAdded", onActivate: "onActivate", onInit: "onInit", onMaxReached: "onMaxReached", onReOrder: "onReOrder" }, viewQueries: [{ propertyName: "myPond", first: true, predicate: ["myPond"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"], dependencies: [{ kind: "component", type: i2.FilePondComponent, selector: "file-pond", inputs: ["options", "files"], outputs: ["oninit", "onwarning", "onerror", "oninitfile", "onactivatefile", "onaddfilestart", "onaddfileprogress", "onaddfile", "onprocessfilestart", "onprocessfileprogress", "onprocessfileabort", "onprocessfilerevert", "onprocessfile", "onprocessfiles", "onremovefile", "onpreparefile", "onupdatefiles", "onreorderfiles"] }] });
132
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiUploadOrderComponent, decorators: [{
133
157
  type: Component,
134
- args: [{ selector: 'ui-upload-order', template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"] }]
158
+ args: [{ selector: 'ui-upload-order', template: "<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n", styles: [":host ::ng-deep .filepond--root .filepond--drop-label{height:128px}:host ::ng-deep .filepond--drop-label{color:#555}:host ::ng-deep .filepond--panel-root{background-color:#fff;border:1.5px solid rgba(173,181,189,.5019607843);border-style:dashed}:host ::ng-deep .filepond--image-preview-overlay{display:none}:host ::ng-deep .filepond--file-action-button{background-color:#f73264}:host ::ng-deep .filepond--list{margin-left:5%}@media (min-width: 30em){:host ::ng-deep .filepond--item{width:calc(40% - .5em)}}@media (min-width: 50em){:host ::ng-deep .filepond--item{width:calc(24% - .5em)}}\n"] }]
135
159
  }], ctorParameters: function () { return [{ type: i1.Lightbox }]; }, propDecorators: { url: [{
136
160
  type: Input
137
161
  }], initialFiles: [{
@@ -1 +1 @@
1
- {"version":3,"file":"uitec-ng-upload-order.mjs","sources":["../../../projects/ui-upload-order/src/lib/ui-upload-order.component.ts","../../../projects/ui-upload-order/src/lib/ui-upload-order.component.html","../../../projects/ui-upload-order/src/lib/ui-upload-order.module.ts","../../../projects/ui-upload-order/src/public-api.ts","../../../projects/ui-upload-order/src/uitec-ng-upload-order.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { FilePondComponent, } from \"ngx-filepond\";\r\nimport { FilePondCallbackProps, FilePondFile, FilePondOptions } from \"filepond\";\r\nimport { IAlbum, Lightbox } from 'ngx-lightbox';\r\n\r\n@Component({\r\n selector: 'ui-upload-order',\r\n templateUrl: './ui-upload-order.component.html',\r\n styleUrls: ['./ui-upload-order.component.scss']\r\n})\r\nexport class UiUploadOrderComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() initialFiles: string[];\r\n @Input() multiple: boolean = true;\r\n @Input() maxFiles: number = 6;\r\n\r\n @Output() onRemove = new EventEmitter<FilePondFile>();\r\n @Output() onAdded = new EventEmitter<FilePondFile>();\r\n @Output() onActivate = new EventEmitter<FilePondFile>();\r\n @Output() onInit = new EventEmitter<FilePondOptions[\"files\"]>();\r\n @Output() onMaxReached = new EventEmitter<string>();\r\n @Output() onReOrder = new EventEmitter<FilePondFile[]>();\r\n\r\n @ViewChild(\"myPond\") myPond: FilePondComponent;\r\n\r\n constructor(private _lightbox: Lightbox) { }\r\n\r\n public pondOptions: FilePondOptions;\r\n public pondFiles: FilePondOptions[\"files\"] = [];\r\n public album: IAlbum[] = [];\r\n\r\n ngOnInit(): void {\r\n this.pondOptions = {\r\n allowMultiple: this.multiple,\r\n labelIdle: 'Arraste seus arquivos<br>ou<br><span class=\"filepond--label-action\">Clique aqui</span> para selecionar',\r\n allowReorder: true,\r\n maxFiles: this.maxFiles,\r\n acceptedFileTypes: ['image/*'],\r\n instantUpload: true,\r\n dropValidation: true,\r\n iconRemove: '<img src=\"assets/icons/delete_forever.svg\" alt=\"SVG Icon\">',\r\n styleButtonRemoveItemPosition: 'right',\r\n imageResizeMode: 'contain',\r\n styleItemPanelAspectRatio: '0.75',\r\n itemInsertLocation: 'after',\r\n server: {\r\n process: {\r\n url: this.url\r\n },\r\n load: (source, load, error, progress, abort, headers) => {\r\n var myRequest = new Request(source);\r\n fetch(myRequest).then(response => {\r\n response.blob().then(myBlob => {\r\n load(myBlob)\r\n });\r\n }).catch(error => {\r\n console.log('ERROR: ', error)\r\n });\r\n },\r\n },\r\n\r\n };\r\n\r\n if (this.initialFiles) {\r\n this.pondFiles = this.initialFiles.map((item: string) => {\r\n return {\r\n source: item,\r\n options: {\r\n type: 'local',\r\n },\r\n };\r\n });\r\n }\r\n }\r\n\r\n pondHandleInit() {\r\n this.onInit.emit(this.pondFiles)\r\n }\r\n\r\n pondHandleAddFile(event: any) {\r\n this.onAdded.emit(event.file)\r\n }\r\n\r\n pondHandleActivateFile(event: any) {\r\n this.onActivate.emit(event.file)\r\n this.openLightBox(event.file.filenameWithoutExtension)\r\n\r\n }\r\n\r\n pondHandleUpdate(event: any) {\r\n this.fillAlbum(event.items)\r\n\r\n }\r\n\r\n pondHandleRemove(event: any) {\r\n this.onRemove.emit(event.file)\r\n }\r\n\r\n onReorderFiles(event: any) {\r\n this.fillAlbum(event.items, true)\r\n this.onReOrder.emit(event.items)\r\n }\r\n\r\n warning(event: any) {\r\n if (event.error.code == 0) {\r\n this.onMaxReached.emit(`Limite de Arquivos atingido. Você pode inserir um total de ${this.maxFiles} arquivos.`)\r\n }\r\n }\r\n\r\n openLightBox(fileName: string): void {\r\n let index = this.album.map(function (e) { return e.caption; }).indexOf(fileName);\r\n this._lightbox.open(this.album, index);\r\n }\r\n\r\n\r\n async fillAlbum(files: [], reOrder?: boolean) {\r\n if (files.length !== this.album.length || reOrder) {\r\n\r\n const preAlbum = await Promise.all(files.map(async (file: FilePondFile) => {\r\n let fileUrl: string;\r\n\r\n if (file.source instanceof File) {\r\n fileUrl = await this.readFileAsync(file.source);\r\n } else {\r\n fileUrl = file.source.toString();\r\n }\r\n\r\n return {\r\n src: fileUrl,\r\n caption: file.filenameWithoutExtension,\r\n thumb: ''\r\n };\r\n }));\r\n\r\n this.album = preAlbum;\r\n }\r\n }\r\n\r\n readFileAsync(file: File): Promise<string> {\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n const dataUrl = reader.result;\r\n const fileUrl = dataUrl.toString();\r\n resolve(fileUrl);\r\n };\r\n });\r\n }\r\n}\r\n","<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onaddfile)=\"pondHandleAddFile($event)\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { UiUploadOrderComponent } from './ui-upload-order.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\n\r\n// import filepond module\r\nimport { FilePondModule, registerPlugin } from \"ngx-filepond\";\r\n\r\n// import and register filepond plugins\r\nimport FilePondPluginFileValidateType from \"filepond-plugin-file-validate-type\";\r\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\r\nimport FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation';\r\nimport FilePondPluginFileValidateSize from 'filepond-plugin-file-validate-size';\r\nimport FilePondPluginImageCrop from 'filepond-plugin-image-crop';\r\nimport FilePondPluginImageResize from 'filepond-plugin-image-resize';\r\n\r\nregisterPlugin(\r\n FilePondPluginFileValidateType,\r\n FilePondPluginImagePreview,\r\n FilePondPluginImageExifOrientation,\r\n FilePondPluginFileValidateSize,\r\n FilePondPluginImageCrop,\r\n FilePondPluginImageResize\r\n);\r\n\r\n@NgModule({\r\n declarations: [\r\n UiUploadOrderComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FilePondModule,\r\n LightboxModule\r\n ],\r\n exports: [\r\n UiUploadOrderComponent\r\n ]\r\n})\r\nexport class UiUploadOrderModule { }\r\n","/*\r\n * Public API Surface of ui-upload-order\r\n */\r\n\r\nexport * from './lib/ui-upload-order.component';\r\nexport * from './lib/ui-upload-order.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uitec-ng-upload-order.mjs","sources":["../../../projects/ui-upload-order/src/lib/ui-upload-order.component.ts","../../../projects/ui-upload-order/src/lib/ui-upload-order.component.html","../../../projects/ui-upload-order/src/lib/ui-upload-order.module.ts","../../../projects/ui-upload-order/src/public-api.ts","../../../projects/ui-upload-order/src/uitec-ng-upload-order.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { FilePondComponent, } from \"ngx-filepond\";\r\nimport { FilePondFile, FilePondOptions } from \"filepond\";\r\nimport { IAlbum, Lightbox } from 'ngx-lightbox';\r\n\r\n@Component({\r\n selector: 'ui-upload-order',\r\n templateUrl: './ui-upload-order.component.html',\r\n styleUrls: ['./ui-upload-order.component.scss']\r\n})\r\nexport class UiUploadOrderComponent implements OnInit, OnChanges {\r\n @Input() url: string;\r\n @Input() initialFiles: string[];\r\n @Input() multiple: boolean = true;\r\n @Input() maxFiles: number = 6;\r\n\r\n @Output() onRemove = new EventEmitter<string>();\r\n @Output() onAdded = new EventEmitter<string>();\r\n @Output() onActivate = new EventEmitter<FilePondFile>();\r\n @Output() onInit = new EventEmitter<FilePondOptions[\"files\"]>();\r\n @Output() onMaxReached = new EventEmitter<string>();\r\n @Output() onReOrder = new EventEmitter<FilePondFile[]>();\r\n\r\n @ViewChild(\"myPond\") myPond: FilePondComponent;\r\n\r\n constructor(private _lightbox: Lightbox) { }\r\n\r\n public pondOptions: FilePondOptions;\r\n public pondFiles: FilePondOptions[\"files\"] = [];\r\n public album: IAlbum[] = [];\r\n\r\n ngOnInit(): void {\r\n this.pondOptions = {\r\n allowMultiple: this.multiple,\r\n labelIdle: 'Arraste seus arquivos<br>ou<br><span class=\"filepond--label-action\">Clique aqui</span> para selecionar',\r\n allowReorder: true,\r\n maxFiles: this.maxFiles,\r\n acceptedFileTypes: ['image/*'],\r\n instantUpload: true,\r\n dropValidation: true,\r\n iconRemove: `<svg width=\"15\" height=\"16\" viewBox=\"0 0 15 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <mask id=\"mask0_37067_34146\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"15\" height=\"16\">\r\n <rect x=\"0.130859\" y=\"0.631592\" width=\"14.7368\" height=\"14.7368\" fill=\"#D9D9D9\"/>\r\n </mask>\r\n <g mask=\"url(#mask0_37067_34146)\">\r\n <path d=\"M4.43 13.5263C4.09228 13.5263 3.80317 13.406 3.56267 13.1655C3.32217 12.925 3.20193 12.6359 3.20193 12.2982V4.31574C3.02795 4.31574 2.88212 4.25689 2.76443 4.1392C2.64674 4.02151 2.58789 3.87568 2.58789 3.7017C2.58789 3.52773 2.64674 3.38189 2.76443 3.2642C2.88212 3.14651 3.02795 3.08767 3.20193 3.08767H5.65807C5.65807 2.91369 5.71691 2.76786 5.8346 2.65017C5.95229 2.53248 6.09812 2.47363 6.2721 2.47363H8.72824C8.90222 2.47363 9.04805 2.53248 9.16574 2.65017C9.28343 2.76786 9.34228 2.91369 9.34228 3.08767H11.7984C11.9724 3.08767 12.1182 3.14651 12.2359 3.2642C12.3536 3.38189 12.4125 3.52773 12.4125 3.7017C12.4125 3.87568 12.3536 4.02151 12.2359 4.1392C12.1182 4.25689 11.9724 4.31574 11.7984 4.31574V12.2982C11.7984 12.6359 11.6782 12.925 11.4377 13.1655C11.1972 13.406 10.9081 13.5263 10.5703 13.5263H4.43ZM4.43 4.31574V12.2982H10.5703V4.31574H4.43ZM7.50017 9.16662L8.66684 10.3333C8.78965 10.4459 8.93548 10.5021 9.10434 10.5021C9.2732 10.5021 9.41391 10.4459 9.52649 10.3333C9.64929 10.2105 9.7107 10.0646 9.7107 9.89578C9.7107 9.72692 9.64929 9.58621 9.52649 9.47363L8.35982 8.30697L9.52649 7.1403C9.64929 7.01749 9.7107 6.87166 9.7107 6.7028C9.7107 6.53394 9.64929 6.39322 9.52649 6.28065C9.41391 6.15784 9.2732 6.09644 9.10434 6.09644C8.93548 6.09644 8.78965 6.15784 8.66684 6.28065L7.50017 7.44732L6.3335 6.28065C6.22093 6.15784 6.08022 6.09644 5.91136 6.09644C5.7425 6.09644 5.59666 6.15784 5.47386 6.28065C5.36128 6.39322 5.305 6.53394 5.305 6.7028C5.305 6.87166 5.36128 7.01749 5.47386 7.1403L6.64052 8.30697L5.47386 9.47363C5.36128 9.58621 5.305 9.72692 5.305 9.89578C5.305 10.0646 5.36128 10.2105 5.47386 10.3333C5.59666 10.4459 5.7425 10.5021 5.91136 10.5021C6.08022 10.5021 6.22093 10.4459 6.3335 10.3333L7.50017 9.16662Z\" fill=\"white\"/>\r\n </g></svg>`,\r\n styleButtonRemoveItemPosition: 'right',\r\n imageResizeMode: 'contain',\r\n styleItemPanelAspectRatio: '0.75',\r\n itemInsertLocation: 'after',\r\n server: {\r\n process: {\r\n url: this.url\r\n },\r\n load: (source, load, error, progress, abort, headers) => {\r\n var myRequest = new Request(source);\r\n fetch(myRequest).then(response => {\r\n response.blob().then(myBlob => {\r\n load(myBlob)\r\n });\r\n }).catch(error => {\r\n console.log('ERROR: ', error)\r\n });\r\n },\r\n },\r\n\r\n };\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.initialFiles) {\r\n this.pondFiles = this.initialFiles.map((item: string) => {\r\n return {\r\n source: item,\r\n options: {\r\n type: 'local',\r\n },\r\n };\r\n });\r\n }\r\n }\r\n\r\n pondHandleInit() {\r\n this.onInit.emit(this.pondFiles)\r\n }\r\n\r\n pondHandleAddFile(event: any) {\r\n let formattedName = event.file.serverId.replace(/[\"\\[\\]]/g, '');\r\n this.onAdded.emit(formattedName)\r\n }\r\n pondHandleActivateFile(event: any) {\r\n this.onActivate.emit(event.file)\r\n this.openLightBox(event.file.filenameWithoutExtension)\r\n }\r\n\r\n pondHandleUpdate(event: any) {\r\n this.fillAlbum(event.items)\r\n }\r\n\r\n pondHandleRemove(event: any) {\r\n let fileName: string;\r\n if (event.file.source instanceof File) {\r\n fileName = event.file.serverId.replace(/[\"\\[\\]]/g, '');\r\n } else {\r\n fileName = event.file.filename;\r\n }\r\n\r\n this.onRemove.emit(fileName)\r\n }\r\n\r\n onReorderFiles(event: any) {\r\n this.fillAlbum(event.items, true)\r\n let itemsList = event.items.map((item: FilePondFile) => {\r\n if (item.source instanceof File) {\r\n return item.serverId.replace(/[\"\\[\\]]/g, '');\r\n } else {\r\n return item.filename\r\n }\r\n })\r\n this.onReOrder.emit(itemsList)\r\n }\r\n\r\n warning(event: any) {\r\n if (event.error.code == 0) {\r\n this.onMaxReached.emit(`Limite de Arquivos atingido. Você pode inserir um total de ${this.maxFiles} arquivos.`)\r\n }\r\n }\r\n\r\n openLightBox(fileName: string): void {\r\n let index = this.album.map(function (e) { return e.caption; }).indexOf(fileName);\r\n this._lightbox.open(this.album, index);\r\n }\r\n\r\n\r\n async fillAlbum(files: [], reOrder?: boolean) {\r\n if (files.length !== this.album.length || reOrder) {\r\n\r\n const preAlbum = await Promise.all(files.map(async (file: FilePondFile) => {\r\n let fileUrl: string;\r\n\r\n if (file.source instanceof File) {\r\n fileUrl = await this.readFileAsync(file.source);\r\n } else {\r\n fileUrl = file.source.toString();\r\n }\r\n\r\n return {\r\n src: fileUrl,\r\n caption: file.filenameWithoutExtension,\r\n thumb: ''\r\n };\r\n }));\r\n\r\n this.album = preAlbum;\r\n }\r\n }\r\n\r\n readFileAsync(file: File): Promise<string> {\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n const dataUrl = reader.result;\r\n const fileUrl = dataUrl.toString();\r\n resolve(fileUrl);\r\n };\r\n });\r\n }\r\n}\r\n","<!-- app.component.html -->\r\n<file-pond\r\n #myPond\r\n name='UploadForm[imagem][]'\r\n [options]=\"pondOptions\"\r\n (oninit)=\"pondHandleInit()\"\r\n [files]=\"pondFiles\"\r\n (onupdatefiles)=\"pondHandleUpdate($event)\"\r\n (onactivatefile)=\"pondHandleActivateFile($event)\"\r\n (onremovefile)=\"pondHandleRemove($event)\"\r\n (onreorderfiles)=\"onReorderFiles($event)\"\r\n (onwarning)=\"warning($event)\"\r\n (onprocessfile)=\"pondHandleAddFile($event)\"\r\n/>\r\n","import { NgModule } from '@angular/core';\r\nimport { UiUploadOrderComponent } from './ui-upload-order.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LightboxModule } from 'ngx-lightbox';\r\n\r\n// import filepond module\r\nimport { FilePondModule, registerPlugin } from \"ngx-filepond\";\r\n\r\n// import and register filepond plugins\r\nimport FilePondPluginFileValidateType from \"filepond-plugin-file-validate-type\";\r\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\r\nimport FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation';\r\nimport FilePondPluginFileValidateSize from 'filepond-plugin-file-validate-size';\r\nimport FilePondPluginImageCrop from 'filepond-plugin-image-crop';\r\nimport FilePondPluginImageResize from 'filepond-plugin-image-resize';\r\n\r\nregisterPlugin(\r\n FilePondPluginFileValidateType,\r\n FilePondPluginImagePreview,\r\n FilePondPluginImageExifOrientation,\r\n FilePondPluginFileValidateSize,\r\n FilePondPluginImageCrop,\r\n FilePondPluginImageResize\r\n);\r\n\r\n@NgModule({\r\n declarations: [\r\n UiUploadOrderComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FilePondModule,\r\n LightboxModule\r\n ],\r\n exports: [\r\n UiUploadOrderComponent\r\n ]\r\n})\r\nexport class UiUploadOrderModule { }\r\n","/*\r\n * Public API Surface of ui-upload-order\r\n */\r\n\r\nexport * from './lib/ui-upload-order.component';\r\nexport * from './lib/ui-upload-order.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import { EventEmitter, OnInit } from "@angular/core";
1
+ import { EventEmitter, OnChanges, OnInit } from "@angular/core";
2
2
  import { FilePondComponent } from "ngx-filepond";
3
3
  import { FilePondFile, FilePondOptions } from "filepond";
4
4
  import { IAlbum, Lightbox } from 'ngx-lightbox';
5
5
  import * as i0 from "@angular/core";
6
- export declare class UiUploadOrderComponent implements OnInit {
6
+ export declare class UiUploadOrderComponent implements OnInit, OnChanges {
7
7
  private _lightbox;
8
8
  url: string;
9
9
  initialFiles: string[];
10
10
  multiple: boolean;
11
11
  maxFiles: number;
12
- onRemove: EventEmitter<FilePondFile>;
13
- onAdded: EventEmitter<FilePondFile>;
12
+ onRemove: EventEmitter<string>;
13
+ onAdded: EventEmitter<string>;
14
14
  onActivate: EventEmitter<FilePondFile>;
15
15
  onInit: EventEmitter<(string | Blob | import("filepond").ActualFileObject | import("filepond").FilePondInitialFile)[]>;
16
16
  onMaxReached: EventEmitter<string>;
@@ -21,6 +21,7 @@ export declare class UiUploadOrderComponent implements OnInit {
21
21
  pondFiles: FilePondOptions["files"];
22
22
  album: IAlbum[];
23
23
  ngOnInit(): void;
24
+ ngOnChanges(): void;
24
25
  pondHandleInit(): void;
25
26
  pondHandleAddFile(event: any): void;
26
27
  pondHandleActivateFile(event: any): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uitec-ng-upload-order",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"