@wizishop/wizi-block 4.2.33-beta → 4.2.36-beta

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.
Files changed (30) hide show
  1. package/bundles/wizishop-wizi-block.umd.js +221 -277
  2. package/bundles/wizishop-wizi-block.umd.js.map +1 -1
  3. package/bundles/wizishop-wizi-block.umd.min.js +1 -1
  4. package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
  5. package/esm2015/lib/services/blocks/images/images-banner.service.js +2 -2
  6. package/esm2015/lib/services/blocks/images/images-simple.service.js +2 -2
  7. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.js +2 -2
  8. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.js +2 -2
  9. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.js +2 -2
  10. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +13 -8
  11. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +13 -13
  12. package/esm2015/lib/shared/components/quill/quill.component.js +2 -1
  13. package/esm2015/lib/structures/map/background-form-left/map-background-form-left.component.js +32 -41
  14. package/esm2015/lib/structures/map/background-form-right/map-background-form-right.component.js +32 -41
  15. package/esm2015/lib/structures/map/fullpage/map-fullpage.component.js +32 -43
  16. package/esm2015/lib/structures/map/left-text/map-left-text.component.js +30 -41
  17. package/esm2015/lib/structures/map/right-text/map-right-text.component.js +30 -41
  18. package/esm2015/lib/structures/map/text-form/map-text-form.component.js +32 -43
  19. package/esm2015/lib/structures/structures.module.js +3 -1
  20. package/fesm2015/wizishop-wizi-block.js +215 -261
  21. package/fesm2015/wizishop-wizi-block.js.map +1 -1
  22. package/lib/structures/map/background-form-left/map-background-form-left.component.d.ts +8 -6
  23. package/lib/structures/map/background-form-right/map-background-form-right.component.d.ts +8 -6
  24. package/lib/structures/map/fullpage/map-fullpage.component.d.ts +7 -5
  25. package/lib/structures/map/left-text/map-left-text.component.d.ts +7 -5
  26. package/lib/structures/map/right-text/map-right-text.component.d.ts +7 -5
  27. package/lib/structures/map/text-form/map-text-form.component.d.ts +8 -6
  28. package/package.json +1 -5
  29. package/wizi-block.scss +576 -571
  30. package/wizishop-wizi-block.metadata.json +1 -1
@@ -104,6 +104,7 @@ export class QuillComponent {
104
104
  },
105
105
  clipboard: {
106
106
  matchers: [['BR', this.lineBreakMatcher]],
107
+ matchVisual: false,
107
108
  },
108
109
  keyboard: {
109
110
  bindings: {
@@ -297,4 +298,4 @@ QuillComponent.propDecorators = {
297
298
  color: [{ type: Input }],
298
299
  placeholder: [{ type: Input }]
299
300
  };
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL3F1aWxsL3F1aWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25JLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxjQUFjLE1BQU0sT0FBTyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLEtBQUssR0FBUSxjQUFjLENBQUM7QUFNbEMsTUFBTSxPQUFPLGNBQWM7SUE2R3ZCLFlBQW9CLE1BQWMsRUFBVSxZQUEwQixFQUFVLGdCQUFrQztRQUE5RixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBNUd4RyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELFlBQU8sR0FBRyxFQUFFLENB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Q0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUMzQixRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0IsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7O1lBdFVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsMnNIQUFxQzthQUN4Qzs7O1lBYndDLE1BQU07WUFFd0IsWUFBWTtZQUkxRSxnQkFBZ0I7Ozs0QkFTcEIsTUFBTTsrQkFFTixNQUFNOytCQUVOLE1BQU07c0JBRU4sS0FBSztxQkFFTCxLQUFLO3NCQUVMLEtBQUs7b0JBMERMLEtBQUs7MEJBTUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcbmltcG9ydCB7IENVU1RPTV9MSU5LX05BTUUsIENVU1RPTV9VUFBFUkNBU0VfTkFNRSwgQ1VTVE9NX0xJTktfQ1JZUFRFRCwgUXVpbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvcXVpbGwuc2VydmljZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgKiBhcyBRdWlsbE5hbWVzcGFjZSBmcm9tICdxdWlsbCc7XG5pbXBvcnQgeyBEZWx0YSB9IGZyb20gJy4uLy4uLy4uL2R0b3MvdXRpbHMvcXVpbGwvZGVsdGEuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuY29uc3QgUXVpbGw6IGFueSA9IFF1aWxsTmFtZXNwYWNlO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3diLXF1aWxsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcXVpbGwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBRdWlsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQE91dHB1dCgpIGNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgaXNUb29sdGlwRm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKSB0b29sdGlwTG9zdEZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQElucHV0KCkgY29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KCkgb2Zmc2V0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0b29sYmFyID0gW1xuICAgICAgICBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZScsICdzdHJpa2UnLCBDVVNUT01fVVBQRVJDQVNFX05BTUVdLFxuICAgICAgICBbJ2Jsb2NrcXVvdGUnXSxcblxuICAgICAgICBbeyBsaXN0OiAnb3JkZXJlZCcgfSwgeyBsaXN0OiAnYnVsbGV0JyB9XSxcbiAgICAgICAgW3sgc2NyaXB0OiAnc3ViJyB9LCB7IHNjcmlwdDogJ3N1cGVyJyB9XSxcbiAgICAgICAgW3sgaW5kZW50OiAnLTEnIH0sIHsgaW5kZW50OiAnKzEnIH1dLFxuICAgICAgICBbeyBzaXplOiBbJ3NtYWxsJywgZmFsc2UsICdsYXJnZScsICdodWdlJ10gfV0sXG4gICAgICAgIFt7IGhlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXSB9XSxcbiAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBbXG4gICAgICAgICAgICAgICAgICAgICcjMDAwMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyNlNjAwMDAnLFxuICAgICAgICAgICAgICAgICAgICAnI2ZmOTkwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjZmZmZjAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyMwMDhhMDAnLFxuICAgICAgICAgICAgICAgICAgICAnIzAwNjZjYycsXG4gICAgICAgICAgICAgICAgICAgICcjOTkzM2ZmJyxcbiAgICAgICAgICAgICAgICAgICAgJyNmZmZmZmYnLFxuICAgICAgICAgICAgICAgICAgICAnI2ZhY2NjYycsXG4gICAgICAgICAgICAgICAgICAgICcjZmZlYmNjJyxcbiAgICAgICAgICAgICAgICAgICAgJyNmZmZmY2MnLFxuICAgICAgICAgICAgICAgICAgICAnI2NjZThjYycsXG4gICAgICAgICAgICAgICAgICAgICcjY2NlMGY1JyxcbiAgICAgICAgICAgICAgICAgICAgJyNlYmQ2ZmYnLFxuICAgICAgICAgICAgICAgICAgICAnI2JiYmJiYicsXG4gICAgICAgICAgICAgICAgICAgICcjZjA2NjY2JyxcbiAgICAgICAgICAgICAgICAgICAgJyNmZmMyNjYnLFxuICAgICAgICAgICAgICAgICAgICAnI2ZmZmY2NicsXG4gICAgICAgICAgICAgICAgICAgICcjNjZiOTY2JyxcbiAgICAgICAgICAgICAgICAgICAgJyM2NmEzZTAnLFxuICAgICAgICAgICAgICAgICAgICAnI2MyODVmZicsXG4gICAgICAgICAgICAgICAgICAgICcjODg4ODg4JyxcbiAgICAgICAgICAgICAgICAgICAgJyNhMTAwMDAnLFxuICAgICAgICAgICAgICAgICAgICAnI2IyNmIwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjYjJiMjAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyMwMDYxMDAnLFxuICAgICAgICAgICAgICAgICAgICAnIzAwNDdiMicsXG4gICAgICAgICAgICAgICAgICAgICcjNmIyNGIyJyxcbiAgICAgICAgICAgICAgICAgICAgJyM0NDQ0NDQnLFxuICAgICAgICAgICAgICAgICAgICAnIzVjMDAwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjNjYzZDAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyM2NjY2MDAnLFxuICAgICAgICAgICAgICAgICAgICAnIzAwMzcwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjMDAyOTY2JyxcbiAgICAgICAgICAgICAgICAgICAgJyMzZDE0NjYnLFxuICAgICAgICAgICAgICAgICAgICAnI2ZmOTkwMScsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGJhY2tncm91bmQ6IFtdIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFt7IGFsaWduOiBbXSB9XSxcbiAgICAgICAgW0NVU1RPTV9MSU5LX05BTUVdLFxuICAgICAgICBbQ1VTVE9NX0xJTktfQ1JZUFRFRF0sXG4gICAgICAgIFsnY2xlYW4nXSxcbiAgICBdO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29sb3IodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbG9yVGludCA9IG5ldyBUaW55Q29sb3IodmFsdWUpLmlzTGlnaHQoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnKTtcblxuICAgIF9jb2xvcjogYW55O1xuXG4gICAgdG1wQ29udGVudCA9ICcnO1xuXG4gICAgY29sb3JUaW50ID0gZmFsc2U7XG5cbiAgICBvcGVuQ29uZmlnID0gZmFsc2U7XG5cbiAgICBzb3VyY2VDb2RlID0gZmFsc2U7XG5cbiAgICBzb3VyY2VDb2RlVmFsdWUgPSAnJztcblxuICAgIGN1cnJlbnRFZGl0b3I6IGFueTtcblxuICAgIGxpbmtDb25maWcgPSAnJztcblxuICAgIGxpbmtTdHlsZSA9ICcnO1xuXG4gICAgbGlua0FscmVhZHlFeGlzdDogYm9vbGVhbjtcblxuICAgIGNoZWNrZWQgPSBmYWxzZTtcblxuICAgIGNyeXB0ZWQgPSBmYWxzZTtcblxuICAgIGN1cnJlbnRUb29sVGlwOiBhbnk7XG5cbiAgICBlZGl0b3I6IGFueTtcblxuICAgIG1vZHVsZXM6IGFueTtcblxuICAgIHV1aWQgPSB1dWlkKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLCBwcml2YXRlIHF1aWxsU2VydmljZTogUXVpbGxTZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5xdWlsbFNlcnZpY2UuaW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZURlZmF1bHRDb250ZW50VHJhbnNsYXRpb24oKTtcbiAgICAgICAgdGhpcy5tb2R1bGVzID0ge1xuICAgICAgICAgICAgc3ludGF4OiBmYWxzZSxcbiAgICAgICAgICAgIGh0bWxFZGl0QnV0dG9uOiB7fSxcbiAgICAgICAgICAgIHRvb2xiYXI6IHtcbiAgICAgICAgICAgICAgICBjb250YWluZXI6IHRoaXMudG9vbGJhcixcbiAgICAgICAgICAgICAgICBoYW5kbGVyczoge1xuICAgICAgICAgICAgICAgICAgICBbQ1VTVE9NX0xJTktfTkFNRV06IHRoaXMuYWRkTGluay5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICAgICBbQ1VTVE9NX0xJTktfQ1JZUFRFRF06IHRoaXMuYWRkTGluay5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICAgICBbQ1VTVE9NX1VQUEVSQ0FTRV9OQU1FXTogdGhpcy5hZGRVcHBlckNhc2UuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNsaXBib2FyZDoge1xuICAgICAgICAgICAgICAgIG1hdGNoZXJzOiBbWydCUicsIHRoaXMubGluZUJyZWFrTWF0Y2hlcl1dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGtleWJvYXJkOiB7XG4gICAgICAgICAgICAgICAgYmluZGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgbGluZWJyZWFrOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IDEzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnRLZXk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiAocmFuZ2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBsaW5lIGJyZWFrcyB3aXRoIHNoaWZ0ICsgZW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudExlYWYgPSB0aGlzLmVkaXRvci5nZXRMZWFmKHJhbmdlLmluZGV4KVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV4dExlYWYgPSB0aGlzLmVkaXRvci5nZXRMZWFmKHJhbmdlLmluZGV4ICsgMSlbMF07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRvci5pbnNlcnRFbWJlZChyYW5nZS5pbmRleCwgJ2JyZWFrJywgdHJ1ZSwgJ3VzZXInKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluc2VydCBhIHNlY29uZCBicmVhayBpZjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBdCB0aGUgZW5kIG9mIHRoZSBlZGl0b3IsIE9SIG5leHQgbGVhZiBoYXMgYSBkaWZmZXJlbnQgcGFyZW50ICg8cD4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5leHRMZWFmID09PSBudWxsIHx8IGN1cnJlbnRMZWFmLnBhcmVudCAhPT0gbmV4dExlYWYucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yLmluc2VydEVtYmVkKHJhbmdlLmluZGV4LCAnYnJlYWsnLCB0cnVlLCAndXNlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlJ3ZlIGluc2VydGVkIGEgbGluZSBicmVhaywgbW92ZSB0aGUgY3Vyc29yIGZvcndhcmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRvci5zZXRTZWxlY3Rpb24ocmFuZ2UuaW5kZXggKyAxLCBRdWlsbC5zb3VyY2VzLlNJTEVOVCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucXVpbGxTZXJ2aWNlLmJpbmRUb29sdGlwRm9jdXMoKS5zdWJzY3JpYmUoKGlkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzVG9vbHRpcEZvY3VzZWQuZW1pdChmYWxzZSk7XG4gICAgICAgICAgICBpZiAoaWQgPT09IHRoaXMudXVpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNUb29sdGlwRm9jdXNlZC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCkge1xuICAgICAgICB0aGlzLnRtcENvbnRlbnQgPSAvXndiXFwuLy50ZXN0KHRoaXMuY29udGVudCkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmNvbnRlbnQpIDogdGhpcy5jb250ZW50O1xuICAgIH1cblxuICAgIGNvbnRlbnRDaGFuZ2VkKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXREZWZhdWx0VGV4dENvbG9yQWN0aW9uKGV2ZW50LmRlbHRhKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VGV4dEJsYWNrQ29sb3IoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuZWRpdG9yLnJvb3QuaW5uZXJIVE1MO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNFbXB0eSh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY29udGVudENoYW5nZS5lbWl0KHRoaXMuY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0b3JMb2FkZWQoZTogYW55KSB7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gZTtcbiAgICAgICAgdGhpcy5zZXRFdmVudExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgYWRkVXBwZXJDYXNlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IuZm9ybWF0KENVU1RPTV9VUFBFUkNBU0VfTkFNRSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IuZm9ybWF0KENVU1RPTV9VUFBFUkNBU0VfTkFNRSwgJ3VwcGVyY2FzZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkTGluayh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMubGlua0FscmVhZHlFeGlzdCA9IGZhbHNlO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJldHJpZXZlRXhpc3RpbmdMaW5rKCk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY3VycmVudFRvb2xUaXApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ05vIHBhcmVudCBlbGVtZW50Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsZWZ0U3R5bGUgPSB0aGlzLmN1cnJlbnRUb29sVGlwLnN0eWxlLmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGxldCB3aWR0aFN0eWxlID0gdGhpcy5jdXJyZW50VG9vbFRpcC5zdHlsZS53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wU3R5bGUgPSB0aGlzLmN1cnJlbnRUb29sVGlwLnN0eWxlLnRvcDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vZmZzZXQgJiYgd2lkdGhTdHlsZS5yZXBsYWNlKCdweCcsICcnKSA8IDUwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbW92ZWRTdHlsZSA9ICg1MjAgLSBwYXJzZUludCh3aWR0aFN0eWxlLnJlcGxhY2UoJ3B4JywgJycpLCAxMCkpIC8gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoU3R5bGUgPSAnNTIwcHgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdFN0eWxlID0gcGFyc2VJbnQobGVmdFN0eWxlLnJlcGxhY2UoJ3B4JywgJycpLCAxMCkgLSBtb3ZlZFN0eWxlICsgJ3B4JztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlua1N0eWxlID1cbiAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQ6JyArXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRUb29sVGlwLmNsaWVudEhlaWdodCArXG4gICAgICAgICAgICAgICAgICAgICAgICAncHg7IHdpZHRoOicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhTdHlsZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnO2xlZnQ6JyArXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0U3R5bGUgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJzt0b3A6JyArXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BTdHlsZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuQ29uZmlnID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50RWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgc2V0RXZlbnRMaXN0ZW5lcigpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRvb2wgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucWwtdG9vbHRpcCcpO1xuICAgICAgICBjdXJyZW50VG9vbC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRUb29sVGlwID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJy5xbC10b29sdGlwJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFsaWRUaGlzVXJsT25FbnRlcihlOiBhbnkpIHtcbiAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRUaGlzVXJsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZFRoaXNVcmwoKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBsaW5rLCBhdm9pZCBocmVmID0gW09iamVjdCBPYmplY3RdXG4gICAgICAgICAgICBpZiAodGhpcy5saW5rQWxyZWFkeUV4aXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVMaW5rKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRFZGl0b3IuZm9ybWF0KENVU1RPTV9MSU5LX05BTUUsIHsgdGFyZ2V0OiAhdGhpcy5jaGVja2VkLCB2YWx1ZTogdGhpcy5saW5rQ29uZmlnLCBjcnlwdGVkOiB0aGlzLmNyeXB0ZWQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZVVybENvbmZpZygpO1xuICAgIH1cblxuICAgIGNsb3NlVXJsQ29uZmlnKCkge1xuICAgICAgICB0aGlzLm9wZW5Db25maWcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5saW5rQ29uZmlnID0gJyc7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlzRW1wdHkoY29udGVudDogYW55KSB7XG4gICAgICAgIGNvbnN0IGNvbW1lbnRUZXh0ID0gY29udGVudC50cmltKCk7XG4gICAgICAgIGNvbnN0IHJlID0gL148W3BoMC05XSs+KDxicj58PGJyXFwvPnw8YnJcXHNcXC8+fFxccyt8KTxcXC9bcGgwLTldKz4kL2dtO1xuICAgICAgICByZXR1cm4gcmUudGVzdChjb21tZW50VGV4dCk7XG4gICAgfVxuXG4gICAgZm9jdXNUaGlzKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBldmVudC5lZGl0b3I7XG4gICAgICAgIHRoaXMucXVpbGxTZXJ2aWNlLnNldEZvY3VzZWQodGhpcy51dWlkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzTG9zdCgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwTG9zdEZvY3VzLmVtaXQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcmV0cmlldmVFeGlzdGluZ0xpbmsoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBsaW5rRm9ybWF0ID0gdGhpcy5lZGl0b3IuZ2V0Rm9ybWF0KClbQ1VTVE9NX0xJTktfTkFNRV07XG4gICAgICAgICAgICBpZiAoIWxpbmtGb3JtYXQudGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubGlua0NvbmZpZyA9IGxpbmtGb3JtYXQuY3J5cHRlZCA/IGF0b2IobGlua0Zvcm1hdC5jcnlwdGVkKSA6IGxpbmtGb3JtYXQudmFsdWUgPyBsaW5rRm9ybWF0LnZhbHVlIDogbGlua0Zvcm1hdFswXS52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMubGlua0FscmVhZHlFeGlzdCA9IHRydWU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlbW92ZUxpbmsoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlTGluaygpO1xuICAgIH1cblxuICAgIHJlbW92ZUxpbmsoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEVkaXRvci5mb3JtYXQoQ1VTVE9NX0xJTktfTkFNRSk7XG4gICAgfVxuXG4gICAgaXNTZXREZWZhdWx0VGV4dENvbG9yQWN0aW9uKGRlbHRhOiBhbnkpIHtcbiAgICAgICAgZm9yIChjb25zdCBvcGUgb2YgZGVsdGEub3BzKSB7XG4gICAgICAgICAgICBpZiAob3BlLmF0dHJpYnV0ZXMgJiYgb3BlLmF0dHJpYnV0ZXMuY29sb3IgPT09ICcjZmY5OTAxJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFF1aWxsIGhhcyB0aGUgYmxhY2sgY29sb3IgYnkgZGVmYXVsdC5cbiAgICAgKiBBZGRpbmcgYmxhY2sgY29sb3IgYXZvaWQgaGlkZGluZyB0ZXh0IGluIHRoZSBmcm9udCAod2hlbiB0aGUgZGVmYXVsdCBjb2xvciB0ZXh0IGluIHRoZSBmcm9udCBpcyB3aGl0ZSlcbiAgICAgKi9cbiAgICBzZXRUZXh0QmxhY2tDb2xvcigpIHtcbiAgICAgICAgdGhpcy5lZGl0b3IuZm9ybWF0KCdjb2xvcicsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxpbmVCcmVha01hdGNoZXIoKSB7XG4gICAgICAgIHZhciBuZXdEZWx0YSA9IG5ldyBEZWx0YSgpO1xuICAgICAgICBuZXdEZWx0YS5pbnNlcnQoeyBicmVhazogJycgfSk7XG4gICAgICAgIHJldHVybiBuZXdEZWx0YTtcbiAgICB9XG59XG4iXX0=
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL3F1aWxsL3F1aWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25JLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxjQUFjLE1BQU0sT0FBTyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLEtBQUssR0FBUSxjQUFjLENBQUM7QUFNbEMsTUFBTSxPQUFPLGNBQWM7SUE2R3ZCLFlBQW9CLE1BQWMsRUFBVSxZQUEwQixFQUFVLGdCQUFrQztRQUE5RixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBNUd4RyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELFlBQU8sR0FBRyxFQUFFLENB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QjtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksUUFBUSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDM0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7OztZQXZVSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLDJzSEFBcUM7YUFDeEM7OztZQWJ3QyxNQUFNO1lBRXdCLFlBQVk7WUFJMUUsZ0JBQWdCOzs7NEJBU3BCLE1BQU07K0JBRU4sTUFBTTsrQkFFTixNQUFNO3NCQUVOLEtBQUs7cUJBRUwsS0FBSztzQkFFTCxLQUFLO29CQTBETCxLQUFLOzBCQU1MLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpbnlDb2xvciB9IGZyb20gJ0BjdHJsL3Rpbnljb2xvcic7XG5pbXBvcnQgeyBDVVNUT01fTElOS19OQU1FLCBDVVNUT01fVVBQRVJDQVNFX05BTUUsIENVU1RPTV9MSU5LX0NSWVBURUQsIFF1aWxsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3F1aWxsLnNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0ICogYXMgUXVpbGxOYW1lc3BhY2UgZnJvbSAncXVpbGwnO1xuaW1wb3J0IHsgRGVsdGEgfSBmcm9tICcuLi8uLi8uLi9kdG9zL3V0aWxzL3F1aWxsL2RlbHRhLmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmNvbnN0IFF1aWxsOiBhbnkgPSBRdWlsbE5hbWVzcGFjZTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3Yi1xdWlsbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1aWxsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUXVpbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBjb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIGlzVG9vbHRpcEZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KCkgdG9vbHRpcExvc3RGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBJbnB1dCgpIGNvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpIG9mZnNldCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdG9vbGJhciA9IFtcbiAgICAgICAgWydib2xkJywgJ2l0YWxpYycsICd1bmRlcmxpbmUnLCAnc3RyaWtlJywgQ1VTVE9NX1VQUEVSQ0FTRV9OQU1FXSxcbiAgICAgICAgWydibG9ja3F1b3RlJ10sXG5cbiAgICAgICAgW3sgbGlzdDogJ29yZGVyZWQnIH0sIHsgbGlzdDogJ2J1bGxldCcgfV0sXG4gICAgICAgIFt7IHNjcmlwdDogJ3N1YicgfSwgeyBzY3JpcHQ6ICdzdXBlcicgfV0sXG4gICAgICAgIFt7IGluZGVudDogJy0xJyB9LCB7IGluZGVudDogJysxJyB9XSxcbiAgICAgICAgW3sgc2l6ZTogWydzbWFsbCcsIGZhbHNlLCAnbGFyZ2UnLCAnaHVnZSddIH1dLFxuICAgICAgICBbeyBoZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV0gfV0sXG4gICAgICAgIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogW1xuICAgICAgICAgICAgICAgICAgICAnIzAwMDAwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjZTYwMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyNmZjk5MDAnLFxuICAgICAgICAgICAgICAgICAgICAnI2ZmZmYwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjMDA4YTAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyMwMDY2Y2MnLFxuICAgICAgICAgICAgICAgICAgICAnIzk5MzNmZicsXG4gICAgICAgICAgICAgICAgICAgICcjZmZmZmZmJyxcbiAgICAgICAgICAgICAgICAgICAgJyNmYWNjY2MnLFxuICAgICAgICAgICAgICAgICAgICAnI2ZmZWJjYycsXG4gICAgICAgICAgICAgICAgICAgICcjZmZmZmNjJyxcbiAgICAgICAgICAgICAgICAgICAgJyNjY2U4Y2MnLFxuICAgICAgICAgICAgICAgICAgICAnI2NjZTBmNScsXG4gICAgICAgICAgICAgICAgICAgICcjZWJkNmZmJyxcbiAgICAgICAgICAgICAgICAgICAgJyNiYmJiYmInLFxuICAgICAgICAgICAgICAgICAgICAnI2YwNjY2NicsXG4gICAgICAgICAgICAgICAgICAgICcjZmZjMjY2JyxcbiAgICAgICAgICAgICAgICAgICAgJyNmZmZmNjYnLFxuICAgICAgICAgICAgICAgICAgICAnIzY2Yjk2NicsXG4gICAgICAgICAgICAgICAgICAgICcjNjZhM2UwJyxcbiAgICAgICAgICAgICAgICAgICAgJyNjMjg1ZmYnLFxuICAgICAgICAgICAgICAgICAgICAnIzg4ODg4OCcsXG4gICAgICAgICAgICAgICAgICAgICcjYTEwMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyNiMjZiMDAnLFxuICAgICAgICAgICAgICAgICAgICAnI2IyYjIwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjMDA2MTAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyMwMDQ3YjInLFxuICAgICAgICAgICAgICAgICAgICAnIzZiMjRiMicsXG4gICAgICAgICAgICAgICAgICAgICcjNDQ0NDQ0JyxcbiAgICAgICAgICAgICAgICAgICAgJyM1YzAwMDAnLFxuICAgICAgICAgICAgICAgICAgICAnIzY2M2QwMCcsXG4gICAgICAgICAgICAgICAgICAgICcjNjY2NjAwJyxcbiAgICAgICAgICAgICAgICAgICAgJyMwMDM3MDAnLFxuICAgICAgICAgICAgICAgICAgICAnIzAwMjk2NicsXG4gICAgICAgICAgICAgICAgICAgICcjM2QxNDY2JyxcbiAgICAgICAgICAgICAgICAgICAgJyNmZjk5MDEnLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBiYWNrZ3JvdW5kOiBbXSB9LFxuICAgICAgICBdLFxuICAgICAgICBbeyBhbGlnbjogW10gfV0sXG4gICAgICAgIFtDVVNUT01fTElOS19OQU1FXSxcbiAgICAgICAgW0NVU1RPTV9MSU5LX0NSWVBURURdLFxuICAgICAgICBbJ2NsZWFuJ10sXG4gICAgXTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbG9yKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb2xvclRpbnQgPSBuZXcgVGlueUNvbG9yKHZhbHVlKS5pc0xpZ2h0KCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyk7XG5cbiAgICBfY29sb3I6IGFueTtcblxuICAgIHRtcENvbnRlbnQgPSAnJztcblxuICAgIGNvbG9yVGludCA9IGZhbHNlO1xuXG4gICAgb3BlbkNvbmZpZyA9IGZhbHNlO1xuXG4gICAgc291cmNlQ29kZSA9IGZhbHNlO1xuXG4gICAgc291cmNlQ29kZVZhbHVlID0gJyc7XG5cbiAgICBjdXJyZW50RWRpdG9yOiBhbnk7XG5cbiAgICBsaW5rQ29uZmlnID0gJyc7XG5cbiAgICBsaW5rU3R5bGUgPSAnJztcblxuICAgIGxpbmtBbHJlYWR5RXhpc3Q6IGJvb2xlYW47XG5cbiAgICBjaGVja2VkID0gZmFsc2U7XG5cbiAgICBjcnlwdGVkID0gZmFsc2U7XG5cbiAgICBjdXJyZW50VG9vbFRpcDogYW55O1xuXG4gICAgZWRpdG9yOiBhbnk7XG5cbiAgICBtb2R1bGVzOiBhbnk7XG5cbiAgICB1dWlkID0gdXVpZCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBxdWlsbFNlcnZpY2U6IFF1aWxsU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMucXVpbGxTZXJ2aWNlLmluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVEZWZhdWx0Q29udGVudFRyYW5zbGF0aW9uKCk7XG4gICAgICAgIHRoaXMubW9kdWxlcyA9IHtcbiAgICAgICAgICAgIHN5bnRheDogZmFsc2UsXG4gICAgICAgICAgICBodG1sRWRpdEJ1dHRvbjoge30sXG4gICAgICAgICAgICB0b29sYmFyOiB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyOiB0aGlzLnRvb2xiYXIsXG4gICAgICAgICAgICAgICAgaGFuZGxlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgW0NVU1RPTV9MSU5LX05BTUVdOiB0aGlzLmFkZExpbmsuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgW0NVU1RPTV9MSU5LX0NSWVBURURdOiB0aGlzLmFkZExpbmsuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgW0NVU1RPTV9VUFBFUkNBU0VfTkFNRV06IHRoaXMuYWRkVXBwZXJDYXNlLmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbGlwYm9hcmQ6IHtcbiAgICAgICAgICAgICAgICBtYXRjaGVyczogW1snQlInLCB0aGlzLmxpbmVCcmVha01hdGNoZXJdXSxcbiAgICAgICAgICAgICAgICBtYXRjaFZpc3VhbDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAga2V5Ym9hcmQ6IHtcbiAgICAgICAgICAgICAgICBiaW5kaW5nczoge1xuICAgICAgICAgICAgICAgICAgICBsaW5lYnJlYWs6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogMTMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGlmdEtleTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXI6IChyYW5nZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGFuZGxlIGxpbmUgYnJlYWtzIHdpdGggc2hpZnQgKyBlbnRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50TGVhZiA9IHRoaXMuZWRpdG9yLmdldExlYWYocmFuZ2UuaW5kZXgpWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXh0TGVhZiA9IHRoaXMuZWRpdG9yLmdldExlYWYocmFuZ2UuaW5kZXggKyAxKVswXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yLmluc2VydEVtYmVkKHJhbmdlLmluZGV4LCAnYnJlYWsnLCB0cnVlLCAndXNlcicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5zZXJ0IGEgc2Vjb25kIGJyZWFrIGlmOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEF0IHRoZSBlbmQgb2YgdGhlIGVkaXRvciwgT1IgbmV4dCBsZWFmIGhhcyBhIGRpZmZlcmVudCBwYXJlbnQgKDxwPilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV4dExlYWYgPT09IG51bGwgfHwgY3VycmVudExlYWYucGFyZW50ICE9PSBuZXh0TGVhZi5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IuaW5zZXJ0RW1iZWQocmFuZ2UuaW5kZXgsICdicmVhaycsIHRydWUsICd1c2VyJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm93IHRoYXQgd2UndmUgaW5zZXJ0ZWQgYSBsaW5lIGJyZWFrLCBtb3ZlIHRoZSBjdXJzb3IgZm9yd2FyZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihyYW5nZS5pbmRleCArIDEsIFF1aWxsLnNvdXJjZXMuU0lMRU5UKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5xdWlsbFNlcnZpY2UuYmluZFRvb2x0aXBGb2N1cygpLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNUb29sdGlwRm9jdXNlZC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIGlmIChpZCA9PT0gdGhpcy51dWlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Rvb2x0aXBGb2N1c2VkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhbmRsZURlZmF1bHRDb250ZW50VHJhbnNsYXRpb24oKSB7XG4gICAgICAgIHRoaXMudG1wQ29udGVudCA9IC9ed2JcXC4vLnRlc3QodGhpcy5jb250ZW50KSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY29udGVudCkgOiB0aGlzLmNvbnRlbnQ7XG4gICAgfVxuXG4gICAgY29udGVudENoYW5nZWQoZXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NldERlZmF1bHRUZXh0Q29sb3JBY3Rpb24oZXZlbnQuZGVsdGEpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRUZXh0QmxhY2tDb2xvcigpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5lZGl0b3Iucm9vdC5pbm5lckhUTUw7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0VtcHR5KHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlLmVtaXQodGhpcy5jb250ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVkaXRvckxvYWRlZChlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBlO1xuICAgICAgICB0aGlzLnNldEV2ZW50TGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBhZGRVcHBlckNhc2UodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRvci5mb3JtYXQoQ1VTVE9NX1VQUEVSQ0FTRV9OQU1FLCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRvci5mb3JtYXQoQ1VTVE9NX1VQUEVSQ0FTRV9OQU1FLCAndXBwZXJjYXNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRMaW5rKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5saW5rQWxyZWFkeUV4aXN0ID0gZmFsc2U7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmV0cmlldmVFeGlzdGluZ0xpbmsoKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jdXJyZW50VG9vbFRpcCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignTm8gcGFyZW50IGVsZW1lbnQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxlZnRTdHlsZSA9IHRoaXMuY3VycmVudFRvb2xUaXAuc3R5bGUubGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpZHRoU3R5bGUgPSB0aGlzLmN1cnJlbnRUb29sVGlwLnN0eWxlLndpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BTdHlsZSA9IHRoaXMuY3VycmVudFRvb2xUaXAuc3R5bGUudG9wO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9mZnNldCAmJiB3aWR0aFN0eWxlLnJlcGxhY2UoJ3B4JywgJycpIDwgNTAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFN0eWxlID0gKDUyMCAtIHBhcnNlSW50KHdpZHRoU3R5bGUucmVwbGFjZSgncHgnLCAnJyksIDEwKSkgLyAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhTdHlsZSA9ICc1MjBweCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0U3R5bGUgPSBwYXJzZUludChsZWZ0U3R5bGUucmVwbGFjZSgncHgnLCAnJyksIDEwKSAtIG1vdmVkU3R5bGUgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5rU3R5bGUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodDonICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFRvb2xUaXAuY2xpZW50SGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdweDsgd2lkdGg6JyArXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aFN0eWxlICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc7bGVmdDonICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRTdHlsZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnO3RvcDonICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcFN0eWxlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Db25maWcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRFZGl0b3IgPSB0aGlzLmVkaXRvcjtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICB9XG5cbiAgICBzZXRFdmVudExpc3RlbmVyKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50VG9vbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xbC10b29sdGlwJyk7XG4gICAgICAgIGN1cnJlbnRUb29sLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFRvb2xUaXAgPSBldmVudC50YXJnZXQuY2xvc2VzdCgnLnFsLXRvb2x0aXAnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2YWxpZFRoaXNVcmxPbkVudGVyKGU6IGFueSkge1xuICAgICAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xuICAgICAgICAgICAgdGhpcy52YWxpZFRoaXNVcmwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkVGhpc1VybCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEVkaXRvcikge1xuICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGxpbmssIGF2b2lkIGhyZWYgPSBbT2JqZWN0IE9iamVjdF1cbiAgICAgICAgICAgIGlmICh0aGlzLmxpbmtBbHJlYWR5RXhpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUxpbmsoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudEVkaXRvci5mb3JtYXQoQ1VTVE9NX0xJTktfTkFNRSwgeyB0YXJnZXQ6ICF0aGlzLmNoZWNrZWQsIHZhbHVlOiB0aGlzLmxpbmtDb25maWcsIGNyeXB0ZWQ6IHRoaXMuY3J5cHRlZCB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlVXJsQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgY2xvc2VVcmxDb25maWcoKSB7XG4gICAgICAgIHRoaXMub3BlbkNvbmZpZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxpbmtDb25maWcgPSAnJztcbiAgICAgICAgdGhpcy5jaGVja2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNFbXB0eShjb250ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgY29tbWVudFRleHQgPSBjb250ZW50LnRyaW0oKTtcbiAgICAgICAgY29uc3QgcmUgPSAvXjxbcGgwLTldKz4oPGJyPnw8YnJcXC8+fDxiclxcc1xcLz58XFxzK3wpPFxcL1twaDAtOV0rPiQvZ207XG4gICAgICAgIHJldHVybiByZS50ZXN0KGNvbW1lbnRUZXh0KTtcbiAgICB9XG5cbiAgICBmb2N1c1RoaXMoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmVkaXRvciA9IGV2ZW50LmVkaXRvcjtcbiAgICAgICAgdGhpcy5xdWlsbFNlcnZpY2Uuc2V0Rm9jdXNlZCh0aGlzLnV1aWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNMb3N0KCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBMb3N0Rm9jdXMuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICByZXRyaWV2ZUV4aXN0aW5nTGluaygpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmtGb3JtYXQgPSB0aGlzLmVkaXRvci5nZXRGb3JtYXQoKVtDVVNUT01fTElOS19OQU1FXTtcbiAgICAgICAgICAgIGlmICghbGlua0Zvcm1hdC50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5saW5rQ29uZmlnID0gbGlua0Zvcm1hdC5jcnlwdGVkID8gYXRvYihsaW5rRm9ybWF0LmNyeXB0ZWQpIDogbGlua0Zvcm1hdC52YWx1ZSA/IGxpbmtGb3JtYXQudmFsdWUgOiBsaW5rRm9ybWF0WzBdLnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5saW5rQWxyZWFkeUV4aXN0ID0gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUmVtb3ZlTGluaygpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaW5rKCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlTGluaygpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RWRpdG9yLmZvcm1hdChDVVNUT01fTElOS19OQU1FKTtcbiAgICB9XG5cbiAgICBpc1NldERlZmF1bHRUZXh0Q29sb3JBY3Rpb24oZGVsdGE6IGFueSkge1xuICAgICAgICBmb3IgKGNvbnN0IG9wZSBvZiBkZWx0YS5vcHMpIHtcbiAgICAgICAgICAgIGlmIChvcGUuYXR0cmlidXRlcyAmJiBvcGUuYXR0cmlidXRlcy5jb2xvciA9PT0gJyNmZjk5MDEnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUXVpbGwgaGFzIHRoZSBibGFjayBjb2xvciBieSBkZWZhdWx0LlxuICAgICAqIEFkZGluZyBibGFjayBjb2xvciBhdm9pZCBoaWRkaW5nIHRleHQgaW4gdGhlIGZyb250ICh3aGVuIHRoZSBkZWZhdWx0IGNvbG9yIHRleHQgaW4gdGhlIGZyb250IGlzIHdoaXRlKVxuICAgICAqL1xuICAgIHNldFRleHRCbGFja0NvbG9yKCkge1xuICAgICAgICB0aGlzLmVkaXRvci5mb3JtYXQoJ2NvbG9yJywgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbGluZUJyZWFrTWF0Y2hlcigpIHtcbiAgICAgICAgdmFyIG5ld0RlbHRhID0gbmV3IERlbHRhKCk7XG4gICAgICAgIG5ld0RlbHRhLmluc2VydCh7IGJyZWFrOiAnJyB9KTtcbiAgICAgICAgcmV0dXJuIG5ld0RlbHRhO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,7 +2,6 @@ import { Component, ElementRef, ViewChild } from '@angular/core';
2
2
  import { FORM_NAME_ID_FORM } from '../../../dtos/forms/forms.dto';
3
3
  import { StructuresComponent } from '../../structures.component';
4
4
  import { icon, latLng, marker, tileLayer } from 'leaflet';
5
- import places from 'places.js';
6
5
  import { ApiService } from '../../../services/utils/api.service';
7
6
  import { MapBackgroundFormLeftService } from '../../../services/blocks/map/map-background-form-left.service';
8
7
  export class MapBackgroundFormLeftComponent extends StructuresComponent {
@@ -10,7 +9,9 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
10
9
  super();
11
10
  this.apiService = apiService;
12
11
  this.address = '';
12
+ this.triggerAddress = '';
13
13
  this.editPlaceMap = null;
14
+ this.firstTimeTrigger = false;
14
15
  this.options = {};
15
16
  this.layers = [];
16
17
  this.showMap = false;
@@ -33,27 +34,17 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
33
34
  }
34
35
  });
35
36
  }
36
- ngAfterViewInit() {
37
- const placesAutocomplete = places({
38
- appId: 'pl9OI1NPY62Y',
39
- apiKey: '290e5a0e33e751c85c36690d502991fc',
40
- container: this.input.nativeElement,
41
- });
42
- placesAutocomplete.on('change', (algoliaReturnElement) => {
43
- this.setCoordinateOnPlaces(algoliaReturnElement);
44
- });
45
- }
46
- setCoordinateOnPlaces(algoliaReturnElement) {
37
+ setCoordinateOnPlaces(googleResults) {
47
38
  this.showMap = false;
48
39
  this.options = {
49
- layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 16, attribution: 'WiziShop' })],
40
+ layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'WiziShop' })],
50
41
  zoom: 18,
51
42
  zoomControl: false,
52
- center: latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng),
43
+ center: latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng),
53
44
  };
54
- this.center = latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng);
45
+ this.center = latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng);
55
46
  this.layers = [
56
- marker([algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng], {
47
+ marker([googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng], {
57
48
  icon: icon({
58
49
  iconSize: [25, 41],
59
50
  iconAnchor: [13, 41],
@@ -62,23 +53,32 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
62
53
  }),
63
54
  }),
64
55
  ];
65
- this.contentBlock[this.FORM_NAME_COORDINATE_Y] = algoliaReturnElement.suggestion.latlng.lat;
66
- this.contentBlock[this.FORM_NAME_COORDINATE_X] = algoliaReturnElement.suggestion.latlng.lng;
67
- this.address = algoliaReturnElement.suggestion.value;
56
+ this.contentBlock[this.FORM_NAME_COORDINATE_Y] = googleResults.suggestion.latlng.lat;
57
+ this.contentBlock[this.FORM_NAME_COORDINATE_X] = googleResults.suggestion.latlng.lng;
58
+ this.address = googleResults.suggestion.value;
68
59
  this.showMap = true;
69
60
  this.persist();
70
61
  }
71
- createEditAlgoliaInput() {
72
- if (this.editPlaceMap === null) {
73
- this.editPlaceMap = places({
74
- appId: 'pl9OI1NPY62Y',
75
- apiKey: '290e5a0e33e751c85c36690d502991fc',
76
- container: document.querySelector('#address-input-edit' + this.uuid),
77
- });
78
- this.editPlaceMap.on('change', (algoliaReturnElement) => {
79
- this.setCoordinateOnPlaces(algoliaReturnElement);
80
- });
81
- }
62
+ handleAddressChange(event) {
63
+ this.googleMapReturnElement = {
64
+ suggestion: {
65
+ latlng: {
66
+ lat: event.geometry.location.lat(),
67
+ lng: event.geometry.location.lng(),
68
+ },
69
+ value: event.name,
70
+ },
71
+ };
72
+ this.setCoordinateOnPlaces(this.googleMapReturnElement);
73
+ }
74
+ /**
75
+ * Avoid partial map loaded at the initialization
76
+ * @param map
77
+ */
78
+ onMapReady(map) {
79
+ setTimeout(() => {
80
+ map.invalidateSize();
81
+ }, 0);
82
82
  }
83
83
  selectThisForm() {
84
84
  if (this.selectedValue === null) {
@@ -90,20 +90,11 @@ export class MapBackgroundFormLeftComponent extends StructuresComponent {
90
90
  this.contentBlock[FORM_NAME_ID_FORM] = this.selectedValue.id;
91
91
  this.persist();
92
92
  }
93
- /**
94
- * Avoid partial map loaded at the initialization
95
- * @param map
96
- */
97
- onMapReady(map) {
98
- setTimeout(() => {
99
- map.invalidateSize();
100
- }, 0);
101
- }
102
93
  }
103
94
  MapBackgroundFormLeftComponent.decorators = [
104
95
  { type: Component, args: [{
105
96
  selector: MapBackgroundFormLeftService.selector(),
106
- template: "<div class=\"wb-map-background-form-left\">\n <div class=\"wb-map-background-form-left__container__config\" *ngIf=\"showMap\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\"\n (click)=\"createEditAlgoliaInput()\"\n [isFullwidth]=\"true\"\n >\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input id=\"address-input-edit{{ uuid }}\" type=\"text\" [(ngModel)]=\"address\" #myInputEdit (click)=\"myInputEdit.select()\" />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-background-form-left__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input id=\"address-input{{ uuid }}\" type=\"text\" [(ngModel)]=\"address\" #myInput (click)=\"myInput.select()\" />\n </div>\n <div class=\"columns is-gapless\" *ngIf=\"showMap\">\n <div class=\"column\">\n <div *ngIf=\"selectedDetailForm.length === 0\">\n <div *ngIf=\"forms.length === 0\" class=\"wb-map-background-form-left__loader\">\n <wb-loader></wb-loader>\n </div>\n <div class=\"wb-map-background-form-left__selector-form\" *ngIf=\"forms.length > 0\">\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n <div *ngIf=\"selectedDetailForm.length > 0\" class=\"wb-map-background-form-left__container-form\">\n <div class=\"wb-map-background-form-left__container-form__editor\">\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_CONTENT]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container-form__content\">\n <div *ngFor=\"let select of selectedDetailForm\">\n <p [innerHTML]=\"select.title\"></p>\n <p>{{ select.type | answerPipe | translate }}</p>\n </div>\n <div>\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n &nbsp;&nbsp;&nbsp;\n <button>{{ selectedValue.submit_label }}</button>\n </div>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container\">\n <div>\n <div class=\"wb-map-background-form-left__cover\"></div>\n <div\n class=\"wb-map-background-form-left__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
97
+ template: "<div class=\"wb-map-background-form-left\">\n <div class=\"wb-map-background-form-left__container__config\" *ngIf=\"showMap\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-background-form-left__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n <div class=\"columns is-gapless\" *ngIf=\"showMap\">\n <div class=\"column\">\n <div *ngIf=\"selectedDetailForm.length === 0\">\n <div *ngIf=\"forms.length === 0\" class=\"wb-map-background-form-left__loader\">\n <wb-loader></wb-loader>\n </div>\n <div class=\"wb-map-background-form-left__selector-form\" *ngIf=\"forms.length > 0\">\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n <div *ngIf=\"selectedDetailForm.length > 0\" class=\"wb-map-background-form-left__container-form\">\n <div class=\"wb-map-background-form-left__container-form__editor\">\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_CONTENT]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container-form__content\">\n <div *ngFor=\"let select of selectedDetailForm\">\n <p [innerHTML]=\"select.title\"></p>\n <p>{{ select.type | answerPipe | translate }}</p>\n </div>\n <div>\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n &nbsp;&nbsp;&nbsp;\n <button>{{ selectedValue.submit_label }}</button>\n </div>\n </div>\n </div>\n <div class=\"wb-map-background-form-left__container\">\n <div>\n <div class=\"wb-map-background-form-left__cover\"></div>\n <div\n class=\"wb-map-background-form-left__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
107
98
  },] }
108
99
  ];
109
100
  MapBackgroundFormLeftComponent.ctorParameters = () => [
@@ -112,4 +103,4 @@ MapBackgroundFormLeftComponent.ctorParameters = () => [
112
103
  MapBackgroundFormLeftComponent.propDecorators = {
113
104
  input: [{ type: ViewChild, args: ['myInput',] }]
114
105
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zdHJ1Y3R1cmVzL21hcC9iYWNrZ3JvdW5kLWZvcm0tbGVmdC9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQU83RyxNQUFNLE9BQU8sOEJBQ1QsU0FBUSxtQkFBNkM7SUFtQnJELFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhCMUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixrQkFBYSxHQUFnQixJQUFJLENBQUM7UUFFbEMsdUJBQWtCLEdB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QUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBeEhKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNEJBQTRCLENBQUMsUUFBUSxFQUFFO2dCQUNqRCwyaElBQXdEO2FBQzNEOzs7WUFSUSxVQUFVOzs7b0JBWWQsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9JRF9GT1JNIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9wZW5NYXBEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvbWFwcy9vcGVuLW1hcC5kdG8nO1xuaW1wb3J0IHsgaWNvbiwgbGF0TG5nLCBtYXJrZXIsIHRpbGVMYXllciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHBsYWNlcyBmcm9tICdwbGFjZXMuanMnO1xuaW1wb3J0IHsgRm9ybUxpc3REdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvZm9ybXMvZm9ybS1saXN0LmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQmFja2dyb3VuZEZvcm1MZWZ0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvbWFwL21hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdC5kdG8nO1xuaW1wb3J0IHsgTWFwQmFja2dyb3VuZEZvcm1MZWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9tYXAvbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybURldGFpbER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9mb3Jtcy9mb3JtLWRldGFpbC5kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwQmFja2dyb3VuZEZvcm1MZWZ0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBCYWNrZ3JvdW5kRm9ybUxlZnRDb21wb25lbnRcbiAgICBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwQmFja2dyb3VuZEZvcm1MZWZ0RHRvPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ215SW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgICBhZGRyZXNzID0gJyc7XG4gICAgY2VudGVyO1xuXG4gICAgZWRpdFBsYWNlTWFwID0gbnVsbDtcblxuICAgIG9wdGlvbnMgPSB7fTtcbiAgICBsYXllcnMgPSBbXTtcblxuICAgIHNob3dNYXAgPSBmYWxzZTtcblxuICAgIGZvcm1zOiBGb3JtTGlzdER0b1tdID0gW107XG5cbiAgICBzZWxlY3RlZFZhbHVlOiBGb3JtTGlzdER0byA9IG51bGw7XG5cbiAgICBzZWxlY3RlZERldGFpbEZvcm06IEZvcm1EZXRhaWxEdG9bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShNYXBCYWNrZ3JvdW5kRm9ybUxlZnRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Rm9ybXNMaXN0KCkuc3Vic2NyaWJlKChsaXN0czogRm9ybUxpc3REdG9bXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtcyA9IGxpc3RzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3Jtcy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2LmlkID09PSB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSURfRk9STV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHY7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFRoaXNGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwbGFjZXNBdXRvY29tcGxldGUgPSBwbGFjZXMoe1xuICAgICAgICAgICAgYXBwSWQ6ICdwbDlPSTFOUFk2MlknLFxuICAgICAgICAgICAgYXBpS2V5OiAnMjkwZTVhMGUzM2U3NTFjODVjMzY2OTBkNTAyOTkxZmMnLFxuICAgICAgICAgICAgY29udGFpbmVyOiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBsYWNlc0F1dG9jb21wbGV0ZS5vbignY2hhbmdlJywgKGFsZ29saWFSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudDogT3Blbk1hcER0bykge1xuICAgICAgICB0aGlzLnNob3dNYXAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbGF5ZXJzOiBbdGlsZUxheWVyKCdodHRwOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywgeyBtYXhab29tOiAxNiwgYXR0cmlidXRpb246ICdXaXppU2hvcCcgfSldLFxuICAgICAgICAgICAgem9vbTogMTgsXG4gICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UsXG4gICAgICAgICAgICBjZW50ZXI6IGxhdExuZyhhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0gbGF0TG5nKGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXG4gICAgICAgICAgICBtYXJrZXIoW2FsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nXSwge1xuICAgICAgICAgICAgICAgIGljb246IGljb24oe1xuICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzI1LCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25BbmNob3I6IFsxMywgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItaWNvbi5wbmcnLFxuICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1zaGFkb3cucG5nJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWV0gPSBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQ7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0gPSBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sbmc7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBjcmVhdGVFZGl0QWxnb2xpYUlucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5lZGl0UGxhY2VNYXAgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdFBsYWNlTWFwID0gcGxhY2VzKHtcbiAgICAgICAgICAgICAgICBhcHBJZDogJ3BsOU9JMU5QWTYyWScsXG4gICAgICAgICAgICAgICAgYXBpS2V5OiAnMjkwZTVhMGUzM2U3NTFjODVjMzY2OTBkNTAyOTkxZmMnLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FkZHJlc3MtaW5wdXQtZWRpdCcgKyB0aGlzLnV1aWQpLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdFBsYWNlTWFwLm9uKCdjaGFuZ2UnLCAoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZvcm1zRGV0YWlsKHRoaXMuc2VsZWN0ZWRWYWx1ZS5pZCkuc3Vic2NyaWJlKChsaXN0czogRm9ybURldGFpbER0b1tdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGV0YWlsRm9ybSA9IGxpc3RzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dID0gdGhpcy5zZWxlY3RlZFZhbHVlLmlkO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdm9pZCBwYXJ0aWFsIG1hcCBsb2FkZWQgYXQgdGhlIGluaXRpYWxpemF0aW9uXG4gICAgICogQHBhcmFtIG1hcFxuICAgICAqL1xuICAgIG9uTWFwUmVhZHkobWFwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbWFwLmludmFsaWRhdGVTaXplKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zdHJ1Y3R1cmVzL21hcC9iYWNrZ3JvdW5kLWZvcm0tbGVmdC9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFPN0csTUFBTSxPQUFPLDhCQUErQixTQUFRLG1CQUE2QztJQXFCN0YsWUFBb0IsVUFBc0I7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkIxQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFJcEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixrQkFBYSxHQUFnQixJ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QUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO2lCQUNyQztnQkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDcEI7U0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBRztRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ3ZGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQTVHSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDRCQUE0QixDQUFDLFFBQVEsRUFBRTtnQkFDakQsazBJQUF3RDthQUMzRDs7O1lBUlEsVUFBVTs7O29CQVVkLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfSURfRk9STSB9IGZyb20gJy4uLy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGVuTWFwRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL21hcHMvb3Blbi1tYXAuZHRvJztcbmltcG9ydCB7IGljb24sIGxhdExuZywgbWFya2VyLCB0aWxlTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IEZvcm1MaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2Zvcm1zL2Zvcm0tbGlzdC5kdG8nO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcEJhY2tncm91bmRGb3JtTGVmdER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL21hcC9tYXAtYmFja2dyb3VuZC1mb3JtLWxlZnQuZHRvJztcbmltcG9ydCB7IE1hcEJhY2tncm91bmRGb3JtTGVmdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1iYWNrZ3JvdW5kLWZvcm0tbGVmdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1EZXRhaWxEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvZm9ybXMvZm9ybS1kZXRhaWwuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IE1hcEJhY2tncm91bmRGb3JtTGVmdFNlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFwLWJhY2tncm91bmQtZm9ybS1sZWZ0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQmFja2dyb3VuZEZvcm1MZWZ0Q29tcG9uZW50IGV4dGVuZHMgU3RydWN0dXJlc0NvbXBvbmVudDxNYXBCYWNrZ3JvdW5kRm9ybUxlZnREdG8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ215SW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgICBhZGRyZXNzID0gJyc7XG4gICAgdHJpZ2dlckFkZHJlc3MgPSAnJztcbiAgICBjZW50ZXI7XG4gICAgZ29vZ2xlTWFwUmV0dXJuRWxlbWVudDogT3Blbk1hcER0bztcblxuICAgIGVkaXRQbGFjZU1hcCA9IG51bGw7XG4gICAgZmlyc3RUaW1lVHJpZ2dlciA9IGZhbHNlO1xuXG4gICAgb3B0aW9ucyA9IHt9O1xuICAgIGxheWVycyA9IFtdO1xuXG4gICAgc2hvd01hcCA9IGZhbHNlO1xuXG4gICAgZm9ybXM6IEZvcm1MaXN0RHRvW10gPSBbXTtcblxuICAgIHNlbGVjdGVkVmFsdWU6IEZvcm1MaXN0RHRvID0gbnVsbDtcblxuICAgIHNlbGVjdGVkRGV0YWlsRm9ybTogRm9ybURldGFpbER0b1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKE1hcEJhY2tncm91bmRGb3JtTGVmdFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRGb3Jtc0xpc3QoKS5zdWJzY3JpYmUoKGxpc3RzOiBGb3JtTGlzdER0b1tdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zID0gbGlzdHM7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSURfRk9STV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1zLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHYuaWQgPT09IHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9JRF9GT1JNXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0VGhpc0Zvcm0oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRDb29yZGluYXRlT25QbGFjZXMoZ29vZ2xlUmVzdWx0czogT3Blbk1hcER0bykge1xuICAgICAgICB0aGlzLnNob3dNYXAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbGF5ZXJzOiBbdGlsZUxheWVyKCdodHRwOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywgeyBtYXhab29tOiAxOCwgYXR0cmlidXRpb246ICdXaXppU2hvcCcgfSldLFxuICAgICAgICAgICAgem9vbTogMTgsXG4gICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UsXG4gICAgICAgICAgICBjZW50ZXI6IGxhdExuZyhnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNlbnRlciA9IGxhdExuZyhnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpO1xuICAgICAgICB0aGlzLmxheWVycyA9IFtcbiAgICAgICAgICAgIG1hcmtlcihbZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nXSwge1xuICAgICAgICAgICAgICAgIGljb246IGljb24oe1xuICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzI1LCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25BbmNob3I6IFsxMywgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItaWNvbi5wbmcnLFxuICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1zaGFkb3cucG5nJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWV0gPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdDtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9YXSA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVBZGRyZXNzQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCA9IHtcbiAgICAgICAgICAgIHN1Z2dlc3Rpb246IHtcbiAgICAgICAgICAgICAgICBsYXRsbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgbGF0OiBldmVudC5nZW9tZXRyeS5sb2NhdGlvbi5sYXQoKSxcbiAgICAgICAgICAgICAgICAgICAgbG5nOiBldmVudC5nZW9tZXRyeS5sb2NhdGlvbi5sbmcoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBldmVudC5uYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXModGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdm9pZCBwYXJ0aWFsIG1hcCBsb2FkZWQgYXQgdGhlIGluaXRpYWxpemF0aW9uXG4gICAgICogQHBhcmFtIG1hcFxuICAgICAqL1xuICAgIG9uTWFwUmVhZHkobWFwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbWFwLmludmFsaWRhdGVTaXplKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZvcm1zRGV0YWlsKHRoaXMuc2VsZWN0ZWRWYWx1ZS5pZCkuc3Vic2NyaWJlKChsaXN0czogRm9ybURldGFpbER0b1tdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGV0YWlsRm9ybSA9IGxpc3RzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dID0gdGhpcy5zZWxlY3RlZFZhbHVlLmlkO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG59XG4iXX0=
@@ -2,7 +2,6 @@ import { Component, ElementRef, ViewChild } from '@angular/core';
2
2
  import { FORM_NAME_ID_FORM } from '../../../dtos/forms/forms.dto';
3
3
  import { StructuresComponent } from '../../structures.component';
4
4
  import { icon, latLng, marker, tileLayer } from 'leaflet';
5
- import places from 'places.js';
6
5
  import { ApiService } from '../../../services/utils/api.service';
7
6
  import { MapBackgroundFormRightService } from '../../../services/blocks/map/map-background-form-right.service';
8
7
  export class MapBackgroundFormRightComponent extends StructuresComponent {
@@ -10,7 +9,9 @@ export class MapBackgroundFormRightComponent extends StructuresComponent {
10
9
  super();
11
10
  this.apiService = apiService;
12
11
  this.address = '';
12
+ this.triggerAddress = '';
13
13
  this.editPlaceMap = null;
14
+ this.firstTimeTrigger = false;
14
15
  this.options = {};
15
16
  this.layers = [];
16
17
  this.showMap = false;
@@ -33,27 +34,17 @@ export class MapBackgroundFormRightComponent extends StructuresComponent {
33
34
  }
34
35
  });
35
36
  }
36
- ngAfterViewInit() {
37
- const placesAutocomplete = places({
38
- appId: 'pl9OI1NPY62Y',
39
- apiKey: '290e5a0e33e751c85c36690d502991fc',
40
- container: this.input.nativeElement,
41
- });
42
- placesAutocomplete.on('change', (algoliaReturnElement) => {
43
- this.setCoordinateOnPlaces(algoliaReturnElement);
44
- });
45
- }
46
- setCoordinateOnPlaces(algoliaReturnElement) {
37
+ setCoordinateOnPlaces(googleResults) {
47
38
  this.showMap = false;
48
39
  this.options = {
49
- layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 16, attribution: 'WiziShop' })],
40
+ layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'WiziShop' })],
50
41
  zoom: 18,
51
42
  zoomControl: false,
52
- center: latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng),
43
+ center: latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng),
53
44
  };
54
- this.center = latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng);
45
+ this.center = latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng);
55
46
  this.layers = [
56
- marker([algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng], {
47
+ marker([googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng], {
57
48
  icon: icon({
58
49
  iconSize: [25, 41],
59
50
  iconAnchor: [13, 41],
@@ -62,23 +53,32 @@ export class MapBackgroundFormRightComponent extends StructuresComponent {
62
53
  }),
63
54
  }),
64
55
  ];
65
- this.contentBlock[this.FORM_NAME_COORDINATE_Y] = algoliaReturnElement.suggestion.latlng.lat;
66
- this.contentBlock[this.FORM_NAME_COORDINATE_X] = algoliaReturnElement.suggestion.latlng.lng;
67
- this.address = algoliaReturnElement.suggestion.value;
56
+ this.contentBlock[this.FORM_NAME_COORDINATE_Y] = googleResults.suggestion.latlng.lat;
57
+ this.contentBlock[this.FORM_NAME_COORDINATE_X] = googleResults.suggestion.latlng.lng;
58
+ this.address = googleResults.suggestion.value;
68
59
  this.showMap = true;
69
60
  this.persist();
70
61
  }
71
- createEditAlgoliaInput() {
72
- if (this.editPlaceMap === null) {
73
- this.editPlaceMap = places({
74
- appId: 'pl9OI1NPY62Y',
75
- apiKey: '290e5a0e33e751c85c36690d502991fc',
76
- container: document.querySelector('#address-input-edit' + this.uuid),
77
- });
78
- this.editPlaceMap.on('change', (algoliaReturnElement) => {
79
- this.setCoordinateOnPlaces(algoliaReturnElement);
80
- });
81
- }
62
+ handleAddressChange(event) {
63
+ this.googleMapReturnElement = {
64
+ suggestion: {
65
+ latlng: {
66
+ lat: event.geometry.location.lat(),
67
+ lng: event.geometry.location.lng(),
68
+ },
69
+ value: event.name,
70
+ },
71
+ };
72
+ this.setCoordinateOnPlaces(this.googleMapReturnElement);
73
+ }
74
+ /**
75
+ * Avoid partial map loaded at the initialization
76
+ * @param map
77
+ */
78
+ onMapReady(map) {
79
+ setTimeout(() => {
80
+ map.invalidateSize();
81
+ }, 0);
82
82
  }
83
83
  selectThisForm() {
84
84
  if (this.selectedValue === null) {
@@ -90,20 +90,11 @@ export class MapBackgroundFormRightComponent extends StructuresComponent {
90
90
  this.contentBlock[FORM_NAME_ID_FORM] = this.selectedValue.id;
91
91
  this.persist();
92
92
  }
93
- /**
94
- * Avoid partial map loaded at the initialization
95
- * @param map
96
- */
97
- onMapReady(map) {
98
- setTimeout(() => {
99
- map.invalidateSize();
100
- }, 0);
101
- }
102
93
  }
103
94
  MapBackgroundFormRightComponent.decorators = [
104
95
  { type: Component, args: [{
105
96
  selector: MapBackgroundFormRightService.selector(),
106
- template: "<div class=\"wb-map-background-form-right\">\n <div class=\"wb-map-background-form-right__container__config\" *ngIf=\"showMap\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\"\n (click)=\"createEditAlgoliaInput()\"\n [isFullwidth]=\"true\"\n >\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input id=\"address-input-edit{{ uuid }}\" type=\"text\" [(ngModel)]=\"address\" #myInputEdit (click)=\"myInputEdit.select()\" />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-background-form-right__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input id=\"address-input{{ uuid }}\" type=\"text\" [(ngModel)]=\"address\" #myInput (click)=\"myInput.select()\" />\n </div>\n <div class=\"columns is-gapless\" *ngIf=\"showMap\">\n <div class=\"column\">\n <div class=\"wb-map-background-form-right__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-background-form-right__cover\"></div>\n <div\n class=\"wb-map-background-form-right__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div *ngIf=\"selectedDetailForm.length === 0\">\n <div *ngIf=\"forms.length === 0\" class=\"wb-map-background-form-right__loader\">\n <wb-loader></wb-loader>\n </div>\n <div class=\"wb-map-background-form-right__selector\" *ngIf=\"forms.length > 0\">\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n <div *ngIf=\"selectedDetailForm.length > 0\" class=\"wb-map-background-form-right__container-form\">\n <div class=\"wb-map-background-form-right__container-form__editor\">\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_CONTENT]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n <div class=\"wb-map-background-form-right__container-form__content\">\n <div *ngFor=\"let select of selectedDetailForm\">\n <p [innerHTML]=\"select.title\"></p>\n <p>{{ select.type | answerPipe | translate }}</p>\n </div>\n <div>\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n &nbsp;&nbsp;&nbsp;\n <button>{{ selectedValue.submit_label }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
97
+ template: "<div class=\"wb-map-background-form-right\">\n <div class=\"wb-map-background-form-right__container__config\" *ngIf=\"showMap\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-background-form-right__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n <div class=\"columns is-gapless\" *ngIf=\"showMap\">\n <div class=\"column\">\n <div class=\"wb-map-background-form-right__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-background-form-right__cover\"></div>\n <div\n class=\"wb-map-background-form-right__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div *ngIf=\"selectedDetailForm.length === 0\">\n <div *ngIf=\"forms.length === 0\" class=\"wb-map-background-form-right__loader\">\n <wb-loader></wb-loader>\n </div>\n <div class=\"wb-map-background-form-right__selector\" *ngIf=\"forms.length > 0\">\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n <div *ngIf=\"selectedDetailForm.length > 0\" class=\"wb-map-background-form-right__container-form\">\n <div class=\"wb-map-background-form-right__container-form__editor\">\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div>\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_CONTENT]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n <div class=\"wb-map-background-form-right__container-form__content\">\n <div *ngFor=\"let select of selectedDetailForm\">\n <p [innerHTML]=\"select.title\"></p>\n <p>{{ select.type | answerPipe | translate }}</p>\n </div>\n <div>\n <wb-structure-select\n [selectedValue]=\"selectedValue\"\n [forms]=\"forms\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n &nbsp;&nbsp;&nbsp;\n <button>{{ selectedValue.submit_label }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
107
98
  },] }
108
99
  ];
109
100
  MapBackgroundFormRightComponent.ctorParameters = () => [
@@ -112,4 +103,4 @@ MapBackgroundFormRightComponent.ctorParameters = () => [
112
103
  MapBackgroundFormRightComponent.propDecorators = {
113
104
  input: [{ type: ViewChild, args: ['myInput',] }]
114
105
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhY2tncm91bmQtZm9ybS1yaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc3RydWN0dXJlcy9tYXAvYmFja2dyb3VuZC1mb3JtLXJpZ2h0L21hcC1iYWNrZ3JvdW5kLWZvcm0tcmlnaHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQVEvRyxNQUFNLE9BQU8sK0JBQ1QsU0FBUSxtQkFBOEM7SUFtQnRELFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWhCMUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixrQkFBYSxHQUFnQixJQUFJLENBQUM7UUFFbEMsdUJBQWtC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LENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBeEhKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsNkJBQTZCLENBQUMsUUFBUSxFQUFFO2dCQUNsRCxrbUlBQXlEO2FBQzVEOzs7WUFSUSxVQUFVOzs7b0JBWWQsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9JRF9GT1JNIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE9wZW5NYXBEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvbWFwcy9vcGVuLW1hcC5kdG8nO1xuaW1wb3J0IHsgaWNvbiwgbGF0TG5nLCBtYXJrZXIsIHRpbGVMYXllciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHBsYWNlcyBmcm9tICdwbGFjZXMuanMnO1xuaW1wb3J0IHsgRm9ybUxpc3REdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvZm9ybXMvZm9ybS1saXN0LmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQmFja2dyb3VuZEZvcm1SaWdodFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1iYWNrZ3JvdW5kLWZvcm0tcmlnaHQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBCYWNrZ3JvdW5kRm9ybVJpZ2h0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvbWFwL21hcC1iYWNrZ3JvdW5kLWZvcm0tcmlnaHQuZHRvJztcbmltcG9ydCB7IEZvcm1EZXRhaWxEdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvZm9ybXMvZm9ybS1kZXRhaWwuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IE1hcEJhY2tncm91bmRGb3JtUmlnaHRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hcC1iYWNrZ3JvdW5kLWZvcm0tcmlnaHQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBCYWNrZ3JvdW5kRm9ybVJpZ2h0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PE1hcEJhY2tncm91bmRGb3JtUmlnaHREdG8+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnbXlJbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICAgIGFkZHJlc3MgPSAnJztcbiAgICBjZW50ZXI7XG5cbiAgICBlZGl0UGxhY2VNYXAgPSBudWxsO1xuXG4gICAgb3B0aW9ucyA9IHt9O1xuICAgIGxheWVycyA9IFtdO1xuXG4gICAgc2hvd01hcCA9IGZhbHNlO1xuXG4gICAgZm9ybXM6IEZvcm1MaXN0RHRvW10gPSBbXTtcblxuICAgIHNlbGVjdGVkVmFsdWU6IEZvcm1MaXN0RHRvID0gbnVsbDtcblxuICAgIHNlbGVjdGVkRGV0YWlsRm9ybTogRm9ybURldGFpbER0b1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKE1hcEJhY2tncm91bmRGb3JtUmlnaHRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Rm9ybXNMaXN0KCkuc3Vic2NyaWJlKChsaXN0czogRm9ybUxpc3REdG9bXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtcyA9IGxpc3RzO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3Jtcy5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2LmlkID09PSB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSURfRk9STV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHY7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFRoaXNGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwbGFjZXNBdXRvY29tcGxldGUgPSBwbGFjZXMoe1xuICAgICAgICAgICAgYXBwSWQ6ICdwbDlPSTFOUFk2MlknLFxuICAgICAgICAgICAgYXBpS2V5OiAnMjkwZTVhMGUzM2U3NTFjODVjMzY2OTBkNTAyOTkxZmMnLFxuICAgICAgICAgICAgY29udGFpbmVyOiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBsYWNlc0F1dG9jb21wbGV0ZS5vbignY2hhbmdlJywgKGFsZ29saWFSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudDogT3Blbk1hcER0bykge1xuICAgICAgICB0aGlzLnNob3dNYXAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbGF5ZXJzOiBbdGlsZUxheWVyKCdodHRwOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywgeyBtYXhab29tOiAxNiwgYXR0cmlidXRpb246ICdXaXppU2hvcCcgfSldLFxuICAgICAgICAgICAgem9vbTogMTgsXG4gICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UsXG4gICAgICAgICAgICBjZW50ZXI6IGxhdExuZyhhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2VudGVyID0gbGF0TG5nKGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXG4gICAgICAgICAgICBtYXJrZXIoW2FsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nXSwge1xuICAgICAgICAgICAgICAgIGljb246IGljb24oe1xuICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzI1LCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25BbmNob3I6IFsxMywgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItaWNvbi5wbmcnLFxuICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1zaGFkb3cucG5nJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWV0gPSBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQ7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0gPSBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sbmc7XG5cbiAgICAgICAgdGhpcy5hZGRyZXNzID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBjcmVhdGVFZGl0QWxnb2xpYUlucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5lZGl0UGxhY2VNYXAgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdFBsYWNlTWFwID0gcGxhY2VzKHtcbiAgICAgICAgICAgICAgICBhcHBJZDogJ3BsOU9JMU5QWTYyWScsXG4gICAgICAgICAgICAgICAgYXBpS2V5OiAnMjkwZTVhMGUzM2U3NTFjODVjMzY2OTBkNTAyOTkxZmMnLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FkZHJlc3MtaW5wdXQtZWRpdCcgKyB0aGlzLnV1aWQpLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdFBsYWNlTWFwLm9uKCdjaGFuZ2UnLCAoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZvcm1zRGV0YWlsKHRoaXMuc2VsZWN0ZWRWYWx1ZS5pZCkuc3Vic2NyaWJlKChsaXN0czogRm9ybURldGFpbER0b1tdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGV0YWlsRm9ybSA9IGxpc3RzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dID0gdGhpcy5zZWxlY3RlZFZhbHVlLmlkO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdm9pZCBwYXJ0aWFsIG1hcCBsb2FkZWQgYXQgdGhlIGluaXRpYWxpemF0aW9uXG4gICAgICogQHBhcmFtIG1hcFxuICAgICAqL1xuICAgIG9uTWFwUmVhZHkobWFwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbWFwLmludmFsaWRhdGVTaXplKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWJhY2tncm91bmQtZm9ybS1yaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc3RydWN0dXJlcy9tYXAvYmFja2dyb3VuZC1mb3JtLXJpZ2h0L21hcC1iYWNrZ3JvdW5kLWZvcm0tcmlnaHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFRL0csTUFBTSxPQUFPLCtCQUFnQyxTQUFRLG1CQUE4QztJQXFCL0YsWUFBb0IsVUFBc0I7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFEUSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbkIxQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFJcEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixrQkFBYSxHQUFn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LEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO2lCQUNyQztnQkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDcEI7U0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBRztRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ3ZGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQTVHSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDZCQUE2QixDQUFDLFFBQVEsRUFBRTtnQkFDbEQseTRJQUF5RDthQUM1RDs7O1lBUlEsVUFBVTs7O29CQVVkLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfSURfRk9STSB9IGZyb20gJy4uLy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGVuTWFwRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL21hcHMvb3Blbi1tYXAuZHRvJztcbmltcG9ydCB7IGljb24sIGxhdExuZywgbWFya2VyLCB0aWxlTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IEZvcm1MaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2Zvcm1zL2Zvcm0tbGlzdC5kdG8nO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcEJhY2tncm91bmRGb3JtUmlnaHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmxvY2tzL21hcC9tYXAtYmFja2dyb3VuZC1mb3JtLXJpZ2h0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQmFja2dyb3VuZEZvcm1SaWdodER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL21hcC9tYXAtYmFja2dyb3VuZC1mb3JtLXJpZ2h0LmR0byc7XG5pbXBvcnQgeyBGb3JtRGV0YWlsRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2Zvcm1zL2Zvcm0tZGV0YWlsLmR0byc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBNYXBCYWNrZ3JvdW5kRm9ybVJpZ2h0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtYmFja2dyb3VuZC1mb3JtLXJpZ2h0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQmFja2dyb3VuZEZvcm1SaWdodENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwQmFja2dyb3VuZEZvcm1SaWdodER0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnbXlJbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICAgIGFkZHJlc3MgPSAnJztcbiAgICB0cmlnZ2VyQWRkcmVzcyA9ICcnO1xuICAgIGNlbnRlcjtcbiAgICBnb29nbGVNYXBSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvO1xuXG4gICAgZWRpdFBsYWNlTWFwID0gbnVsbDtcbiAgICBmaXJzdFRpbWVUcmlnZ2VyID0gZmFsc2U7XG5cbiAgICBvcHRpb25zID0ge307XG4gICAgbGF5ZXJzID0gW107XG5cbiAgICBzaG93TWFwID0gZmFsc2U7XG5cbiAgICBmb3JtczogRm9ybUxpc3REdG9bXSA9IFtdO1xuXG4gICAgc2VsZWN0ZWRWYWx1ZTogRm9ybUxpc3REdG8gPSBudWxsO1xuXG4gICAgc2VsZWN0ZWREZXRhaWxGb3JtOiBGb3JtRGV0YWlsRHRvW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoTWFwQmFja2dyb3VuZEZvcm1SaWdodFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRGb3Jtc0xpc3QoKS5zdWJzY3JpYmUoKGxpc3RzOiBGb3JtTGlzdER0b1tdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zID0gbGlzdHM7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfSURfRk9STV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1zLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHYuaWQgPT09IHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9JRF9GT1JNXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0VGhpc0Zvcm0oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRDb29yZGluYXRlT25QbGFjZXMoZ29vZ2xlUmVzdWx0czogT3Blbk1hcER0bykge1xuICAgICAgICB0aGlzLnNob3dNYXAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICAgICAgbGF5ZXJzOiBbdGlsZUxheWVyKCdodHRwOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywgeyBtYXhab29tOiAxOCwgYXR0cmlidXRpb246ICdXaXppU2hvcCcgfSldLFxuICAgICAgICAgICAgem9vbTogMTgsXG4gICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UsXG4gICAgICAgICAgICBjZW50ZXI6IGxhdExuZyhnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNlbnRlciA9IGxhdExuZyhnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdCwgZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpO1xuICAgICAgICB0aGlzLmxheWVycyA9IFtcbiAgICAgICAgICAgIG1hcmtlcihbZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nXSwge1xuICAgICAgICAgICAgICAgIGljb246IGljb24oe1xuICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzI1LCA0MV0sXG4gICAgICAgICAgICAgICAgICAgIGljb25BbmNob3I6IFsxMywgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItaWNvbi5wbmcnLFxuICAgICAgICAgICAgICAgICAgICBzaGFkb3dVcmw6ICdhc3NldHMvYmxvY2tzL2ltYWdlcy9tYXBzL21hcmtlci1zaGFkb3cucG5nJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuXG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWV0gPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxhdDtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9YXSA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVBZGRyZXNzQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCA9IHtcbiAgICAgICAgICAgIHN1Z2dlc3Rpb246IHtcbiAgICAgICAgICAgICAgICBsYXRsbmc6IHtcbiAgICAgICAgICAgICAgICAgICAgbGF0OiBldmVudC5nZW9tZXRyeS5sb2NhdGlvbi5sYXQoKSxcbiAgICAgICAgICAgICAgICAgICAgbG5nOiBldmVudC5nZW9tZXRyeS5sb2NhdGlvbi5sbmcoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBldmVudC5uYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXModGhpcy5nb29nbGVNYXBSZXR1cm5FbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdm9pZCBwYXJ0aWFsIG1hcCBsb2FkZWQgYXQgdGhlIGluaXRpYWxpemF0aW9uXG4gICAgICogQHBhcmFtIG1hcFxuICAgICAqL1xuICAgIG9uTWFwUmVhZHkobWFwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbWFwLmludmFsaWRhdGVTaXplKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEZvcm1zRGV0YWlsKHRoaXMuc2VsZWN0ZWRWYWx1ZS5pZCkuc3Vic2NyaWJlKChsaXN0czogRm9ybURldGFpbER0b1tdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGV0YWlsRm9ybSA9IGxpc3RzO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0lEX0ZPUk1dID0gdGhpcy5zZWxlY3RlZFZhbHVlLmlkO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG59XG4iXX0=