@wizishop/angular-components 15.1.112 → 15.1.114

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.
@@ -20,9 +20,10 @@ export class MosaicComponent {
20
20
  return image.src;
21
21
  }
22
22
  ngOnChanges(changes) {
23
+ const imagesListChange = changes.imagesList;
23
24
  const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);
24
- if (changes.imagesList) {
25
- this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);
25
+ if (imagesListChange && imagesListChange.currentValue !== imagesListChange.previousValue) {
26
+ this.generateColumns(imagesListChange.previousValue, imagesListChange.currentValue, isNumberOfColumnChange);
26
27
  return;
27
28
  }
28
29
  if (isNumberOfColumnChange) {
@@ -42,19 +43,21 @@ export class MosaicComponent {
42
43
  this.columns = columns;
43
44
  }
44
45
  separateImagesIntoColumns(newImagesToDisplay) {
45
- const columns = [];
46
- const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);
47
- for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {
48
- const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);
49
- columns.push(chunk);
50
- }
46
+ const columns = Array.from({ length: this.numberOfColumn }, () => []);
47
+ newImagesToDisplay.forEach((image, index) => {
48
+ columns[index % this.numberOfColumn].push(image);
49
+ });
51
50
  return columns;
52
51
  }
53
52
  concatColumns(oldColumns, newColumns) {
54
- return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);
53
+ return oldColumns.map((oldColumn, columnIndex) => {
54
+ return [...oldColumn, ...newColumns[columnIndex]];
55
+ });
55
56
  }
56
57
  onBottomReached() {
57
- this.loadMoreImages.emit();
58
+ if (!this.isLoading) {
59
+ this.loadMoreImages.emit();
60
+ }
58
61
  }
59
62
  onImportImage(src) {
60
63
  this.importImageSrc.emit(src);
@@ -78,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
78
81
  }], loadMoreImages: [{
79
82
  type: Output
80
83
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9zYWljL21vc2FpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vc2FpYy9tb3NhaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBOEIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFrQnhKLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBUVcsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUlsQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFakQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBNERyRDtJQXhEQyxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLEtBQWtCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxD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cG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBJbWFnZVNvdXJjZSA9IHN0cmluZztcclxuZXhwb3J0IHR5cGUgSW1hZ2VBbHQgPSBzdHJpbmc7XHJcblxyXG5leHBvcnQgdHlwZSBNb3NhaWNJbWFnZSA9IHtcclxuICBzcmM6IEltYWdlU291cmNlLFxyXG4gIGFsdDogSW1hZ2VBbHRcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTW9zYWljSW1hZ2VzID0gUmVhZG9ubHk8TW9zYWljSW1hZ2VbXT47XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dhYy1tb3NhaWMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3NhaWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vc2FpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGltYWdlc0xpc3Q6IE1vc2FpY0ltYWdlcyA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbnVtYmVyT2ZDb2x1bW4gPSAzO1xyXG5cclxuICBASW5wdXQoKSBob3ZlckltYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBPdXRwdXQoKSBpbXBvcnRJbWFnZVNyYyA9IG5ldyBFdmVudEVtaXR0ZXI8SW1hZ2VTb3VyY2U+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBsb2FkTW9yZUltYWdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29sdW1uczogTW9zYWljSW1hZ2VzW107XHJcblxyXG4gIHRyYWNrQ29sdW1uKGluZGV4OiBudW1iZXIgKSB7XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB0cmFja0ltYWdlKGluZGV4OiBudW1iZXIsIGltYWdlOiBNb3NhaWNJbWFnZSApIHtcclxuICAgIHJldHVybiBpbWFnZS5zcmM7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBpc051bWJlck9mQ29sdW1uQ2hhbmdlID0gY2hhbmdlcy5udW1iZXJPZkNvbHVtbiAmJiAoY2hhbmdlcy5udW1iZXJPZkNvbHVtbi5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMubnVtYmVyT2ZDb2x1bW4ucHJldmlvdXNWYWx1ZSk7XHJcbiAgICBpZiAoY2hhbmdlcy5pbWFnZXNMaXN0KSB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKGNoYW5nZXMuaW1hZ2VzTGlzdC5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzLmltYWdlc0xpc3QuY3VycmVudFZhbHVlLCBpc051bWJlck9mQ29sdW1uQ2hhbmdlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc051bWJlck9mQ29sdW1uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKG51bGwsIHRoaXMuaW1hZ2VzTGlzdCwgaXNOdW1iZXJPZkNvbHVtbkNoYW5nZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUNvbHVtbnMocHJldmlvdXNMaXN0OiBNb3NhaWNJbWFnZXMsIGN1cnJlbnRMaXN0OiBNb3NhaWNJbWFnZXMsIGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2U6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGlzTmV3TGlzdFNtYWxsZXIgPSAoY3VycmVudExpc3QgJiYgcHJldmlvdXNMaXN0KSAmJiAoY3VycmVudExpc3QubGVuZ3RoIDwgcHJldmlvdXNMaXN0Lmxlbmd0aCk7XHJcbiAgICBjb25zdCByZXNldENvbHVtbnMgPSBpc051bWJlck9mQ29sdW1uQ2hhbmdlIHx8IGlzTmV3TGlzdFNtYWxsZXI7XHJcbiAgICBjb25zdCBpc1ByZXZpb3VzTGlzdEV4aXN0aW5nID0gcHJldmlvdXNMaXN0Py5sZW5ndGg7XHJcbiAgICBjb25zdCBuZXdJbWFnZXNUb0Rpc3BsYXkgPSAhaXNQcmV2aW91c0xpc3RFeGlzdGluZyB8fCByZXNldENvbHVtbnMgPyBjdXJyZW50TGlzdCA6IGN1cnJlbnRMaXN0LnNsaWNlKHByZXZpb3VzTGlzdC5sZW5ndGgpO1xyXG4gICAgbGV0IGNvbHVtbnMgPSB0aGlzLnNlcGFyYXRlSW1hZ2VzSW50b0NvbHVtbnMobmV3SW1hZ2VzVG9EaXNwbGF5KTtcclxuXHJcbiAgICBpZiAoaXNQcmV2aW91c0xpc3RFeGlzdGluZyAmJiAhcmVzZXRDb2x1bW5zKSB7XHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29sdW1ucyA9IHRoaXMuY29sdW1ucztcclxuICAgICAgY29sdW1ucyA9IHRoaXMuY29uY2F0Q29sdW1ucyhleGlzdGluZ0NvbHVtbnMsIGNvbHVtbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBzZXBhcmF0ZUltYWdlc0ludG9Db2x1bW5zKG5ld0ltYWdlc1RvRGlzcGxheTogTW9zYWljSW1hZ2VzKTogTW9zYWljSW1hZ2VzW10geyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy84NDk1Njg3L3NwbGl0LWFycmF5LWludG8tY2h1bmtzXHJcbiAgICBjb25zdCBjb2x1bW5zID0gW107XHJcbiAgICBjb25zdCBudW1iZXJPZkltYWdlUGVyQ29sdW1uID0gTWF0aC5mbG9vcihuZXdJbWFnZXNUb0Rpc3BsYXkubGVuZ3RoIC8gdGhpcy5udW1iZXJPZkNvbHVtbik7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5ld0ltYWdlc1RvRGlzcGxheS5sZW5ndGg7IGkgKz0gbnVtYmVyT2ZJbWFnZVBlckNvbHVtbikge1xyXG4gICAgICBjb25zdCBjaHVuayA9IG5ld0ltYWdlc1RvRGlzcGxheS5zbGljZShpLCBpICsgbnVtYmVyT2ZJbWFnZVBlckNvbHVtbik7XHJcbiAgICAgIGNvbHVtbnMucHVzaChjaHVuayk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sdW1ucztcclxuICB9XHJcblxyXG4gIGNvbmNhdENvbHVtbnMob2xkQ29sdW1uczogTW9zYWljSW1hZ2VzW10sIG5ld0NvbHVtbnM6IE1vc2FpY0ltYWdlc1tdKTogTW9zYWljSW1hZ2VzW10ge1xyXG4gICAgcmV0dXJuIG9sZENvbHVtbnMubWFwKChvbGRDb2x1bW4sIGNvbHVtbkluZGV4KSA9PiBbLi4ub2xkQ29sdW1uLCAuLi5uZXdDb2x1bW5zW2NvbHVtbkluZGV4XV0pO1xyXG4gIH1cclxuXHJcbiAgb25Cb3R0b21SZWFjaGVkKCkge1xyXG4gICAgdGhpcy5sb2FkTW9yZUltYWdlcy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkltcG9ydEltYWdlKHNyYzogSW1hZ2VTb3VyY2UpIHtcclxuICAgIHRoaXMuaW1wb3J0SW1hZ2VTcmMuZW1pdChzcmMpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY1wiICBbbmdDbGFzc109XCJ7J2lzLWxvYWRpbmcnOiBpc0xvYWRpbmd9XCI+XHJcbiAgPG5nLXNjcm9sbGJhciAocmVhY2hlZEJvdHRvbSk9XCJvbkJvdHRvbVJlYWNoZWQoKVwiIFtyZWFjaGVkT2Zmc2V0XT1cIjIwMFwiIGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlcl9fc2Nyb2xsYmFyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlcl9fY29sdW1uXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5IDogdHJhY2tDb2x1bW47XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXJfX2NvbHVtbl9faW1hZ2VcIiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgY29sdW1uOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5IDogdHJhY2tJbWFnZVwiPlxyXG4gICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlLnNyY1wiIFthbHRdPVwiaW1hZ2UuYWx0XCIvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhvdmVyXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJob3ZlckltYWdlVGVtcGxhdGUgfHwgZGVmYXVsdEltcG9ydEJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpbWFnZSB9XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXIgbG9hZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlcl9fY29sdW1uXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5IDogdHJhY2tDb2x1bW47XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvYWQtaW1nXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1zY3JvbGxiYXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SW1wb3J0QnV0dG9uIGxldC1pbWFnZT5cclxuICA8d2FjLWJ1dHRvbiBbaWNvbl09XCInZmEtc29saWQgZmEtaW1hZ2UnXCIgW2xhYmVsXT1cIid3YWMuTW9zYWljQ29tcG9uZW50LmltcG9ydCcgfCB0cmFuc2xhdGVcIiBbZXh0cmFDbGFzc2VzXT1cIidpcy1zdWNjZXNzJ1wiIChjbGljayk9XCJvbkltcG9ydEltYWdlKGltYWdlLnNyYylcIj48L3dhYy1idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9zYWljL21vc2FpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vc2FpYy9tb3NhaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBOEIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFrQnhKLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBUVcsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUlsQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFakQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBbUVyRDtJQS9EQyxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLEtBQWtCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUM1QyxNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhJLElBQUksZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsWUFBWSxLQUFLLGdCQUFnQixDQUFDLGFBQWEsRUFBRTtZQUN4RixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUM1RyxPQUFPO1NBQ1I7UUFFRCxJQUFJLHNCQUFzQixFQUFFO1lBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsWUFBMEIsRUFBRSxXQUF5QixFQUFFLHNCQUErQjtRQUNwRyxNQUFNLGdCQUFnQixHQUFHLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckcsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLElBQUksZ0JBQWdCLENBQUM7UUFDaEUsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLEVBQUUsTUFBTSxDQUFDO1FBQ3BELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxzQkFBc0IsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUgsSUFBSSxPQUFPLEdBQW9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWxGLElBQUksc0JBQXNCLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQseUJBQXlCLENBQUMsa0JBQWdDO1FBQ3hELE1BQU0sT0FBTyxHQUFvQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2RixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUEwQixFQUFFLFVBQTBCO1FBQ2xFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUMvQyxPQUFPLENBQUMsR0FBRyxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsR0FBZ0I7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7NEdBOUVVLGVBQWU7Z0dBQWYsZUFBZSxrU0NsQjVCLG8zQ0E0QkE7MkZEVmEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUVHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgSW1hZ2VTb3VyY2UgPSBzdHJpbmc7XHJcbmV4cG9ydCB0eXBlIEltYWdlQWx0ID0gc3RyaW5nO1xyXG5cclxuZXhwb3J0IHR5cGUgTW9zYWljSW1hZ2UgPSB7XHJcbiAgc3JjOiBJbWFnZVNvdXJjZSxcclxuICBhbHQ6IEltYWdlQWx0XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1vc2FpY0ltYWdlcyA9IFJlYWRvbmx5PE1vc2FpY0ltYWdlW10+O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3YWMtbW9zYWljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9zYWljLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb3NhaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBpbWFnZXNMaXN0OiBNb3NhaWNJbWFnZXMgPSBbXTtcclxuXHJcbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIG51bWJlck9mQ29sdW1uID0gMztcclxuXHJcbiAgQElucHV0KCkgaG92ZXJJbWFnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAT3V0cHV0KCkgaW1wb3J0SW1hZ2VTcmMgPSBuZXcgRXZlbnRFbWl0dGVyPEltYWdlU291cmNlPigpO1xyXG5cclxuICBAT3V0cHV0KCkgbG9hZE1vcmVJbWFnZXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbHVtbnM6IE1vc2FpY0ltYWdlc1tdO1xyXG5cclxuICB0cmFja0NvbHVtbihpbmRleDogbnVtYmVyICkge1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhY2tJbWFnZShpbmRleDogbnVtYmVyLCBpbWFnZTogTW9zYWljSW1hZ2UgKSB7XHJcbiAgICByZXR1cm4gaW1hZ2Uuc3JjO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgaW1hZ2VzTGlzdENoYW5nZSA9IGNoYW5nZXMuaW1hZ2VzTGlzdDtcclxuICAgIGNvbnN0IGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2UgPSBjaGFuZ2VzLm51bWJlck9mQ29sdW1uICYmIChjaGFuZ2VzLm51bWJlck9mQ29sdW1uLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5udW1iZXJPZkNvbHVtbi5wcmV2aW91c1ZhbHVlKTtcclxuXHJcbiAgICBpZiAoaW1hZ2VzTGlzdENoYW5nZSAmJiBpbWFnZXNMaXN0Q2hhbmdlLmN1cnJlbnRWYWx1ZSAhPT0gaW1hZ2VzTGlzdENoYW5nZS5wcmV2aW91c1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKGltYWdlc0xpc3RDaGFuZ2UucHJldmlvdXNWYWx1ZSwgaW1hZ2VzTGlzdENoYW5nZS5jdXJyZW50VmFsdWUsIGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5nZW5lcmF0ZUNvbHVtbnMobnVsbCwgdGhpcy5pbWFnZXNMaXN0LCBpc051bWJlck9mQ29sdW1uQ2hhbmdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQ29sdW1ucyhwcmV2aW91c0xpc3Q6IE1vc2FpY0ltYWdlcywgY3VycmVudExpc3Q6IE1vc2FpY0ltYWdlcywgaXNOdW1iZXJPZkNvbHVtbkNoYW5nZTogYm9vbGVhbikge1xyXG4gICAgY29uc3QgaXNOZXdMaXN0U21hbGxlciA9IChjdXJyZW50TGlzdCAmJiBwcmV2aW91c0xpc3QpICYmIChjdXJyZW50TGlzdC5sZW5ndGggPCBwcmV2aW91c0xpc3QubGVuZ3RoKTtcclxuICAgIGNvbnN0IHJlc2V0Q29sdW1ucyA9IGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2UgfHwgaXNOZXdMaXN0U21hbGxlcjtcclxuICAgIGNvbnN0IGlzUHJldmlvdXNMaXN0RXhpc3RpbmcgPSBwcmV2aW91c0xpc3Q/Lmxlbmd0aDtcclxuICAgIGNvbnN0IG5ld0ltYWdlc1RvRGlzcGxheSA9ICFpc1ByZXZpb3VzTGlzdEV4aXN0aW5nIHx8IHJlc2V0Q29sdW1ucyA/IGN1cnJlbnRMaXN0IDogY3VycmVudExpc3Quc2xpY2UocHJldmlvdXNMaXN0Lmxlbmd0aCk7XHJcblxyXG4gICAgbGV0IGNvbHVtbnM6IE1vc2FpY0ltYWdlW11bXSA9IHRoaXMuc2VwYXJhdGVJbWFnZXNJbnRvQ29sdW1ucyhuZXdJbWFnZXNUb0Rpc3BsYXkpO1xyXG5cclxuICAgIGlmIChpc1ByZXZpb3VzTGlzdEV4aXN0aW5nICYmICFyZXNldENvbHVtbnMpIHtcclxuICAgICAgY29uc3QgZXhpc3RpbmdDb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xyXG4gICAgICBjb2x1bW5zID0gdGhpcy5jb25jYXRDb2x1bW5zKGV4aXN0aW5nQ29sdW1ucywgY29sdW1ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcclxuICB9XHJcblxyXG4gIHNlcGFyYXRlSW1hZ2VzSW50b0NvbHVtbnMobmV3SW1hZ2VzVG9EaXNwbGF5OiBNb3NhaWNJbWFnZXMpOiBNb3NhaWNJbWFnZVtdW10ge1xyXG4gICAgY29uc3QgY29sdW1uczogTW9zYWljSW1hZ2VbXVtdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5udW1iZXJPZkNvbHVtbiB9LCAoKSA9PiBbXSk7XHJcblxyXG4gICAgbmV3SW1hZ2VzVG9EaXNwbGF5LmZvckVhY2goKGltYWdlLCBpbmRleCkgPT4ge1xyXG4gICAgICBjb2x1bW5zW2luZGV4ICUgdGhpcy5udW1iZXJPZkNvbHVtbl0ucHVzaChpbWFnZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY29sdW1ucztcclxuICB9XHJcblxyXG4gIGNvbmNhdENvbHVtbnMob2xkQ29sdW1uczogTW9zYWljSW1hZ2VzW10sIG5ld0NvbHVtbnM6IE1vc2FpY0ltYWdlc1tdKTogTW9zYWljSW1hZ2VbXVtdIHtcclxuICAgIHJldHVybiBvbGRDb2x1bW5zLm1hcCgob2xkQ29sdW1uLCBjb2x1bW5JbmRleCkgPT4ge1xyXG4gICAgICByZXR1cm4gWy4uLm9sZENvbHVtbiwgLi4ubmV3Q29sdW1uc1tjb2x1bW5JbmRleF1dO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkJvdHRvbVJlYWNoZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9hZE1vcmVJbWFnZXMuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbXBvcnRJbWFnZShzcmM6IEltYWdlU291cmNlKSB7XHJcbiAgICB0aGlzLmltcG9ydEltYWdlU3JjLmVtaXQoc3JjKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNcIiAgW25nQ2xhc3NdPVwieydpcy1sb2FkaW5nJzogaXNMb2FkaW5nfVwiPlxyXG4gIDxuZy1zY3JvbGxiYXIgKHJlYWNoZWRCb3R0b20pPVwib25Cb3R0b21SZWFjaGVkKClcIiBbcmVhY2hlZE9mZnNldF09XCIyMDBcIiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXJfX3Njcm9sbGJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXJfX2NvbHVtblwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeSA6IHRyYWNrQ29sdW1uO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtbW9zYWljX193cmFwcGVyX19jb2x1bW5fX2ltYWdlXCIgKm5nRm9yPVwibGV0IGltYWdlIG9mIGNvbHVtbjsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeSA6IHRyYWNrSW1hZ2VcIj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZS5zcmNcIiBbYWx0XT1cImltYWdlLmFsdFwiLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3ZlclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaG92ZXJJbWFnZVRlbXBsYXRlIHx8IGRlZmF1bHRJbXBvcnRCdXR0b25cIlxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaW1hZ2UgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3YWMtbW9zYWljX193cmFwcGVyIGxvYWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXJfX2NvbHVtblwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeSA6IHRyYWNrQ29sdW1uO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkLWltZ1wiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctc2Nyb2xsYmFyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEltcG9ydEJ1dHRvbiBsZXQtaW1hZ2U+XHJcbiAgPHdhYy1idXR0b24gW2ljb25dPVwiJ2ZhLXNvbGlkIGZhLWltYWdlJ1wiIFtsYWJlbF09XCInd2FjLk1vc2FpY0NvbXBvbmVudC5pbXBvcnQnIHwgdHJhbnNsYXRlXCIgW2V4dHJhQ2xhc3Nlc109XCInaXMtc3VjY2VzcydcIiAoY2xpY2spPVwib25JbXBvcnRJbWFnZShpbWFnZS5zcmMpXCI+PC93YWMtYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -17,6 +17,7 @@ export class MultipleSearchPlusComponent {
17
17
  this.openSearchResults = false;
18
18
  this.isLoading = true;
19
19
  this.disabled = false;
20
+ this.hideResults = false;
20
21
  this.searchValue = new EventEmitter();
21
22
  this.optionsChange = new EventEmitter();
22
23
  }
@@ -79,19 +80,21 @@ export class MultipleSearchPlusComponent {
79
80
  }
80
81
  }
81
82
  MultipleSearchPlusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MultipleSearchPlusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- MultipleSearchPlusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: MultipleSearchPlusComponent, selector: "wac-multiple-search-plus", inputs: { options: "options", searchResults: "searchResults", disabled: "disabled" }, outputs: { searchValue: "searchValue", optionsChange: "optionsChange" }, ngImport: i0, template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DebounceKeyupDirective, selector: "input[debounceKeyUp]" }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i4.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i5.LoaderComponent, selector: "wac-loader", inputs: ["text", "small"] }, { kind: "component", type: i6.ImageComponent, selector: "wac-image", inputs: ["src"] }, { kind: "component", type: i7.H3Component, selector: "wac-h3", inputs: ["grey"] }, { kind: "component", type: i8.TextComponent, selector: "wac-text", inputs: ["textClass"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
83
+ MultipleSearchPlusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: MultipleSearchPlusComponent, selector: "wac-multiple-search-plus", inputs: { options: "options", searchResults: "searchResults", disabled: "disabled", hideResults: "hideResults" }, outputs: { searchValue: "searchValue", optionsChange: "optionsChange" }, ngImport: i0, template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length && !hideResults\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DebounceKeyupDirective, selector: "input[debounceKeyUp]" }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i4.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i5.LoaderComponent, selector: "wac-loader", inputs: ["text", "small"] }, { kind: "component", type: i6.ImageComponent, selector: "wac-image", inputs: ["src"] }, { kind: "component", type: i7.H3Component, selector: "wac-h3", inputs: ["grey"] }, { kind: "component", type: i8.TextComponent, selector: "wac-text", inputs: ["textClass"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
83
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MultipleSearchPlusComponent, decorators: [{
84
85
  type: Component,
85
- args: [{ selector: 'wac-multiple-search-plus', template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
86
+ args: [{ selector: 'wac-multiple-search-plus', template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length && !hideResults\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
86
87
  }], ctorParameters: function () { return []; }, propDecorators: { options: [{
87
88
  type: Input
88
89
  }], searchResults: [{
89
90
  type: Input
90
91
  }], disabled: [{
91
92
  type: Input
93
+ }], hideResults: [{
94
+ type: Input
92
95
  }], searchValue: [{
93
96
  type: Output
94
97
  }], optionsChange: [{
95
98
  type: Output
96
99
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VhcmNoLXBsdXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aXBsZS1zZWFyY2gtcGx1cy9tdWx0aXBsZS1zZWFyY2gtcGx1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL211bHRpcGxlLXNlYXJjaC1wbHVzL211bHRpcGxlLXNlYXJjaC1wbHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBUS9FLE1BQU0sT0FBTywyQkFBMkI7SUFpQnRDO1FBZEEsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFJUixhQUFRLEdBQXFCLEtBQUssQ0FBQztRQUVsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTlCLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFTO1FBQ3RCLElBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFDO1lB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S0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQzs7d0hBcEZVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLCtOQ1J4QyxtcEdBaUVBOzJGRHpEYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQWEzQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXVsdGlwbGVTZWFyY2hQbHVzT3B0aW9uIH0gZnJvbSAnLi9zaGFyZWQvbXVsdGlwbGUtc2VhcmNoLXBsdXMtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTXVsdGlwbGVTZWFyY2hQbHVzUmVzdWx0cyB9IGZyb20gJy4vc2hhcmVkL211bHRpcGxlLXNlYXJjaC1wbHVzLXJlc3VsdHMubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3YWMtbXVsdGlwbGUtc2VhcmNoLXBsdXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS1zZWFyY2gtcGx1cy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpcGxlU2VhcmNoUGx1c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGN1cnJlbnRPcHRpb246bnVtYmVyO1xyXG4gIGxhYmVsID0gJyc7XHJcbiAgcGxhY2Vob2xkZXIgPSAnJztcclxuICBvcGVuU2VsZWN0ID0gZmFsc2U7XHJcbiAgb3BlblNlYXJjaFJlc3VsdHMgPSBmYWxzZTtcclxuXHJcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczpNdWx0aXBsZVNlYXJjaFBsdXNPcHRpb25bXTtcclxuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzOk11bHRpcGxlU2VhcmNoUGx1c1Jlc3VsdHNbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiB8IHN0cmluZyA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgc2VhcmNoVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9wdGlvbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldEN1cnJlbnRPcHRpb24oKTtcclxuICAgIHRoaXMuc2V0UGxhY2Vob2xkZXIoKTtcclxuICAgIHRoaXMuc2V0TGFiZWwoKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFZhbHVlKHZhbHVlOmFueSkge1xyXG4gICAgaWYodmFsdWUudGFyZ2V0LnZhbHVlICE9ICcnKXtcclxuICAgICAgdGhpcy5vcGVuU2VhcmNoUmVzdWx0cyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW5TZWFyY2hSZXN1bHRzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlLmVtaXQoeyBjdXJyZW50T3B0aW9uOiB0aGlzLm9wdGlvbnNbdGhpcy5jdXJyZW50T3B0aW9uXS5jb2RlLCB2YWx1ZTogdmFsdWUudGFyZ2V0LnZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0Q3VycmVudE9wdGlvbih2YWx1ZT86bnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRPcHRpb24gPSB2YWx1ZSB8fCAwO1xyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2Vob2xkZXIodmFsdWU/Om51bWJlcikge1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHZhbHVlID8gdGhpcy5vcHRpb25zW3ZhbHVlXS5wbGFjZWhvbGRlciA6IHRoaXMub3B0aW9uc1swXS5wbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG4gIHNldExhYmVsKHZhbHVlPzpudW1iZXIpIHtcclxuICAgIHRoaXMubGFiZWwgPSB2YWx1ZSA/IHRoaXMub3B0aW9uc1t2YWx1ZV0ubGFiZWwgOiB0aGlzLm9wdGlvbnNbMF0ubGFiZWw7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZVNlbGVjdCgpIHtcclxuICAgIHRoaXMub3BlblNlbGVjdCA9ICF0aGlzLm9wZW5TZWxlY3Q7XHJcbiAgfVxyXG5cclxuICBjbG9zZVNlbGVjdCgpIHtcclxuICAgIHRoaXMub3BlblNlbGVjdCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VTZWFyY2hSZXN1bHRzKCkge1xyXG4gICAgdGhpcy5vcGVuU2VhcmNoUmVzdWx0cyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRBbGxWdWUodmFsdWU6bnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHMgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNldEN1cnJlbnRPcHRpb24odmFsdWUpO1xyXG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcih2YWx1ZSk7XHJcbiAgICB0aGlzLnNldExhYmVsKHZhbHVlKTtcclxuICAgIHRoaXMub3BlblNlYXJjaFJlc3VsdHMgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VTZWxlY3QoKTtcclxuICB9XHJcblxyXG4gIGFkZFJlc3VsdChpbmRleDpudW1iZXIpIHtcclxuICAgIGxldCBhbHJlYWR5RXhpc3QgPSBmYWxzZTtcclxuICAgIHRoaXMub3B0aW9uc1t0aGlzLmN1cnJlbnRPcHRpb25dLnRhYmxlLmZvckVhY2goZWxlbSA9PiB7XHJcbiAgICAgIGlmKGVsZW0uaWQgPT0gdGhpcy5zZWFyY2hSZXN1bHRzW2luZGV4XS5pZCl7XHJcbiAgICAgICAgYWxyZWFkeUV4aXN0ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZighYWxyZWFkeUV4aXN0KSB7XHJcbiAgICAgIHRoaXMub3B0aW9uc1t0aGlzLmN1cnJlbnRPcHRpb25dLnRhYmxlLnB1c2godGhpcy5zZWFyY2hSZXN1bHRzW2luZGV4XSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc2V0QWxsVnVlKHRoaXMuY3VycmVudE9wdGlvbik7XHJcbiAgICB0aGlzLm9wdGlvbnNDaGFuZ2UuZW1pdCh7IGN1cnJlbnRPcHRpb246IHRoaXMub3B0aW9uc1t0aGlzLmN1cnJlbnRPcHRpb25dLmNvZGUsIGFjdGlvbjogJ2FkZCd9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVJlc3VsdChpbmRleEl0ZW06bnVtYmVyLCBpbmRleDpudW1iZXIpIHtcclxuICAgIHRoaXMub3B0aW9uc1tpbmRleF0udGFibGUuc3BsaWNlKGluZGV4SXRlbSwxKTtcclxuICAgIHRoaXMub3B0aW9uc0NoYW5nZS5lbWl0KHsgY3VycmVudE9wdGlvbjogdGhpcy5vcHRpb25zW2luZGV4XS5jb2RlLCBhY3Rpb246ICdkZWxldGUnfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoLXBsdXNcIiBbekluZGV4VG9nZ2xlXT1cIm9wZW5TZWxlY3QgfHwgb3BlblNlYXJjaFJlc3VsdHNcIiBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGRpc2FibGVkIH1cIj5cclxuICA8IS0tIE11bHRpcGxlIHNlbGVjdCB3aXRoIHNlYXJjaCBpbnB1dCAtLT5cclxuICA8ZGl2IGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaFwiIFtuZ0NsYXNzXT1cInsgb3Blbjogb3BlblNlbGVjdCB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdFwiICpuZ0lmPVwib3B0aW9ucy5sZW5ndGggPiAxXCIgW25nQ2xhc3NdPVwieyBvcGVuOiBvcGVuU2VsZWN0IH1cIiB3ekF1dG9IaWRlIChjbGlja091dHNpZGUpPVwiY2xvc2VTZWxlY3QoKVwiPlxyXG4gICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWNoZXZyb24tZG93blwiPjwvaT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdF9fYmFja2dyb3VuZFwiIChjbGljayk9XCJvblRvZ2dsZVNlbGVjdCgpXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2hfX3dyYXBwZXJfX2xlZnRfX3NlbGVjdFwiICpuZ0lmPVwib3BlblNlbGVjdFwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2hfX3dyYXBwZXJfX2xlZnRfX3NlbGVjdF9faXRlbVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaW5kZXhdPVwiaVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJyZXNldEFsbFZ1ZShpKTsgaW5wdXRTZWFyY2gudmFsdWUgPSAnJ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiB2YWx1ZT1cIlwiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoX193cmFwcGVyX19yaWdodFwiIHd6QXV0b0hpZGUgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZVNlYXJjaFJlc3VsdHMoKVwiPlxyXG4gICAgICAgIDxidXR0b24+PGkgY2xhc3M9XCJmYWwgZmEtc2VhcmNoXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgI2lucHV0U2VhcmNoXHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgZGVib3VuY2VLZXlVcFxyXG4gICAgICAgICAgW2RlYm91bmNlVGltZV09XCI1MDBcIlxyXG4gICAgICAgICAgKG9uRXZlbnRDaGFuZ2UpPVwic2V0U2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdF9fc2VsZWN0XCIgKm5nSWY9XCJvcGVuU2VhcmNoUmVzdWx0c1wiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2hfX3dyYXBwZXJfX2xlZnRfX3NlbGVjdF9faXRlbVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZXMgb2Ygc2VhcmNoUmVzdWx0czsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRSZXN1bHQoaSk7IGlucHV0U2VhcmNoLnZhbHVlID0gJydcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8d2FjLWltYWdlICpuZ0lmPVwicmVzLmltYWdlXCIgW3NyY109XCJyZXMuaW1hZ2VcIj48L3dhYy1pbWFnZT5cclxuICAgICAgICAgICAgPHdhYy10ZXh0PiN7eyByZXMuaWQgfX0ge3sgcmVzLm5hbWUgfX08L3dhYy10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLXRhYmxlX19ib2R5X19sb2FkZXJcIiAqbmdJZj1cImlzTG9hZGluZyAmJiAhc2VhcmNoUmVzdWx0c1wiPlxyXG4gICAgICAgICAgICA8d2FjLWxvYWRlciBbc21hbGxdPVwidHJ1ZVwiPjwvd2FjLWxvYWRlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2hfX3dyYXBwZXJfX2xlZnRfX3NlbGVjdF9faXRlbVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXNlYXJjaFJlc3VsdHM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7J3dhYy5kYXRhdGFibGUubm9yZXN1bHQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBSZXN1bHRzIGNoZWNrZWQgLS0+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoLXBsdXNfX3dyYXBwZXJcIiAqbmdJZj1cIm9wdGlvbi50YWJsZS5sZW5ndGhcIj5cclxuICAgICAgPHdhYy1oMz57eyBvcHRpb24udGl0bGUgfX08L3dhYy1oMz5cclxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2gtcGx1c19fd3JhcHBlcl9fYmxvY2sgaG92ZXIgZGVmYXVsdFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbi50YWJsZTsgbGV0IGluZGV4SXRlbSA9IGluZGV4XCI+XHJcbiAgICAgICAgPHdhYy1pbWFnZSAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIj48L3dhYy1pbWFnZT5cclxuICAgICAgICA8d2FjLXRleHQ+e3sgaXRlbS5uYW1lIH19PC93YWMtdGV4dD5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwiZGVsZXRlUmVzdWx0KGluZGV4SXRlbSwgaSlcIj48aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VhcmNoLXBsdXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aXBsZS1zZWFyY2gtcGx1cy9tdWx0aXBsZS1zZWFyY2gtcGx1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL211bHRpcGxlLXNlYXJjaC1wbHVzL211bHRpcGxlLXNlYXJjaC1wbHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBUS9FLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDO1FBZkEsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFJUixhQUFRLEdBQXFCLEtBQUssQ0FBQztRQUNuQyxnQkFBVyxHQUFxQixLQUFLLENBQUM7UUFFckMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU5QixDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBUztRQUN0QixJQUFHLEtBQUssQ0FBQyxNQUFN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WTtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7O3dIQXJGVSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwyUENSeEMsbXFHQWlFQTsyRkR6RGEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjswRUFhM0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXVsdGlwbGVTZWFyY2hQbHVzT3B0aW9uIH0gZnJvbSAnLi9zaGFyZWQvbXVsdGlwbGUtc2VhcmNoLXBsdXMtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTXVsdGlwbGVTZWFyY2hQbHVzUmVzdWx0cyB9IGZyb20gJy4vc2hhcmVkL211bHRpcGxlLXNlYXJjaC1wbHVzLXJlc3VsdHMubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3YWMtbXVsdGlwbGUtc2VhcmNoLXBsdXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS1zZWFyY2gtcGx1cy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpcGxlU2VhcmNoUGx1c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGN1cnJlbnRPcHRpb246bnVtYmVyO1xyXG4gIGxhYmVsID0gJyc7XHJcbiAgcGxhY2Vob2xkZXIgPSAnJztcclxuICBvcGVuU2VsZWN0ID0gZmFsc2U7XHJcbiAgb3BlblNlYXJjaFJlc3VsdHMgPSBmYWxzZTtcclxuXHJcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczpNdWx0aXBsZVNlYXJjaFBsdXNPcHRpb25bXTtcclxuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzOk11bHRpcGxlU2VhcmNoUGx1c1Jlc3VsdHNbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiB8IHN0cmluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVSZXN1bHRzOiBib29sZWFuIHwgc3RyaW5nID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0Q3VycmVudE9wdGlvbigpO1xyXG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcigpO1xyXG4gICAgdGhpcy5zZXRMYWJlbCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoVmFsdWUodmFsdWU6YW55KSB7XHJcbiAgICBpZih2YWx1ZS50YXJnZXQudmFsdWUgIT0gJycpe1xyXG4gICAgICB0aGlzLm9wZW5TZWFyY2hSZXN1bHRzID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub3BlblNlYXJjaFJlc3VsdHMgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VhcmNoVmFsdWUuZW1pdCh7IGN1cnJlbnRPcHRpb246IHRoaXMub3B0aW9uc1t0aGlzLmN1cnJlbnRPcHRpb25dLmNvZGUsIHZhbHVlOiB2YWx1ZS50YXJnZXQudmFsdWUgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRDdXJyZW50T3B0aW9uKHZhbHVlPzpudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudE9wdGlvbiA9IHZhbHVlIHx8IDA7XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZWhvbGRlcih2YWx1ZT86bnVtYmVyKSB7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdmFsdWUgPyB0aGlzLm9wdGlvbnNbdmFsdWVdLnBsYWNlaG9sZGVyIDogdGhpcy5vcHRpb25zWzBdLnBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFiZWwodmFsdWU/Om51bWJlcikge1xyXG4gICAgdGhpcy5sYWJlbCA9IHZhbHVlID8gdGhpcy5vcHRpb25zW3ZhbHVlXS5sYWJlbCA6IHRoaXMub3B0aW9uc1swXS5sYWJlbDtcclxuICB9XHJcblxyXG4gIG9uVG9nZ2xlU2VsZWN0KCkge1xyXG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gIXRoaXMub3BlblNlbGVjdDtcclxuICB9XHJcblxyXG4gIGNsb3NlU2VsZWN0KCkge1xyXG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjbG9zZVNlYXJjaFJlc3VsdHMoKSB7XHJcbiAgICB0aGlzLm9wZW5TZWFyY2hSZXN1bHRzID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByZXNldEFsbFZ1ZSh2YWx1ZTpudW1iZXIpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVzdWx0cyA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2V0Q3VycmVudE9wdGlvbih2YWx1ZSk7XHJcbiAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHZhbHVlKTtcclxuICAgIHRoaXMuc2V0TGFiZWwodmFsdWUpO1xyXG4gICAgdGhpcy5vcGVuU2VhcmNoUmVzdWx0cyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jbG9zZVNlbGVjdCgpO1xyXG4gIH1cclxuXHJcbiAgYWRkUmVzdWx0KGluZGV4Om51bWJlcikge1xyXG4gICAgbGV0IGFscmVhZHlFeGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5vcHRpb25zW3RoaXMuY3VycmVudE9wdGlvbl0udGFibGUuZm9yRWFjaChlbGVtID0+IHtcclxuICAgICAgaWYoZWxlbS5pZCA9PSB0aGlzLnNlYXJjaFJlc3VsdHNbaW5kZXhdLmlkKXtcclxuICAgICAgICBhbHJlYWR5RXhpc3QgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKCFhbHJlYWR5RXhpc3QpIHtcclxuICAgICAgdGhpcy5vcHRpb25zW3RoaXMuY3VycmVudE9wdGlvbl0udGFibGUucHVzaCh0aGlzLnNlYXJjaFJlc3VsdHNbaW5kZXhdKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzZXRBbGxWdWUodGhpcy5jdXJyZW50T3B0aW9uKTtcclxuICAgIHRoaXMub3B0aW9uc0NoYW5nZS5lbWl0KHsgY3VycmVudE9wdGlvbjogdGhpcy5vcHRpb25zW3RoaXMuY3VycmVudE9wdGlvbl0uY29kZSwgYWN0aW9uOiAnYWRkJ30pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUmVzdWx0KGluZGV4SXRlbTpudW1iZXIsIGluZGV4Om51bWJlcikge1xyXG4gICAgdGhpcy5vcHRpb25zW2luZGV4XS50YWJsZS5zcGxpY2UoaW5kZXhJdGVtLDEpO1xyXG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlLmVtaXQoeyBjdXJyZW50T3B0aW9uOiB0aGlzLm9wdGlvbnNbaW5kZXhdLmNvZGUsIGFjdGlvbjogJ2RlbGV0ZSd9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2gtcGx1c1wiIFt6SW5kZXhUb2dnbGVdPVwib3BlblNlbGVjdCB8fCBvcGVuU2VhcmNoUmVzdWx0c1wiIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxyXG4gIDwhLS0gTXVsdGlwbGUgc2VsZWN0IHdpdGggc2VhcmNoIGlucHV0IC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoXCIgW25nQ2xhc3NdPVwieyBvcGVuOiBvcGVuU2VsZWN0IH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoX193cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoX193cmFwcGVyX19sZWZ0XCIgKm5nSWY9XCJvcHRpb25zLmxlbmd0aCA+IDFcIiBbbmdDbGFzc109XCJ7IG9wZW46IG9wZW5TZWxlY3QgfVwiIHd6QXV0b0hpZGUgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZVNlbGVjdCgpXCI+XHJcbiAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtY2hldnJvbi1kb3duXCI+PC9pPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoX193cmFwcGVyX19sZWZ0X19iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cIm9uVG9nZ2xlU2VsZWN0KClcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdF9fc2VsZWN0XCIgKm5nSWY9XCJvcGVuU2VsZWN0XCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdF9fc2VsZWN0X19pdGVtXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1pbmRleF09XCJpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0QWxsVnVlKGkpOyBpbnB1dFNlYXJjaC52YWx1ZSA9ICcnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIHZhbHVlPVwiXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2hfX3dyYXBwZXJfX3JpZ2h0XCIgd3pBdXRvSGlkZSAoY2xpY2tPdXRzaWRlKT1cImNsb3NlU2VhcmNoUmVzdWx0cygpXCI+XHJcbiAgICAgICAgPGJ1dHRvbj48aSBjbGFzcz1cImZhbCBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAjaW5wdXRTZWFyY2hcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICBkZWJvdW5jZUtleVVwXHJcbiAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjUwMFwiXHJcbiAgICAgICAgICAob25FdmVudENoYW5nZSk9XCJzZXRTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtbXVsdGlwbGUtc2VhcmNoX193cmFwcGVyX19sZWZ0X19zZWxlY3RcIiAqbmdJZj1cIm9wZW5TZWFyY2hSZXN1bHRzXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdF9fc2VsZWN0X19pdGVtXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJlcyBvZiBzZWFyY2hSZXN1bHRzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImFkZFJlc3VsdChpKTsgaW5wdXRTZWFyY2gudmFsdWUgPSAnJ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx3YWMtaW1hZ2UgKm5nSWY9XCJyZXMuaW1hZ2VcIiBbc3JjXT1cInJlcy5pbWFnZVwiPjwvd2FjLWltYWdlPlxyXG4gICAgICAgICAgICA8d2FjLXRleHQ+I3t7IHJlcy5pZCB9fSB7eyByZXMubmFtZSB9fTwvd2FjLXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtdGFibGVfX2JvZHlfX2xvYWRlclwiICpuZ0lmPVwiaXNMb2FkaW5nICYmICFzZWFyY2hSZXN1bHRzXCI+XHJcbiAgICAgICAgICAgIDx3YWMtbG9hZGVyIFtzbWFsbF09XCJ0cnVlXCI+PC93YWMtbG9hZGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwid2FjLW11bHRpcGxlLXNlYXJjaF9fd3JhcHBlcl9fbGVmdF9fc2VsZWN0X19pdGVtXCJcclxuICAgICAgICAgICAgKm5nSWY9XCIhc2VhcmNoUmVzdWx0cz8ubGVuZ3RoXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4+e3snd2FjLmRhdGF0YWJsZS5ub3Jlc3VsdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFJlc3VsdHMgY2hlY2tlZCAtLT5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2gtcGx1c19fd3JhcHBlclwiICpuZ0lmPVwib3B0aW9uLnRhYmxlLmxlbmd0aCAmJiAhaGlkZVJlc3VsdHNcIj5cclxuICAgICAgPHdhYy1oMz57eyBvcHRpb24udGl0bGUgfX08L3dhYy1oMz5cclxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1tdWx0aXBsZS1zZWFyY2gtcGx1c19fd3JhcHBlcl9fYmxvY2sgaG92ZXIgZGVmYXVsdFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbi50YWJsZTsgbGV0IGluZGV4SXRlbSA9IGluZGV4XCI+XHJcbiAgICAgICAgPHdhYy1pbWFnZSAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIj48L3dhYy1pbWFnZT5cclxuICAgICAgICA8d2FjLXRleHQ+e3sgaXRlbS5uYW1lIH19PC93YWMtdGV4dD5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwiZGVsZXRlUmVzdWx0KGluZGV4SXRlbSwgaSlcIj48aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -4035,6 +4035,7 @@ class MultipleSearchPlusComponent {
4035
4035
  this.openSearchResults = false;
4036
4036
  this.isLoading = true;
4037
4037
  this.disabled = false;
4038
+ this.hideResults = false;
4038
4039
  this.searchValue = new EventEmitter();
4039
4040
  this.optionsChange = new EventEmitter();
4040
4041
  }
@@ -4097,16 +4098,18 @@ class MultipleSearchPlusComponent {
4097
4098
  }
4098
4099
  }
4099
4100
  MultipleSearchPlusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MultipleSearchPlusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4100
- MultipleSearchPlusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: MultipleSearchPlusComponent, selector: "wac-multiple-search-plus", inputs: { options: "options", searchResults: "searchResults", disabled: "disabled" }, outputs: { searchValue: "searchValue", optionsChange: "optionsChange" }, ngImport: i0, template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]" }, { kind: "directive", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: LoaderComponent, selector: "wac-loader", inputs: ["text", "small"] }, { kind: "component", type: ImageComponent, selector: "wac-image", inputs: ["src"] }, { kind: "component", type: H3Component, selector: "wac-h3", inputs: ["grey"] }, { kind: "component", type: TextComponent, selector: "wac-text", inputs: ["textClass"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
4101
+ MultipleSearchPlusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: MultipleSearchPlusComponent, selector: "wac-multiple-search-plus", inputs: { options: "options", searchResults: "searchResults", disabled: "disabled", hideResults: "hideResults" }, outputs: { searchValue: "searchValue", optionsChange: "optionsChange" }, ngImport: i0, template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length && !hideResults\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: DebounceKeyupDirective, selector: "input[debounceKeyUp]" }, { kind: "directive", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: LoaderComponent, selector: "wac-loader", inputs: ["text", "small"] }, { kind: "component", type: ImageComponent, selector: "wac-image", inputs: ["src"] }, { kind: "component", type: H3Component, selector: "wac-h3", inputs: ["grey"] }, { kind: "component", type: TextComponent, selector: "wac-text", inputs: ["textClass"] }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] });
4101
4102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MultipleSearchPlusComponent, decorators: [{
4102
4103
  type: Component,
4103
- args: [{ selector: 'wac-multiple-search-plus', template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
4104
+ args: [{ selector: 'wac-multiple-search-plus', template: "<div class=\"wac-multiple-search-plus\" [zIndexToggle]=\"openSelect || openSearchResults\" [ngClass]=\"{ 'disabled': disabled }\">\r\n <!-- Multiple select with search input -->\r\n <div class=\"wac-multiple-search\" [ngClass]=\"{ open: openSelect }\">\r\n <div class=\"wac-multiple-search__wrapper\">\r\n <div class=\"wac-multiple-search__wrapper__left\" *ngIf=\"options.length > 1\" [ngClass]=\"{ open: openSelect }\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <span>{{ label }}</span>\r\n <i class=\"fal fa-chevron-down\"></i>\r\n <div class=\"wac-multiple-search__wrapper__left__background\" (click)=\"onToggleSelect()\"></div>\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSelect\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let option of options; let i = index\"\r\n [attr.data-index]=\"i\"\r\n (click)=\"resetAllVue(i); inputSearch.value = ''\"\r\n >\r\n <span>{{ option.label }}</span>\r\n <input type=\"hidden\" value=\"\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-multiple-search__wrapper__right\" wzAutoHide (clickOutside)=\"closeSearchResults()\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input\r\n #inputSearch\r\n type=\"text\"\r\n [placeholder]=\"placeholder\"\r\n debounceKeyUp\r\n [debounceTime]=\"500\"\r\n (onEventChange)=\"setSearchValue($event)\"\r\n />\r\n <div class=\"wac-multiple-search__wrapper__left__select\" *ngIf=\"openSearchResults\">\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngFor=\"let res of searchResults; let i = index\"\r\n (click)=\"addResult(i); inputSearch.value = ''\"\r\n >\r\n <wac-image *ngIf=\"res.image\" [src]=\"res.image\"></wac-image>\r\n <wac-text>#{{ res.id }} {{ res.name }}</wac-text>\r\n </div>\r\n <div class=\"wac-table__body__loader\" *ngIf=\"isLoading && !searchResults\">\r\n <wac-loader [small]=\"true\"></wac-loader>\r\n </div>\r\n <div\r\n class=\"wac-multiple-search__wrapper__left__select__item\"\r\n *ngIf=\"!searchResults?.length\"\r\n >\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Results checked -->\r\n <div *ngFor=\"let option of options; let i = index\">\r\n <div class=\"wac-multiple-search-plus__wrapper\" *ngIf=\"option.table.length && !hideResults\">\r\n <wac-h3>{{ option.title }}</wac-h3>\r\n <div class=\"wac-multiple-search-plus__wrapper__block hover default\" *ngFor=\"let item of option.table; let indexItem = index\">\r\n <wac-image *ngIf=\"item.image\" [src]=\"item.image\"></wac-image>\r\n <wac-text>{{ item.name }}</wac-text>\r\n <span (click)=\"deleteResult(indexItem, i)\"><i class=\"fas fa-times\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
4104
4105
  }], ctorParameters: function () { return []; }, propDecorators: { options: [{
4105
4106
  type: Input
4106
4107
  }], searchResults: [{
4107
4108
  type: Input
4108
4109
  }], disabled: [{
4109
4110
  type: Input
4111
+ }], hideResults: [{
4112
+ type: Input
4110
4113
  }], searchValue: [{
4111
4114
  type: Output
4112
4115
  }], optionsChange: [{
@@ -5555,9 +5558,10 @@ class MosaicComponent {
5555
5558
  return image.src;
5556
5559
  }
5557
5560
  ngOnChanges(changes) {
5561
+ const imagesListChange = changes.imagesList;
5558
5562
  const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);
5559
- if (changes.imagesList) {
5560
- this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);
5563
+ if (imagesListChange && imagesListChange.currentValue !== imagesListChange.previousValue) {
5564
+ this.generateColumns(imagesListChange.previousValue, imagesListChange.currentValue, isNumberOfColumnChange);
5561
5565
  return;
5562
5566
  }
5563
5567
  if (isNumberOfColumnChange) {
@@ -5577,19 +5581,21 @@ class MosaicComponent {
5577
5581
  this.columns = columns;
5578
5582
  }
5579
5583
  separateImagesIntoColumns(newImagesToDisplay) {
5580
- const columns = [];
5581
- const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);
5582
- for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {
5583
- const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);
5584
- columns.push(chunk);
5585
- }
5584
+ const columns = Array.from({ length: this.numberOfColumn }, () => []);
5585
+ newImagesToDisplay.forEach((image, index) => {
5586
+ columns[index % this.numberOfColumn].push(image);
5587
+ });
5586
5588
  return columns;
5587
5589
  }
5588
5590
  concatColumns(oldColumns, newColumns) {
5589
- return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);
5591
+ return oldColumns.map((oldColumn, columnIndex) => {
5592
+ return [...oldColumn, ...newColumns[columnIndex]];
5593
+ });
5590
5594
  }
5591
5595
  onBottomReached() {
5592
- this.loadMoreImages.emit();
5596
+ if (!this.isLoading) {
5597
+ this.loadMoreImages.emit();
5598
+ }
5593
5599
  }
5594
5600
  onImportImage(src) {
5595
5601
  this.importImageSrc.emit(src);