fabrikantencore 2.1.2 → 2.1.4

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 (23) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +7 -3
  2. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +6 -1
  3. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +3 -3
  4. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +4 -3
  5. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +135 -0
  6. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +3 -3
  7. package/esm2020/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +3 -3
  8. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +6 -3
  9. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +26 -9
  10. package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +2 -2
  11. package/esm2020/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +4 -1
  12. package/esm2020/src/app/modules/fabrikantencore/services/translate.service.mjs +18 -1
  13. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +133 -3
  14. package/fesm2015/fabrikantencore.mjs +363 -63
  15. package/fesm2015/fabrikantencore.mjs.map +1 -1
  16. package/fesm2020/fabrikantencore.mjs +359 -62
  17. package/fesm2020/fabrikantencore.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.d.ts +33 -0
  20. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +26 -25
  21. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +9 -8
  22. package/src/app/modules/fabrikantencore/services/translate.service.d.ts +2 -0
  23. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +60 -2
@@ -40,11 +40,11 @@ export class FabFilterColourComponent {
40
40
  }
41
41
  }
42
42
  FabFilterColourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabFilterColourComponent, deps: [{ token: i1.FabrikantenService }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
43
- FabFilterColourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabFilterColourComponent, selector: "app-fab-filter-colour", inputs: { filter: "filter" }, ngImport: i0, template: "<button class=\"select-button\" mat-stroked-button (click)=\"OpenDialog()\">\r\n Selecteer kleur\r\n <span *ngIf=\"filter.selectedColour != null\">\r\n ({{ filter.selectedColour }})\r\n </span>\r\n</button>\r\n", styles: [".select-button{width:100%;margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
43
+ FabFilterColourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabFilterColourComponent, selector: "app-fab-filter-colour", inputs: { filter: "filter" }, ngImport: i0, template: "<button class=\"select-button\" mat-stroked-button (click)=\"OpenDialog()\">\r\n {{ TranslateService.GetActiveValueFilter(filter.id) }}\r\n <span *ngIf=\"filter.selectedColour != null\">\r\n ({{ filter.selectedColour }})\r\n </span>\r\n</button>\r\n", styles: [".select-button{width:100%;margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabFilterColourComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'app-fab-filter-colour', template: "<button class=\"select-button\" mat-stroked-button (click)=\"OpenDialog()\">\r\n Selecteer kleur\r\n <span *ngIf=\"filter.selectedColour != null\">\r\n ({{ filter.selectedColour }})\r\n </span>\r\n</button>\r\n", styles: [".select-button{width:100%;margin-bottom:20px}\n"] }]
46
+ args: [{ selector: 'app-fab-filter-colour', template: "<button class=\"select-button\" mat-stroked-button (click)=\"OpenDialog()\">\r\n {{ TranslateService.GetActiveValueFilter(filter.id) }}\r\n <span *ngIf=\"filter.selectedColour != null\">\r\n ({{ filter.selectedColour }})\r\n </span>\r\n</button>\r\n", styles: [".select-button{width:100%;margin-bottom:20px}\n"] }]
47
47
  }], ctorParameters: function () { return [{ type: i1.FabrikantenService }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i3.MatDialog }]; }, propDecorators: { filter: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci1jb2xvdXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1maWx0ZXItY29sb3VyL2ZhYi1maWx0ZXItY29sb3VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWNvbG91ci9mYWItZmlsdGVyLWNvbG91ci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7Ozs7QUFPL0csTUFBTSxPQUFPLHdCQUF3QjtJQXNCbkMsWUFDVSxrQkFBc0MsRUFDdkMsZ0JBQWtDLEVBQ2pDLGlCQUFvQyxFQUNyQyxNQUFpQjtRQUhoQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3ZDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQUksQ0FBQztJQXJCL0IsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxLQUFpQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRTFCLG1DQUFtQztRQUNuQyx1Q0FBdUM7UUFDdkMsaURBQWlEO1FBQ2pELDRDQUE0QztRQUM1QyxLQUFLO1FBQ0wsR0FBRztJQUNMLENBQUM7SUFRTSxVQUFVO1FBRWYsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4RixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDL0QsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNuQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQTFDVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyRkNackMsME5BTUE7MkZETWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QjtnTUFhcEIsTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5GaWx0ZXJWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJDb2xvdXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZhYi1maWx0ZXItY29sb3VyLWRpYWxvZy9mYWItZmlsdGVyLWNvbG91ci1kaWFsb2cuY29tcG9uZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZpbHRlci1jb2xvdXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWZpbHRlci1jb2xvdXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZmlsdGVyLWNvbG91ci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZpbHRlckNvbG91ckNvbXBvbmVudCB7XG5cbiAgcHVibGljIFNlbGVjdGVkT3B0aW9uSWQ6IG51bWJlcjtcblxuICBfZmlsdGVyOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbDtcbiAgZ2V0IGZpbHRlcigpOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXIodmFsdWU6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsKSB7XG4gICAgdGhpcy5fZmlsdGVyID0gdmFsdWU7XG5cbiAgICB0aGlzLlNlbGVjdGVkT3B0aW9uSWQgPSAxO1xyXG5cclxuICAgIC8vaWYgKHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9PSAwKSB7XHJcbiAgICAvLyAgdmFyIG9wdGlvbnMgPSB0aGlzLl9maWx0ZXIub3B0aW9ucztcclxuICAgIC8vICBpZiAob3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMubGVuZ3RoID09IDEpIHtcclxuICAgIC8vICAgIHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9IG9wdGlvbnNbMF0uaWQ7XHJcbiAgICAvLyAgfVxyXG4gICAgLy99XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgVHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykgeyB9XG5cbiAgcHVibGljIE9wZW5EaWFsb2coKTogdm9pZCB7XG5cbiAgICB2YXIgZmlsdGVyb3B0aW9ubmFtZSA9IFwiXCI7XG5cbiAgICBpZiAodGhpcy5maWx0ZXIgIT0gbnVsbCAmJiB0aGlzLmZpbHRlci5vcHRpb25zICE9IG51bGwgJiYgdGhpcy5maWx0ZXIub3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJvcHRpb25uYW1lID0gdGhpcy5maWx0ZXIub3B0aW9uc1swXS5uYW1lICsgXCJcIjtcclxuICAgIH1cblxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEZhYkZpbHRlckNvbG91ckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZmlsdGVyaWQ6IHRoaXMuZmlsdGVyLmlkLFxyXG4gICAgICAgIGZpbHRlcm9wdGlvbm5hbWU6IGZpbHRlcm9wdGlvbm5hbWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cInNlbGVjdC1idXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIk9wZW5EaWFsb2coKVwiPlxyXG4gIFNlbGVjdGVlciBrbGV1clxyXG4gIDxzcGFuICpuZ0lmPVwiZmlsdGVyLnNlbGVjdGVkQ29sb3VyICE9IG51bGxcIj5cclxuICAgICh7eyBmaWx0ZXIuc2VsZWN0ZWRDb2xvdXIgfX0pXHJcbiAgPC9zcGFuPlxyXG48L2J1dHRvbj5cclxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci1jb2xvdXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1maWx0ZXItY29sb3VyL2ZhYi1maWx0ZXItY29sb3VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWNvbG91ci9mYWItZmlsdGVyLWNvbG91ci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7Ozs7QUFPL0csTUFBTSxPQUFPLHdCQUF3QjtJQXNCbkMsWUFDVSxrQkFBc0MsRUFDdkMsZ0JBQWtDLEVBQ2pDLGlCQUFvQyxFQUNyQyxNQUFpQjtRQUhoQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3ZDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQUksQ0FBQztJQXJCL0IsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxLQUFpQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRTFCLG1DQUFtQztRQUNuQyx1Q0FBdUM7UUFDdkMsaURBQWlEO1FBQ2pELDRDQUE0QztRQUM1QyxLQUFLO1FBQ0wsR0FBRztJQUNMLENBQUM7SUFRTSxVQUFVO1FBRWYsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4RixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDL0QsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNuQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQTFDVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyRkNackMsaVFBTUE7MkZETWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QjtnTUFhcEIsTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5GaWx0ZXJWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJDb2xvdXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZhYi1maWx0ZXItY29sb3VyLWRpYWxvZy9mYWItZmlsdGVyLWNvbG91ci1kaWFsb2cuY29tcG9uZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZpbHRlci1jb2xvdXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWZpbHRlci1jb2xvdXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZmlsdGVyLWNvbG91ci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZpbHRlckNvbG91ckNvbXBvbmVudCB7XG5cbiAgcHVibGljIFNlbGVjdGVkT3B0aW9uSWQ6IG51bWJlcjtcblxuICBfZmlsdGVyOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbDtcbiAgZ2V0IGZpbHRlcigpOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXIodmFsdWU6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsKSB7XG4gICAgdGhpcy5fZmlsdGVyID0gdmFsdWU7XG5cbiAgICB0aGlzLlNlbGVjdGVkT3B0aW9uSWQgPSAxO1xyXG5cclxuICAgIC8vaWYgKHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9PSAwKSB7XHJcbiAgICAvLyAgdmFyIG9wdGlvbnMgPSB0aGlzLl9maWx0ZXIub3B0aW9ucztcclxuICAgIC8vICBpZiAob3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMubGVuZ3RoID09IDEpIHtcclxuICAgIC8vICAgIHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9IG9wdGlvbnNbMF0uaWQ7XHJcbiAgICAvLyAgfVxyXG4gICAgLy99XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgVHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykgeyB9XG5cbiAgcHVibGljIE9wZW5EaWFsb2coKTogdm9pZCB7XG5cbiAgICB2YXIgZmlsdGVyb3B0aW9ubmFtZSA9IFwiXCI7XG5cbiAgICBpZiAodGhpcy5maWx0ZXIgIT0gbnVsbCAmJiB0aGlzLmZpbHRlci5vcHRpb25zICE9IG51bGwgJiYgdGhpcy5maWx0ZXIub3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmaWx0ZXJvcHRpb25uYW1lID0gdGhpcy5maWx0ZXIub3B0aW9uc1swXS5uYW1lICsgXCJcIjtcclxuICAgIH1cblxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEZhYkZpbHRlckNvbG91ckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZmlsdGVyaWQ6IHRoaXMuZmlsdGVyLmlkLFxyXG4gICAgICAgIGZpbHRlcm9wdGlvbm5hbWU6IGZpbHRlcm9wdGlvbm5hbWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cInNlbGVjdC1idXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIk9wZW5EaWFsb2coKVwiPlxyXG4gIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWVGaWx0ZXIoZmlsdGVyLmlkKSB9fVxyXG4gIDxzcGFuICpuZ0lmPVwiZmlsdGVyLnNlbGVjdGVkQ29sb3VyICE9IG51bGxcIj5cclxuICAgICh7eyBmaWx0ZXIuc2VsZWN0ZWRDb2xvdXIgfX0pXHJcbiAgPC9zcGFuPlxyXG48L2J1dHRvbj5cclxuIl19
@@ -18,6 +18,7 @@ import * as i15 from "../fab-header/fab-header.component";
18
18
  import * as i16 from "../fab-webgl-viewer/fab-webgl-viewer.component";
19
19
  import * as i17 from "../fab-svg-viewer/fab-svg-viewer.component";
20
20
  import * as i18 from "../fab-texture/fab-texture.component";
21
+ import * as i19 from "./fab-toebehoren/fab-toebehoren.component";
21
22
  export class FabProductComponent {
22
23
  constructor(MobileService, FabrikantenService, BestekService, TranslateService, WebGLService, ActivatedRoute, ChangeDetectorRef) {
23
24
  this.MobileService = MobileService;
@@ -97,12 +98,12 @@ export class FabProductComponent {
97
98
  }
98
99
  }
99
100
  FabProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabProductComponent, deps: [{ token: i1.MobileService }, { token: i2.FabrikantenService }, { token: i3.BestekService }, { token: i4.TranslateService }, { token: i5.WebGLService }, { token: i6.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
100
- FabProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabProductComponent, selector: "app-fab-product", viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header *ngIf=\"ShowBreadcrumb()\">\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\" *ngIf=\"ShowInformation()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n <mat-tab label=\"Texture\" *ngIf=\"FabrikantenService.ShowTexture()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</span>\r\n </ng-template>\r\n <app-fab-texture></app-fab-texture>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i9.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i9.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i9.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i10.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i10.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i10.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i12.FabProductInfoComponent, selector: "app-fab-product-info" }, { kind: "component", type: i13.FabProductBestekComponent, selector: "app-fab-product-bestek" }, { kind: "component", type: i14.FabFiltersInputComponent, selector: "fab-filters-input" }, { kind: "component", type: i15.FabHeaderComponent, selector: "app-fab-header", inputs: ["showfiltermenubutton"] }, { kind: "component", type: i16.FabWebglViewerComponent, selector: "app-fab-webgl-viewer" }, { kind: "component", type: i17.FabSvgViewerComponent, selector: "app-fab-svg-viewer" }, { kind: "component", type: i18.FabTextureComponent, selector: "app-fab-texture" }], encapsulation: i0.ViewEncapsulation.None });
101
+ FabProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabProductComponent, selector: "app-fab-product", viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header *ngIf=\"ShowBreadcrumb()\">\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\" *ngIf=\"ShowInformation()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n <mat-tab label=\"Texture\" *ngIf=\"FabrikantenService.ShowTexture()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</span>\r\n </ng-template>\r\n <app-fab-texture></app-fab-texture>\r\n </mat-tab>\r\n <mat-tab label=\"Toebehoren\" *ngIf=\"FabrikantenService.ShowToebehoren()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Toebehoren\") }}</span>\r\n </ng-template>\r\n <app-fab-toebehoren></app-fab-toebehoren>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i9.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i9.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i9.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i10.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i10.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i10.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i12.FabProductInfoComponent, selector: "app-fab-product-info" }, { kind: "component", type: i13.FabProductBestekComponent, selector: "app-fab-product-bestek" }, { kind: "component", type: i14.FabFiltersInputComponent, selector: "fab-filters-input" }, { kind: "component", type: i15.FabHeaderComponent, selector: "app-fab-header", inputs: ["showfiltermenubutton"] }, { kind: "component", type: i16.FabWebglViewerComponent, selector: "app-fab-webgl-viewer" }, { kind: "component", type: i17.FabSvgViewerComponent, selector: "app-fab-svg-viewer" }, { kind: "component", type: i18.FabTextureComponent, selector: "app-fab-texture" }, { kind: "component", type: i19.FabToebehorenComponent, selector: "app-fab-toebehoren" }], encapsulation: i0.ViewEncapsulation.None });
101
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabProductComponent, decorators: [{
102
103
  type: Component,
103
- args: [{ selector: 'app-fab-product', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header *ngIf=\"ShowBreadcrumb()\">\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\" *ngIf=\"ShowInformation()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n <mat-tab label=\"Texture\" *ngIf=\"FabrikantenService.ShowTexture()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</span>\r\n </ng-template>\r\n <app-fab-texture></app-fab-texture>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"] }]
104
+ args: [{ selector: 'app-fab-product', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <div class=\"filter-view\">\r\n <fab-filters-input></fab-filters-input>\r\n </div>\r\n </mat-drawer>\r\n <mat-drawer-content class=\"view-content\">\r\n <div #header *ngIf=\"ShowBreadcrumb()\">\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\" *ngIf=\"ShowInformation()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\" *ngIf=\"Show3D()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" *ngIf=\"Show2D()\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n <mat-tab label=\"Texture\" *ngIf=\"FabrikantenService.ShowTexture()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Texture\") }}</span>\r\n </ng-template>\r\n <app-fab-texture></app-fab-texture>\r\n </mat-tab>\r\n <mat-tab label=\"Toebehoren\" *ngIf=\"FabrikantenService.ShowToebehoren()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Toebehoren\") }}</span>\r\n </ng-template>\r\n <app-fab-toebehoren></app-fab-toebehoren>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n", styles: ["app-fab-product .tabs{height:100%}app-fab-product .row{display:flex}app-fab-product .loader-card{margin:auto;width:300px}app-fab-product .loader-subtitle{text-align:center}app-fab-product .loader-spinner{margin:auto}app-fab-product .view-container{height:100%}app-fab-product .view-content{background-color:#fff}app-fab-product .loader{position:absolute;display:flex;width:100%;height:100%;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}app-fab-product .filter-view{height:100%;width:300px;min-width:300px;background-color:#fafafa}app-fab-product .product-view{flex:auto}.mat-tab-body-wrapper{height:100%}\n"] }]
104
105
  }], ctorParameters: function () { return [{ type: i1.MobileService }, { type: i2.FabrikantenService }, { type: i3.BestekService }, { type: i4.TranslateService }, { type: i5.WebGLService }, { type: i6.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { header: [{
105
106
  type: ViewChild,
106
107
  args: ['header']
107
108
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi1wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItcHJvZHVjdC9mYWItcHJvZHVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBMEMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCbEosTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUNTLGFBQTRCLEVBQzVCLGtCQUFzQyxFQUN0QyxhQUE0QixFQUM1QixnQkFBa0MsRUFDbEMsWUFBMEIsRUFDekIsY0FBOEIsRUFDOUIsaUJBQW9DO1FBTnJDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVh2QyxXQUFNLEdBQVcsTUFBTSxDQUFDO1FBYTdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxj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TSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztTQUNsRDtRQUVELE9BQU8sY0FBYyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQzs7Z0hBbEdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlKQ2hCaEMsb3ZGQTREQTsyRkQ1Q2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJO3dSQU1oQixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUYWJDaGFuZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJlc3Rla1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iZXN0ZWsuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhYnJpa2FudGVuU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZhYnJpa2FudGVuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2JpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbW9iaWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTVkdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3ZnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXZWJHTFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93ZWJnbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1wcm9kdWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLXByb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZhYi1wcm9kdWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFiUHJvZHVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB7XHJcblxyXG4gIHB1YmxpYyBIZWlnaHQ6IHN0cmluZyA9IFwiMTAwJVwiO1xyXG5cclxuICBAVmlld0NoaWxkKCdoZWFkZXInKSBoZWFkZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIE1vYmlsZVNlcnZpY2U6IE1vYmlsZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgQmVzdGVrU2VydmljZTogQmVzdGVrU2VydmljZSxcclxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIFdlYkdMU2VydmljZTogV2ViR0xTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBBY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLlByb2Nlc3NQYXJhbWV0ZXJzKHRoaXMuQWN0aXZhdGVkUm91dGUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5Mb2FkRmFicmlrYW50ZW5WaWV3TW9kZWwodGhpcy5DaGFuZ2VEZXRlY3RvclJlZiwgdGhpcy5BY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuTG9hZFRyYW5zbGF0aW9ucyh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuVXBkYXRlSGVpZ2h0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLlVwZGF0ZUhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5SZW1vdmVQcm9kdWN0U2VsZWN0aW9uKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFVwZGF0ZUhlaWdodCgpOiB2b2lkIHtcclxuICAgIHRoaXMuSGVpZ2h0ID0gdGhpcy5HZXRIZWlnaHQoKTtcclxuICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdGVkVGFiQ2hhbmdlKGV2ZW50OiBNYXRUYWJDaGFuZ2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuVGFiU2VsZWN0aW9uQ2hhbmdlZChldmVudC50YWIudGV4dExhYmVsLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93M0QoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWw/LnNlbGVjdGVkUHJvZHVjdD8uZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVscyAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHNbaV0uaGFzM0QpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93MkQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWw/LnNlbGVjdGVkUHJvZHVjdD8uZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVscyAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHNbaV0uc25lZGVzICE9ICcnKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0JyZWFkY3J1bWIoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuaGlkZUJyZWFkY3J1bWJJbklmcmFtZSkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dJbmZvcm1hdGlvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbCAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5oaWRlSW5mb3JtYXRpb25UYWIpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0SGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICB2YXIgaGVpZ2h0ID0gMDtcclxuXHJcbiAgICBpZiAodGhpcy5oZWFkZXIgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGhlaWdodCArPSB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJjYWxjKDEwMCUgLSBcIiArIGhlaWdodCArIFwicHgpXCI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuTG9hZGluZ1wiIGNsYXNzPVwibG9hZGVyXCI+XHJcbiAgPG1hdC1jYXJkIGNsYXNzPVwibG9hZGVyLWNhcmRcIj5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJsb2FkZXItc3Bpbm5lclwiIFtkaWFtZXRlcl09XCI4MFwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWNhcmQtc3VidGl0bGUgY2xhc3M9XCJsb2FkZXItc3VidGl0bGVcIj5cclxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIlByb2R1Y3RzIGxvYWRpbmdcIikgfX1cclxuICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgPC9tYXQtY2FyZD5cclxuPC9kaXY+XHJcblxyXG48bWF0LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJ2aWV3LWNvbnRhaW5lclwiPlxyXG4gIDxtYXQtZHJhd2VyICNkcmF3ZXIgW21vZGVdPVwiTW9iaWxlU2VydmljZS5OYXZNb2RlXCIgWyhvcGVuZWQpXT1cIk1vYmlsZVNlcnZpY2UuTmF2T3BlbmVkXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwgIT0gbnVsbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci12aWV3XCI+XHJcbiAgICAgIDxmYWItZmlsdGVycy1pbnB1dD48L2ZhYi1maWx0ZXJzLWlucHV0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtZHJhd2VyPlxyXG4gIDxtYXQtZHJhd2VyLWNvbnRlbnQgY2xhc3M9XCJ2aWV3LWNvbnRlbnRcIj5cclxuICAgIDxkaXYgI2hlYWRlciAqbmdJZj1cIlNob3dCcmVhZGNydW1iKClcIj5cclxuICAgICAgPGFwcC1mYWItaGVhZGVyIFtzaG93ZmlsdGVybWVudWJ1dHRvbl09XCJ0cnVlXCI+PC9hcHAtZmFiLWhlYWRlcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgW3N0eWxlLmhlaWdodF09XCJIZWlnaHRcIiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbCAhPSBudWxsXCI+XHJcbiAgICAgIDxtYXQtdGFiLWdyb3VwIGNsYXNzPVwidmlldy1jb250YWluZXJcIiAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwiU2VsZWN0ZWRUYWJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiSW5mb3JtYXRpZVwiICpuZ0lmPVwiU2hvd0luZm9ybWF0aW9uKClcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFwiQ29tbW9uXCIsIFwiSW5mb3JtYXRpb25cIikgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGFwcC1mYWItcHJvZHVjdC1pbmZvPjwvYXBwLWZhYi1wcm9kdWN0LWluZm8+XHJcbiAgICAgICAgPC9tYXQtdGFiPlxyXG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiM0RcIiAqbmdJZj1cIlNob3czRCgpXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cclxuICAgICAgICAgICAgPHNwYW4+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIjNEXCIpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxhcHAtZmFiLXdlYmdsLXZpZXdlcj48L2FwcC1mYWItd2ViZ2wtdmlld2VyPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIjJEXCIgKm5nSWY9XCJTaG93MkQoKVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCIyRFwiKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8YXBwLWZhYi1zdmctdmlld2VyPjwvYXBwLWZhYi1zdmctdmlld2VyPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkJlc3Rla1wiICpuZ0lmPVwiVHJhbnNsYXRlU2VydmljZS5TaG93U3BlY2lmaWNhdGlvbigpXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cclxuICAgICAgICAgICAgPHNwYW4+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIlNwZWNpZmljYXRpb25cIikgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGFwcC1mYWItcHJvZHVjdC1iZXN0ZWs+PC9hcHAtZmFiLXByb2R1Y3QtYmVzdGVrPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIlRleHR1cmVcIiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5TaG93VGV4dHVyZSgpXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cclxuICAgICAgICAgICAgPHNwYW4+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIlRleHR1cmVcIikgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGFwcC1mYWItdGV4dHVyZT48L2FwcC1mYWItdGV4dHVyZT5cclxuICAgICAgICA8L21hdC10YWI+XHJcbiAgICAgIDwvbWF0LXRhYi1ncm91cD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWRyYXdlci1jb250ZW50PlxyXG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxyXG5cclxuXHJcbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi1wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItcHJvZHVjdC9mYWItcHJvZHVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBMEMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQmxKLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFDUyxhQUE0QixFQUM1QixrQkFBc0MsRUFDdEMsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLFlBQTBCLEVBQ3pCLGNBQThCLEVBQzlCLGlCQUFvQztRQU5yQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFYdkMsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQWE3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMs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QU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7U0FDbEQ7UUFFRCxPQUFPLGNBQWMsR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7O2dIQWxHVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix5SkNoQmhDLDRqR0FrRUE7MkZEbERhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSTt3UkFNaEIsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRG9DaGVjaywgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFiQ2hhbmdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZXN0ZWtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmVzdGVrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9iaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vYmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU1ZHU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N2Zy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2ViR0xTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2ViZ2wuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mYWItcHJvZHVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi1wcm9kdWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mYWItcHJvZHVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEZhYlByb2R1Y3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xyXG5cclxuICBwdWJsaWMgSGVpZ2h0OiBzdHJpbmcgPSBcIjEwMCVcIjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaGVhZGVyJykgaGVhZGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBNb2JpbGVTZXJ2aWNlOiBNb2JpbGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIEJlc3Rla1NlcnZpY2U6IEJlc3Rla1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgVHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBXZWJHTFNlcnZpY2U6IFdlYkdMU2VydmljZSxcclxuICAgIHByaXZhdGUgQWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIHRoaXMuVHJhbnNsYXRlU2VydmljZS5Qcm9jZXNzUGFyYW1ldGVycyh0aGlzLkFjdGl2YXRlZFJvdXRlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuTG9hZEZhYnJpa2FudGVuVmlld01vZGVsKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYsIHRoaXMuQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkxvYWRUcmFuc2xhdGlvbnModGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLlVwZGF0ZUhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5VcGRhdGVIZWlnaHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBCYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuUmVtb3ZlUHJvZHVjdFNlbGVjdGlvbih0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBVcGRhdGVIZWlnaHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkhlaWdodCA9IHRoaXMuR2V0SGVpZ2h0KCk7XHJcbiAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZWxlY3RlZFRhYkNoYW5nZShldmVudDogTWF0VGFiQ2hhbmdlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlRhYlNlbGVjdGlvbkNoYW5nZWQoZXZlbnQudGFiLnRleHRMYWJlbCwgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvdzNEKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsPy5zZWxlY3RlZFByb2R1Y3Q/LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHMgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlbGVjdGVkUHJvZHVjdC5mYWJyaWthbnRlbkJDQlByb2R1Y3RWaWV3TW9kZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlbGVjdGVkUHJvZHVjdC5mYWJyaWthbnRlbkJDQlByb2R1Y3RWaWV3TW9kZWxzW2ldLmhhczNEKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvdzJEKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsPy5zZWxlY3RlZFByb2R1Y3Q/LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHMgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlbGVjdGVkUHJvZHVjdC5mYWJyaWthbnRlbkJDQlByb2R1Y3RWaWV3TW9kZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlbGVjdGVkUHJvZHVjdC5mYWJyaWthbnRlbkJDQlByb2R1Y3RWaWV3TW9kZWxzW2ldLnNuZWRlcyAhPSAnJykge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dCcmVhZGNydW1iKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLmhpZGVCcmVhZGNydW1iSW5JZnJhbWUpIHtcclxuICAgICAgICBpZiAod2luZG93LnNlbGYgIT09IHdpbmRvdy50b3ApIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93SW5mb3JtYXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuaGlkZUluZm9ybWF0aW9uVGFiKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldEhlaWdodCgpOiBzdHJpbmcge1xyXG4gICAgdmFyIGhlaWdodCA9IDA7XHJcblxyXG4gICAgaWYgKHRoaXMuaGVhZGVyICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBoZWlnaHQgKz0gdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiY2FsYygxMDAlIC0gXCIgKyBoZWlnaHQgKyBcInB4KVwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkxvYWRpbmdcIiBjbGFzcz1cImxvYWRlclwiPlxyXG4gIDxtYXQtY2FyZCBjbGFzcz1cImxvYWRlci1jYXJkXCI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwibG9hZGVyLXNwaW5uZXJcIiBbZGlhbWV0ZXJdPVwiODBcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLXN1YnRpdGxlIGNsYXNzPVwibG9hZGVyLXN1YnRpdGxlXCI+XHJcbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCJQcm9kdWN0cyBsb2FkaW5nXCIpIH19XHJcbiAgICA8L21hdC1jYXJkLXN1YnRpdGxlPlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG5cclxuPG1hdC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwidmlldy1jb250YWluZXJcIj5cclxuICA8bWF0LWRyYXdlciAjZHJhd2VyIFttb2RlXT1cIk1vYmlsZVNlcnZpY2UuTmF2TW9kZVwiIFsob3BlbmVkKV09XCJNb2JpbGVTZXJ2aWNlLk5hdk9wZW5lZFwiICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsICE9IG51bGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItdmlld1wiPlxyXG4gICAgICA8ZmFiLWZpbHRlcnMtaW5wdXQ+PC9mYWItZmlsdGVycy1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWRyYXdlcj5cclxuICA8bWF0LWRyYXdlci1jb250ZW50IGNsYXNzPVwidmlldy1jb250ZW50XCI+XHJcbiAgICA8ZGl2ICNoZWFkZXIgKm5nSWY9XCJTaG93QnJlYWRjcnVtYigpXCI+XHJcbiAgICAgIDxhcHAtZmFiLWhlYWRlciBbc2hvd2ZpbHRlcm1lbnVidXR0b25dPVwidHJ1ZVwiPjwvYXBwLWZhYi1oZWFkZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IFtzdHlsZS5oZWlnaHRdPVwiSGVpZ2h0XCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwgIT0gbnVsbFwiPlxyXG4gICAgICA8bWF0LXRhYi1ncm91cCBjbGFzcz1cInZpZXctY29udGFpbmVyXCIgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIlNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkluZm9ybWF0aWVcIiAqbmdJZj1cIlNob3dJbmZvcm1hdGlvbigpXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cclxuICAgICAgICAgICAgPHNwYW4+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIkluZm9ybWF0aW9uXCIpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxhcHAtZmFiLXByb2R1Y3QtaW5mbz48L2FwcC1mYWItcHJvZHVjdC1pbmZvPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIjNEXCIgKm5nSWY9XCJTaG93M0QoKVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCIzRFwiKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8YXBwLWZhYi13ZWJnbC12aWV3ZXI+PC9hcHAtZmFiLXdlYmdsLXZpZXdlcj5cclxuICAgICAgICA8L21hdC10YWI+XHJcbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCIyRFwiICpuZ0lmPVwiU2hvdzJEKClcIiBzdHlsZT1cImhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFwiQ29tbW9uXCIsIFwiMkRcIikgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPGFwcC1mYWItc3ZnLXZpZXdlcj48L2FwcC1mYWItc3ZnLXZpZXdlcj5cclxuICAgICAgICA8L21hdC10YWI+XHJcbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJCZXN0ZWtcIiAqbmdJZj1cIlRyYW5zbGF0ZVNlcnZpY2UuU2hvd1NwZWNpZmljYXRpb24oKVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCJTcGVjaWZpY2F0aW9uXCIpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxhcHAtZmFiLXByb2R1Y3QtYmVzdGVrPjwvYXBwLWZhYi1wcm9kdWN0LWJlc3Rlaz5cclxuICAgICAgICA8L21hdC10YWI+XHJcbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJUZXh0dXJlXCIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuU2hvd1RleHR1cmUoKVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCJUZXh0dXJlXCIpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxhcHAtZmFiLXRleHR1cmU+PC9hcHAtZmFiLXRleHR1cmU+XHJcbiAgICAgICAgPC9tYXQtdGFiPlxyXG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiVG9lYmVob3JlblwiICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLlNob3dUb2ViZWhvcmVuKClcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFwiQ29tbW9uXCIsIFwiVG9lYmVob3JlblwiKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8YXBwLWZhYi10b2ViZWhvcmVuPjwvYXBwLWZhYi10b2ViZWhvcmVuPlxyXG4gICAgICAgIDwvbWF0LXRhYj5cclxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XHJcbjwvbWF0LWRyYXdlci1jb250YWluZXI+XHJcblxyXG5cclxuIl19
@@ -0,0 +1,135 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { Fabrikanten3DRequestModel } from '../../../swagger/SwaggerClient';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services/fabrikanten.service";
5
+ import * as i2 from "../../../services/translate.service";
6
+ import * as i3 from "../../../services/mobile.service";
7
+ import * as i4 from "../../../swagger/SwaggerClient";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "@angular/material/form-field";
10
+ import * as i7 from "@angular/forms";
11
+ import * as i8 from "@angular/material/button";
12
+ import * as i9 from "@angular/material/card";
13
+ import * as i10 from "@angular/material/icon";
14
+ import * as i11 from "@angular/material/select";
15
+ import * as i12 from "@angular/material/core";
16
+ import * as i13 from "../../fab-loader/fab-loader.component";
17
+ export class FabToebehorenComponent {
18
+ constructor(FabrikantenService, TranslateService, MobileService, ChangeDetectorRef, FabrikantenApiClient) {
19
+ this.FabrikantenService = FabrikantenService;
20
+ this.TranslateService = TranslateService;
21
+ this.MobileService = MobileService;
22
+ this.ChangeDetectorRef = ChangeDetectorRef;
23
+ this.FabrikantenApiClient = FabrikantenApiClient;
24
+ this.LoadingSVG = false;
25
+ this.LoadingWebGL = false;
26
+ this.Init = false;
27
+ this.ViewerWidth = 0;
28
+ this.ViewerHeight = 0;
29
+ }
30
+ ngOnInit() {
31
+ this.RefreshViewerSize();
32
+ }
33
+ ngAfterViewInit() {
34
+ this.RefreshViewerSize();
35
+ this.RefreshViewer();
36
+ this.ChangeDetectorRef.detectChanges();
37
+ }
38
+ ngDoCheck() {
39
+ this.RefreshViewerSize();
40
+ }
41
+ Loading() {
42
+ return this.LoadingSVG || this.LoadingWebGL;
43
+ }
44
+ Open() {
45
+ var toebehoren = this.GetSelectedToebehoren();
46
+ if (this.FabrikantenService.FabrikantenViewModel?.sessionId != null) {
47
+ if (toebehoren != null) {
48
+ this.LoadFabrikanten3DViewModel(this.FabrikantenService.FabrikantenViewModel.sessionId, toebehoren);
49
+ }
50
+ }
51
+ }
52
+ LoadFabrikanten3DViewModel(sessionid, toebehoren) {
53
+ this.LoadingWebGL = true;
54
+ this.ChangeDetectorRef.detectChanges();
55
+ var request = new Fabrikanten3DRequestModel();
56
+ request.sessionId = sessionid;
57
+ request.customBCBEBO = toebehoren.bcbeboId;
58
+ this.FabrikantenApiClient.getFabrikanten3DViewModel(request).subscribe((model) => {
59
+ this.Fabrikanten3DViewModel = model;
60
+ this.LoadingWebGL = false;
61
+ this.Init = true;
62
+ this.ChangeDetectorRef.detectChanges();
63
+ setTimeout(() => {
64
+ console.log("first check");
65
+ this.RefreshViewer();
66
+ }, 100);
67
+ this.RefreshViewerSize();
68
+ }, (error) => {
69
+ if (error.status == 400)
70
+ console.log(error.json());
71
+ else {
72
+ console.log('An unexpected error occured');
73
+ console.log(error);
74
+ }
75
+ });
76
+ }
77
+ GetSelectedToebehoren() {
78
+ var toebehoren = null;
79
+ if (this.FabrikantenService.FabrikantenViewModel.selectedProduct?.fabrikantenBCBProductViewModels != null &&
80
+ this.FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels.length > 0 &&
81
+ this.FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren != null &&
82
+ this.FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren.length > 0) {
83
+ for (var i = 0; i < this.FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren.length; i++) {
84
+ if (this.FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren[i].id == this.Selected) {
85
+ toebehoren = this.FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren[i];
86
+ }
87
+ }
88
+ }
89
+ return toebehoren;
90
+ }
91
+ RefreshViewerSize() {
92
+ if (this.viewercontainer != undefined) {
93
+ var width = this.viewercontainer.nativeElement.offsetWidth - 6;
94
+ var height = this.viewercontainer.nativeElement.offsetHeight - 6;
95
+ if (this.ViewerWidth != width || this.ViewerHeight != height) {
96
+ this.ViewerWidth = width;
97
+ this.ViewerHeight = height;
98
+ this.ChangeDetectorRef.detectChanges();
99
+ this.RefreshViewer();
100
+ }
101
+ }
102
+ }
103
+ RefreshViewer() {
104
+ if (!this.LoadingWebGL && this.Fabrikanten3DViewModel != null) {
105
+ var viewer = ModuleViewer3DLight.get("viewerCanvasToebehoren");
106
+ if (viewer != null) {
107
+ var belichting = viewer.belichting;
108
+ belichting.toonSlagschaduw = true;
109
+ belichting.slagschaduwVerzadiging = 0.5;
110
+ belichting.lichtbronSterkte = 0.8;
111
+ belichting.lichtSchittering = 0.333;
112
+ belichting.isCameraLicht = false;
113
+ belichting.omgevinglichtSterkte = 0.4;
114
+ belichting.lichtval = [-1.0, 0.5, -1.2];
115
+ viewer.orthografischeProjectie = false;
116
+ viewer.kijkrichting = [0.50023241910093, 0.7443600526604934, -0.4423749980318723];
117
+ viewer.clear();
118
+ viewer.add(this.Fabrikanten3DViewModel.webGLJSON, function () {
119
+ viewer.zetZoomGeheel();
120
+ viewer.toonModel();
121
+ });
122
+ }
123
+ }
124
+ }
125
+ }
126
+ FabToebehorenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabToebehorenComponent, deps: [{ token: i1.FabrikantenService }, { token: i2.TranslateService }, { token: i3.MobileService }, { token: i0.ChangeDetectorRef }, { token: i4.FabrikantenApiClient }], target: i0.ɵɵFactoryTarget.Component });
127
+ FabToebehorenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: FabToebehorenComponent, selector: "app-fab-toebehoren", viewQueries: [{ propertyName: "viewercontainer", first: true, predicate: ["viewercontainertoebehoren"], descendants: true }], ngImport: i0, template: "<div class=\"main-window\">\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <div class=\"bcbproduct-div\" *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n <button mat-stroked-button (click)=\"FabrikantenService.SelectBCBProduct(bcbproduct, this.ChangeDetectorRef)\">\r\n {{ bcbproduct.name }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main-window\" *ngIf=\"!FabrikantenService.ShowVariants()\">\r\n <div *ngIf=\"FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren.length == 0\" class=\"message\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Geen toebehoren\") }}\r\n </div>\r\n <div class=\"main-window\" *ngIf=\"FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren.length > 0\">\r\n <div *ngIf=\"!Init && !Loading()\" class=\"message\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Selecteer toebehoren\") }}\r\n </div>\r\n <div class=\"flexauto\" *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <div class=\"main-window\" *ngIf=\"!Loading() && Init\">\r\n <div #viewercontainertoebehoren class=\"viewer-container\">\r\n <canvas id=\"viewerCanvasToebehoren\" class=\"viewer-canvas\" [attr.width]=\"ViewerWidth\" [attr.height]=\"ViewerHeight\"></canvas>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">Toebehoren</mat-label>\r\n <mat-select [(ngModel)]=\"Selected\" (selectionChange)=\"Open()\">\r\n <mat-option *ngFor=\"let item of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren\" [value]=\"item.id\">\r\n {{ TranslateService.GetActiveValueBCBEigenschapToebehoren(item.id) }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit (plugin)\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" (click)=\"FabrikantenService.Download2DAutoCADDwg(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" (click)=\"FabrikantenService.Download2DDxf(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D Dxf\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.bcbproduct-div{padding:3px}.icon{margin-right:3px}.multiplevariants{padding:20px}.flexauto{flex:auto}.row-icon{align-items:center;display:flex}.viewer-container{overflow:auto;height:100%}.message{padding:40px}.viewer-canvas{background-color:#fff;cursor:grab}.main-window{height:100%}.toolbar-button{margin-top:3px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.settings{position:absolute;top:10px;right:10px;display:flex}.column{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i13.FabLoaderComponent, selector: "app-fab-loader" }] });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: FabToebehorenComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ selector: 'app-fab-toebehoren', template: "<div class=\"main-window\">\r\n <div *ngIf=\"FabrikantenService.ShowVariants()\" class=\"multiplevariants\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\r\n <div>\r\n <div class=\"bcbproduct-div\" *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\r\n <button mat-stroked-button (click)=\"FabrikantenService.SelectBCBProduct(bcbproduct, this.ChangeDetectorRef)\">\r\n {{ bcbproduct.name }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"main-window\" *ngIf=\"!FabrikantenService.ShowVariants()\">\r\n <div *ngIf=\"FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren.length == 0\" class=\"message\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Geen toebehoren\") }}\r\n </div>\r\n <div class=\"main-window\" *ngIf=\"FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren.length > 0\">\r\n <div *ngIf=\"!Init && !Loading()\" class=\"message\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Selecteer toebehoren\") }}\r\n </div>\r\n <div class=\"flexauto\" *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <div class=\"main-window\" *ngIf=\"!Loading() && Init\">\r\n <div #viewercontainertoebehoren class=\"viewer-container\">\r\n <canvas id=\"viewerCanvasToebehoren\" class=\"viewer-canvas\" [attr.width]=\"ViewerWidth\" [attr.height]=\"ViewerHeight\"></canvas>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"settings\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"column\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label class=\"select-mat-label\">Toebehoren</mat-label>\r\n <mat-select [(ngModel)]=\"Selected\" (selectionChange)=\"Open()\">\r\n <mat-option *ngFor=\"let item of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels[0].bcbProductToebehoren\" [value]=\"item.id\">\r\n {{ TranslateService.GetActiveValueBCBEigenschapToebehoren(item.id) }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit (plugin)\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" (click)=\"FabrikantenService.Download2DAutoCADDwg(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D AutoCAD Dwg\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" (click)=\"FabrikantenService.Download2DDxf(GetSelectedToebehoren()?.bcbeboId)\">\r\n <div class=\"row\">\r\n <div class=\"row-icon\">\r\n <mat-icon class=\"icon file_download\">file_download</mat-icon>\r\n </div>\r\n <div class=\"row-title\">\r\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\r\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D Dxf\") }}</span>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".row{display:flex;line-height:37px}.bcbproduct-div{padding:3px}.icon{margin-right:3px}.multiplevariants{padding:20px}.flexauto{flex:auto}.row-icon{align-items:center;display:flex}.viewer-container{overflow:auto;height:100%}.message{padding:40px}.viewer-canvas{background-color:#fff;cursor:grab}.main-window{height:100%}.toolbar-button{margin-top:3px}.loader{position:absolute;width:100%;height:100%;justify-content:center}.settings{position:absolute;top:10px;right:10px;display:flex}.column{display:flex;flex-direction:column}\n"] }]
131
+ }], ctorParameters: function () { return [{ type: i1.FabrikantenService }, { type: i2.TranslateService }, { type: i3.MobileService }, { type: i0.ChangeDetectorRef }, { type: i4.FabrikantenApiClient }]; }, propDecorators: { viewercontainer: [{
132
+ type: ViewChild,
133
+ args: ['viewercontainertoebehoren']
134
+ }] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLXRvZWJlaG9yZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi10b2ViZWhvcmVuL2ZhYi10b2ViZWhvcmVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItcHJvZHVjdC9mYWItdG9lYmVob3Jlbi9mYWItdG9lYmVob3Jlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBK0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3BILE9BQU8sRUFBNEMseUJBQXlCLEVBQWdELE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVNuSyxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JqQyxZQUNTLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ25DLG9CQUEwQztRQUozQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBbkI3QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFJdEIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsaUJBQVksR0FBVyxDQUFDLENBQUM7SUFjaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUs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QXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjt1T0FrQlUsZUFBZTtzQkFBdEQsU0FBUzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IE1vYmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2JpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFdlYkdMU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dlYmdsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlbkJDQlByb2R1Y3RUb2ViZWhvcmVuVmlld01vZGVsLCBGYWJyaWthbnRlbjNEUmVxdWVzdE1vZGVsLCBGYWJyaWthbnRlbkFwaUNsaWVudCwgRmFicmlrYW50ZW4zRFZpZXdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5kZWNsYXJlIHZhciBNb2R1bGVWaWV3ZXIzRExpZ2h0OiBhbnk7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZhYi10b2ViZWhvcmVuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi10b2ViZWhvcmVuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLXRvZWJlaG9yZW4uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGYWJUb2ViZWhvcmVuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBEb0NoZWNrIHtcblxuICBwdWJsaWMgTG9hZGluZ1NWRzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgTG9hZGluZ1dlYkdMOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIEluaXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgU2VsZWN0ZWQ6IG51bWJlcjtcblxuICBwdWJsaWMgVmlld2VyV2lkdGg6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBWaWV3ZXJIZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIEZhYnJpa2FudGVuM0RWaWV3TW9kZWw6IEZhYnJpa2FudGVuM0RWaWV3TW9kZWw7XG5cbiAgQFZpZXdDaGlsZCgndmlld2VyY29udGFpbmVydG9lYmVob3JlbicpIHZpZXdlcmNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UsXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIE1vYmlsZVNlcnZpY2U6IE1vYmlsZVNlcnZpY2UsXG4gICAgcHVibGljIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuQXBpQ2xpZW50OiBGYWJyaWthbnRlbkFwaUNsaWVudFxuICApIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLlJlZnJlc2hWaWV3ZXJTaXplKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLlJlZnJlc2hWaWV3ZXJTaXplKCk7XHJcbiAgICB0aGlzLlJlZnJlc2hWaWV3ZXIoKTtcclxuICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5SZWZyZXNoVmlld2VyU2l6ZSgpO1xyXG4gIH1cblxuICBwdWJsaWMgTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5Mb2FkaW5nU1ZHIHx8IHRoaXMuTG9hZGluZ1dlYkdMO1xyXG4gIH1cblxuICBwdWJsaWMgT3BlbigpIHtcclxuICAgIHZhciB0b2ViZWhvcmVuID0gdGhpcy5HZXRTZWxlY3RlZFRvZWJlaG9yZW4oKTtcclxuXHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWw/LnNlc3Npb25JZCAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0b2ViZWhvcmVuICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLkxvYWRGYWJyaWthbnRlbjNEVmlld01vZGVsKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlc3Npb25JZCwgdG9lYmVob3Jlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIExvYWRGYWJyaWthbnRlbjNEVmlld01vZGVsKHNlc3Npb25pZDogc3RyaW5nLCB0b2ViZWhvcmVuOiBGYWJyaWthbnRlbkJDQlByb2R1Y3RUb2ViZWhvcmVuVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdXZWJHTCA9IHRydWU7XHJcbiAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdCA9IG5ldyBGYWJyaWthbnRlbjNEUmVxdWVzdE1vZGVsKCk7XHJcblxyXG4gICAgcmVxdWVzdC5zZXNzaW9uSWQgPSBzZXNzaW9uaWQ7XHJcbiAgICByZXF1ZXN0LmN1c3RvbUJDQkVCTyA9IHRvZWJlaG9yZW4uYmNiZWJvSWQ7XHJcblxyXG4gICAgdGhpcy5GYWJyaWthbnRlbkFwaUNsaWVudC5nZXRGYWJyaWthbnRlbjNEVmlld01vZGVsKHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IEZhYnJpa2FudGVuM0RWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5GYWJyaWthbnRlbjNEVmlld01vZGVsID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZ1dlYkdMID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuSW5pdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJmaXJzdCBjaGVja1wiKTtcclxuICAgICAgICB0aGlzLlJlZnJlc2hWaWV3ZXIoKTtcclxuICAgICAgfSwgMTAwKTtcclxuXHJcbiAgICAgIHRoaXMuUmVmcmVzaFZpZXdlclNpemUoKTtcclxuXHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCk6IEZhYnJpa2FudGVuQkNCUHJvZHVjdFRvZWJlaG9yZW5WaWV3TW9kZWwgfCBudWxsIHtcbiAgICB2YXIgdG9lYmVob3JlbjogRmFicmlrYW50ZW5CQ0JQcm9kdWN0VG9lYmVob3JlblZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3Q/LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHMgIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3QuZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVscy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlbGVjdGVkUHJvZHVjdC5mYWJyaWthbnRlbkJDQlByb2R1Y3RWaWV3TW9kZWxzWzBdLmJjYlByb2R1Y3RUb2ViZWhvcmVuICE9IG51bGwgJiZcclxuICAgICAgdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHNbMF0uYmNiUHJvZHVjdFRvZWJlaG9yZW4ubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3QuZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVsc1swXS5iY2JQcm9kdWN0VG9lYmVob3Jlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3QuZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVsc1swXS5iY2JQcm9kdWN0VG9lYmVob3JlbltpXS5pZCA9PSB0aGlzLlNlbGVjdGVkKSB7XHJcbiAgICAgICAgICB0b2ViZWhvcmVuID0gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHNbMF0uYmNiUHJvZHVjdFRvZWJlaG9yZW5baV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRvZWJlaG9yZW47XHJcbiAgfVxuXG4gIHByaXZhdGUgUmVmcmVzaFZpZXdlclNpemUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52aWV3ZXJjb250YWluZXIgIT0gdW5kZWZpbmVkKSB7XHJcblxyXG4gICAgICB2YXIgd2lkdGggPSB0aGlzLnZpZXdlcmNvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gNjtcclxuICAgICAgdmFyIGhlaWdodCA9IHRoaXMudmlld2VyY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gNjtcclxuXHJcbiAgICAgIGlmICh0aGlzLlZpZXdlcldpZHRoICE9IHdpZHRoIHx8IHRoaXMuVmlld2VySGVpZ2h0ICE9IGhlaWdodCkge1xyXG5cclxuICAgICAgICB0aGlzLlZpZXdlcldpZHRoID0gd2lkdGg7XHJcbiAgICAgICAgdGhpcy5WaWV3ZXJIZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgIHRoaXMuUmVmcmVzaFZpZXdlcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxuXG4gIHByaXZhdGUgUmVmcmVzaFZpZXdlcigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5Mb2FkaW5nV2ViR0wgJiYgdGhpcy5GYWJyaWthbnRlbjNEVmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgdmFyIHZpZXdlciA9IE1vZHVsZVZpZXdlcjNETGlnaHQuZ2V0KFwidmlld2VyQ2FudmFzVG9lYmVob3JlblwiKTtcclxuXHJcbiAgICAgIGlmICh2aWV3ZXIgIT0gbnVsbCkge1xyXG5cclxuICAgICAgICB2YXIgYmVsaWNodGluZyA9IHZpZXdlci5iZWxpY2h0aW5nO1xyXG4gICAgICAgIGJlbGljaHRpbmcudG9vblNsYWdzY2hhZHV3ID0gdHJ1ZTtcclxuICAgICAgICBiZWxpY2h0aW5nLnNsYWdzY2hhZHV3VmVyemFkaWdpbmcgPSAwLjU7XHJcbiAgICAgICAgYmVsaWNodGluZy5saWNodGJyb25TdGVya3RlID0gMC44O1xyXG4gICAgICAgIGJlbGljaHRpbmcubGljaHRTY2hpdHRlcmluZyA9IDAuMzMzO1xyXG4gICAgICAgIGJlbGljaHRpbmcuaXNDYW1lcmFMaWNodCA9IGZhbHNlO1xyXG4gICAgICAgIGJlbGljaHRpbmcub21nZXZpbmdsaWNodFN0ZXJrdGUgPSAwLjQ7XHJcbiAgICAgICAgYmVsaWNodGluZy5saWNodHZhbCA9IFstMS4wLCAwLjUsIC0xLjJdO1xyXG4gICAgICAgIHZpZXdlci5vcnRob2dyYWZpc2NoZVByb2plY3RpZSA9IGZhbHNlO1xyXG4gICAgICAgIHZpZXdlci5raWprcmljaHRpbmcgPSBbMC41MDAyMzI0MTkxMDA5MywgMC43NDQzNjAwNTI2NjA0OTM0LCAtMC40NDIzNzQ5OTgwMzE4NzIzXTtcclxuXHJcbiAgICAgICAgdmlld2VyLmNsZWFyKCk7XHJcbiAgICAgICAgdmlld2VyLmFkZCh0aGlzLkZhYnJpa2FudGVuM0RWaWV3TW9kZWwud2ViR0xKU09OLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICB2aWV3ZXIuemV0Wm9vbUdlaGVlbCgpO1xyXG4gICAgICAgICAgdmlld2VyLnRvb25Nb2RlbCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYWluLXdpbmRvd1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuU2hvd1ZhcmlhbnRzKClcIiBjbGFzcz1cIm11bHRpcGxldmFyaWFudHNcIj5cclxuICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCJNdWx0aXBsZSB2YXJpYW50c1wiKSB9fVxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJjYnByb2R1Y3QtZGl2XCIgKm5nRm9yPVwibGV0IGJjYnByb2R1Y3Qgb2YgRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnNlbGVjdGVkUHJvZHVjdC5mYWJyaWthbnRlbkJDQlByb2R1Y3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5TZWxlY3RCQ0JQcm9kdWN0KGJjYnByb2R1Y3QsIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpXCI+XHJcbiAgICAgICAgICB7eyBiY2Jwcm9kdWN0Lm5hbWUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibWFpbi13aW5kb3dcIiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuU2hvd1ZhcmlhbnRzKClcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuc2VsZWN0ZWRQcm9kdWN0LmZhYnJpa2FudGVuQkNCUHJvZHVjdFZpZXdNb2RlbHNbMF0uYmNiUHJvZHVjdFRvZWJlaG9yZW4ubGVuZ3RoID09IDBcIiBjbGFzcz1cIm1lc3NhZ2VcIj5cclxuICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIkdlZW4gdG9lYmVob3JlblwiKSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWFpbi13aW5kb3dcIiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3QuZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVsc1swXS5iY2JQcm9kdWN0VG9lYmVob3Jlbi5sZW5ndGggPiAwXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhSW5pdCAmJiAhTG9hZGluZygpXCIgY2xhc3M9XCJtZXNzYWdlXCI+XHJcbiAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIlNlbGVjdGVlciB0b2ViZWhvcmVuXCIpIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gICAgICAgIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1haW4td2luZG93XCIgKm5nSWY9XCIhTG9hZGluZygpICYmIEluaXRcIj5cclxuICAgICAgICA8ZGl2ICN2aWV3ZXJjb250YWluZXJ0b2ViZWhvcmVuIGNsYXNzPVwidmlld2VyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGNhbnZhcyBpZD1cInZpZXdlckNhbnZhc1RvZWJlaG9yZW5cIiBjbGFzcz1cInZpZXdlci1jYW52YXNcIiBbYXR0ci53aWR0aF09XCJWaWV3ZXJXaWR0aFwiIFthdHRyLmhlaWdodF09XCJWaWV3ZXJIZWlnaHRcIj48L2NhbnZhcz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3NcIj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cclxuICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VsZWN0LW1hdC1sYWJlbFwiPlRvZWJlaG9yZW48L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlNlbGVjdGVkXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJPcGVuKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIEZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZWxlY3RlZFByb2R1Y3QuZmFicmlrYW50ZW5CQ0JQcm9kdWN0Vmlld01vZGVsc1swXS5iY2JQcm9kdWN0VG9lYmVob3JlblwiIFt2YWx1ZV09XCJpdGVtLmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWVCQ0JFaWdlbnNjaGFwVG9lYmVob3JlbihpdGVtLmlkKSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b24gYXJrZXktYWRvbWktYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZEFSS0VZQWRvbWkoR2V0U2VsZWN0ZWRUb2ViZWhvcmVuKCk/LmJjYmVib0lkKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3ctaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uIGZpbGVfZG93bmxvYWRcIj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdy10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZEFSS0VZQWRvbWlMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRBUktFWUFkb21pTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCJBUktFWSBBZG9taVwiKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBpZmMtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZElGQyhHZXRTZWxlY3RlZFRvZWJlaG9yZW4oKT8uYmNiZWJvSWQpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkSUZDTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkSUZDTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCJJRkNcIikgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b24gcmV2aXQtcGx1Z2luLWJ1dHRvblwiIChjbGljayk9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRSZXZpdFBsdWdpbihHZXRTZWxlY3RlZFRvZWJlaG9yZW4oKT8uYmNiZWJvSWQpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkUmV2aXRQbHVnaW5Mb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWRSZXZpdFBsdWdpbkxvYWRpbmdcIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFwiQ29tbW9uXCIsIFwiUmV2aXQgKHBsdWdpbilcIikgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidG9vbGJhci1idXR0b24gYXV0b2NhZC0zZC1idXR0b25cIiAoY2xpY2spPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkM0RBdXRvQ0FERHdnKEdldFNlbGVjdGVkVG9lYmVob3JlbigpPy5iY2JlYm9JZClcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93LWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQzREF1dG9DQUREd2dMb2FkaW5nXCI+Li4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQzREF1dG9DQUREd2dMb2FkaW5nXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShcIkNvbW1vblwiLCBcIjNEIEF1dG9DQUQgRHdnXCIpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvb2xiYXItYnV0dG9uIGF1dG9jYWQtMmQtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJEQXV0b0NBRER3ZyhHZXRTZWxlY3RlZFRvZWJlaG9yZW4oKT8uYmNiZWJvSWQpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdy1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24gZmlsZV9kb3dubG9hZFwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93LXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkMkRBdXRvQ0FERHdnTG9hZGluZ1wiPi4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLkRvd25sb2FkMkRBdXRvQ0FERHdnTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCIyRCBBdXRvQ0FEIER3Z1wiKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b29sYmFyLWJ1dHRvbiBkeGYtMmQtYnV0dG9uXCIgKGNsaWNrKT1cIkZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJERHhmKEdldFNlbGVjdGVkVG9lYmVob3JlbigpPy5iY2JlYm9JZClcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93LWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbiBmaWxlX2Rvd25sb2FkXCI+ZmlsZV9kb3dubG9hZDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3ctdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuRG93bmxvYWQyRER4ZkxvYWRpbmdcIj4uLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIUZhYnJpa2FudGVuU2VydmljZS5Eb3dubG9hZDJERHhmTG9hZGluZ1wiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoXCJDb21tb25cIiwgXCIyRCBEeGZcIikgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuIl19