fabrikantencore 2.6.13 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2022/public_api.mjs +2 -1
  2. package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +2 -1
  3. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-custom/fab-filter-custom.component.mjs +50 -0
  4. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-display-value/fab-filter-display-value.component.mjs +56 -0
  5. package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +3 -3
  6. package/esm2022/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +2 -2
  7. package/esm2022/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +12 -3
  8. package/esm2022/src/app/modules/fabrikantencore/components/fab-input/fab-input.component.mjs +5 -3
  9. package/esm2022/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +2 -2
  10. package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +12 -3
  11. package/esm2022/src/app/modules/fabrikantencore/services/bestek.service.mjs +55 -43
  12. package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +45 -5
  13. package/esm2022/src/app/modules/fabrikantencore/services/svg.service.mjs +35 -22
  14. package/esm2022/src/app/modules/fabrikantencore/services/template-component.service.mjs +40 -0
  15. package/esm2022/src/app/modules/fabrikantencore/services/webgl.service.mjs +31 -18
  16. package/esm2022/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +12 -4
  17. package/fesm2022/fabrikantencore.mjs +329 -100
  18. package/fesm2022/fabrikantencore.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/public_api.d.ts +1 -0
  21. package/src/app/modules/fabrikantencore/components/fab-filter-custom/fab-filter-custom.component.d.ts +21 -0
  22. package/src/app/modules/fabrikantencore/components/fab-filter-display-value/fab-filter-display-value.component.d.ts +20 -0
  23. package/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.d.ts +1 -0
  24. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +31 -29
  25. package/src/app/modules/fabrikantencore/services/bestek.service.d.ts +1 -0
  26. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +3 -1
  27. package/src/app/modules/fabrikantencore/services/svg.service.d.ts +1 -0
  28. package/src/app/modules/fabrikantencore/services/template-component.service.d.ts +9 -0
  29. package/src/app/modules/fabrikantencore/services/webgl.service.d.ts +1 -0
  30. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +13 -7
@@ -10,4 +10,5 @@ export * from './src/app/modules/fabrikantencore/components/fab-select-bcbproduc
10
10
  export * from './src/app/modules/fabrikantencore/services/fabrikanten.service';
11
11
  export * from './src/app/modules/fabrikantencore/services/translate.service';
12
12
  export * from './src/app/modules/fabrikantencore/services/svg.service';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsZ0ZBQWdGLENBQUE7QUFDOUYsY0FBYyxzR0FBc0csQ0FBQTtBQUNwSCxjQUFjLDRGQUE0RixDQUFBO0FBQzFHLGNBQWMsc0ZBQXNGLENBQUE7QUFDcEcsY0FBYywwR0FBMEcsQ0FBQTtBQUN4SCxjQUFjLDhFQUE4RSxDQUFBO0FBQzVGLGNBQWMsb0dBQW9HLENBQUE7QUFFbEgsY0FBYyxnRUFBZ0UsQ0FBQTtBQUM5RSxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMsd0RBQXdELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvZmFicmlrYW50ZW5jb3JlLm1vZHVsZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3N3YWdnZXIvU3dhZ2dlckNsaWVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWZpbHRlcnMvZmFiLWZpbHRlcnMuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItY2F0ZWdvcnktbmF2aWdhdG9yL2ZhYi1jYXRlZ29yeS1uYXZpZ2F0b3IuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVycy1pbnB1dC9mYWItZmlsdGVycy1pbnB1dC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1hY3Rpb25tZW51L2ZhYi1hY3Rpb25tZW51LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtYmVzdGVrL2ZhYi1wcm9kdWN0LWJlc3Rlay5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1sb2FkZXIvZmFiLWxvYWRlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1zZWxlY3QtYmNicHJvZHVjdC9mYWItc2VsZWN0LWJjYnByb2R1Y3QuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL2ZhYnJpa2FudGVuLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL3N2Zy5zZXJ2aWNlJ1xyXG4iXX0=
13
+ export * from './src/app/modules/fabrikantencore/services/template-component.service';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsZ0ZBQWdGLENBQUE7QUFDOUYsY0FBYyxzR0FBc0csQ0FBQTtBQUNwSCxjQUFjLDRGQUE0RixDQUFBO0FBQzFHLGNBQWMsc0ZBQXNGLENBQUE7QUFDcEcsY0FBYywwR0FBMEcsQ0FBQTtBQUN4SCxjQUFjLDhFQUE4RSxDQUFBO0FBQzVGLGNBQWMsb0dBQW9HLENBQUE7QUFFbEgsY0FBYyxnRUFBZ0UsQ0FBQTtBQUM5RSxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMsd0RBQXdELENBQUE7QUFDdEUsY0FBYyx1RUFBdUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9mYWJyaWthbnRlbmNvcmUubW9kdWxlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvc3dhZ2dlci9Td2FnZ2VyQ2xpZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVycy9mYWItZmlsdGVycy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1jYXRlZ29yeS1uYXZpZ2F0b3IvZmFiLWNhdGVnb3J5LW5hdmlnYXRvci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1maWx0ZXJzLWlucHV0L2ZhYi1maWx0ZXJzLWlucHV0LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWFjdGlvbm1lbnUvZmFiLWFjdGlvbm1lbnUuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItcHJvZHVjdC9mYWItcHJvZHVjdC1iZXN0ZWsvZmFiLXByb2R1Y3QtYmVzdGVrLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWxvYWRlci9mYWItbG9hZGVyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLXNlbGVjdC1iY2Jwcm9kdWN0L2ZhYi1zZWxlY3QtYmNicHJvZHVjdC5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvc2VydmljZXMvc3ZnLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9zZXJ2aWNlcy90ZW1wbGF0ZS1jb21wb25lbnQuc2VydmljZSdcclxuIl19
@@ -60,6 +60,7 @@ class BeheerProductsKoppelFilteroptionDailogComponent {
60
60
  NieuwFilterToevoegen() {
61
61
  this.LoadingFilters = true;
62
62
  var requestfilter = new CreateFilterRequest();
63
+ requestfilter.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
63
64
  requestfilter.name = this.FilterNaamNieuw;
64
65
  this.FiltersApiClient.createFilter(requestfilter).subscribe((model) => {
65
66
  this.LoadingFilters = false;
@@ -140,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
140
141
  type: Inject,
141
142
  args: [MAT_DIALOG_DATA]
142
143
  }] }, { type: i2.FiltersApiClient }, { type: i2.ProductsApiClient }, { type: i3.AuthenticationService }, { type: i4.ProductsService }]; } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hJLE9BQU8sRUFBNkQseUJBQXlCLEVBQThCLG1CQUFtQixFQUEwRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFdFIsTUFLYSwrQ0FBK0M7SUFnQmpEO0lBQ3lCO0lBQ3hCO0lBQ0E7SUFDQTtJQUNBO0lBbkJILGdCQUFnQixDQUFtQjtJQUVuQyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBQzdCLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUVuQyxjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIs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QzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E5SVUsK0NBQStDLG9EQWlCaEQsZUFBZTsyRkFqQmQsK0NBQStDLHNGQ1g1RCx5c0hBaUdBOztTRHRGYSwrQ0FBK0M7MkZBQS9DLCtDQUErQztrQkFMM0QsU0FBUzsrQkFDRSxnREFBZ0Q7OzBCQXFCdkQsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIEZpbHRlcnNWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVxdWVzdCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UsIENyZWF0ZUZpbHRlclJlcXVlc3QsIENyZWF0ZUZpbHRlclJlc3BvbnNlLCBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCwgUHJvZHVjdHNBcGlDbGllbnQsIExvZ2luUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0tvcHBlbEZpbHRlcm9wdGlvbkRhaWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBGaWx0ZXJzVmlld01vZGVsOiBGaWx0ZXJzVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgRmlsdGVyTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25OYWFtTmlldXc6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIExvYWRpbmdPcHRpZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBGaWx0ZXJTZWxlY3RlZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25TZWxlY3RlZDogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgQkNCRWlnZW5zY2hhcE9wdGllSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgTG9jYXRpb246IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzQXBpQ2xpZW50OiBQcm9kdWN0c0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLkJDQkVpZ2Vuc2NoYXBPcHRpZUlkID0gZGF0YS5iY2JlaWdlbnNjaGFwb3B0aWVpZDtcclxuICAgIHRoaXMuTG9jYXRpb24gPSBkYXRhLmxvY2F0aW9uO1xyXG4gICAgdGhpcy5GaWx0ZXJOYWFtTmlldXcgPSBkYXRhLnN1Z2dlc3RlZGZpbHRlcjtcclxuICAgIHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3ID0gZGF0YS5zdWdnZXN0ZWRvcHRpb247XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZEZpbHRlcnMoKTtcclxuICAgIC8vdGhpcy5Mb2FkT3B0aWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXIoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcjogQ3JlYXRlRmlsdGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVGaWx0ZXJSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlci5uYW1lID0gdGhpcy5GaWx0ZXJOYWFtTmlldXc7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmNyZWF0ZUZpbHRlcihyZXF1ZXN0ZmlsdGVyKS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVGaWx0ZXJSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmZpbHRlcklkID0gbW9kZWwuaWQ7XHJcbiAgICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubmFtZSA9IHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3O1xyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiBtb2RlbC5pZCB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5maWx0ZXJJZCA9IHRoaXMuRmlsdGVyU2VsZWN0ZWQ7XHJcbiAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLm5hbWUgPSB0aGlzLkZpbHRlck9wdGlvbk5hYW1OaWV1dztcclxuICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZmlsdGVyOiBudWxsLCBmaWx0ZXJvcHRpb246IG1vZGVsLmlkIH0pO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQmVzdGFhbmRUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiB0aGlzLkZpbHRlck9wdGlvblNlbGVjdGVkIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKTogQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPiB7XHJcbiAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPigpO1xyXG5cclxuICAgIHZhciB0ZW1wYXJyYXkgPSB0aGlzLkZpbHRlcnNWaWV3TW9kZWw/LmZpbHRlclZpZXdNb2RlbHM7XHJcblxyXG4gICAgaWYgKHRlbXBhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVtcGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHRlbXBhcnJheVtpXS5pZCA9PSB0aGlzLkZpbHRlclNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGVtcGFycmF5W2ldLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgYXMgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgS29wcGVsTWFueU5hbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogdGhpcy5GaWx0ZXJTZWxlY3RlZCwgZmlsdGVyb3B0aW9uOiBudWxsIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5Mb2FkaW5nRmlsdGVycztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZEZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0RmlsdGVyc1ZpZXdNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKS5zdWJzY3JpYmUoKG1vZGVsOiBGaWx0ZXJzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuRmlsdGVyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZygpXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3ZSBmaWx0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkZpbHRlck5hYW1OaWV1d1wiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5PcHRpZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJoYW5kbGVLZXlVcEZpbHRlcigkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25OYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOaWV1d0ZpbHRlclRvZXZvZWdlbigpXCI+VG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d2Ugb3B0aWVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBGaWx0ZXJzVmlld01vZGVsLmZpbHRlclZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiZmlsdGVyLmlkXCI+XHJcbiAgICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+T3B0aWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uTmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk9wdGllPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlck9wdGlvblNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXJvcHRpb24gb2YgR2V0U2VsZWN0ZWRGaWx0ZXJzT3B0aW9ucygpXCIgW3ZhbHVlXT1cImZpbHRlcm9wdGlvbi5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyb3B0aW9uLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmRUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDwhLS08bWF0LXRhYiBsYWJlbD1cIk1hbnkgTmFtZVwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8YXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPjwvYXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIktvcHBlbE1hbnlOYW1lKClcIj5Lb3BwZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+LS0+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1jb250YWluZXJcIj5cclxuICAgIDwhLS08ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2UubG9jYXRpb25zXCI+XHJcbiAgICAgIDxiPnt7IGxvY2F0aW9uLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgbG9jYXRpb24uZWJvc1wiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2Pi0tPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2hJLE9BQU8sRUFBNkQseUJBQXlCLEVBQThCLG1CQUFtQixFQUEwRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFdFIsTUFLYSwrQ0FBK0M7SUFnQmpEO0lBQ3lCO0lBQ3hCO0lBQ0E7SUFDQTtJQUNBO0lBbkJILGdCQUFnQixDQUFtQjtJQUVuQyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBQzdCLHFCQUFxQixHQUFXLEVBQUUsQ0FBQztJQUVuQyxjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIs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QWUsRUFBRSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0EvSVUsK0NBQStDLG9EQWlCaEQsZUFBZTsyRkFqQmQsK0NBQStDLHNGQ1g1RCx5c0hBaUdBOztTRHRGYSwrQ0FBK0M7MkZBQS9DLCtDQUErQztrQkFMM0QsU0FBUzsrQkFDRSxnREFBZ0Q7OzBCQXFCdkQsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIEZpbHRlcnNWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVxdWVzdCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UsIENyZWF0ZUZpbHRlclJlcXVlc3QsIENyZWF0ZUZpbHRlclJlc3BvbnNlLCBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCwgUHJvZHVjdHNBcGlDbGllbnQsIExvZ2luUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0tvcHBlbEZpbHRlcm9wdGlvbkRhaWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBGaWx0ZXJzVmlld01vZGVsOiBGaWx0ZXJzVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgRmlsdGVyTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25OYWFtTmlldXc6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIExvYWRpbmdPcHRpZXM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBGaWx0ZXJTZWxlY3RlZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25TZWxlY3RlZDogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgQkNCRWlnZW5zY2hhcE9wdGllSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgTG9jYXRpb246IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzQXBpQ2xpZW50OiBQcm9kdWN0c0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLkJDQkVpZ2Vuc2NoYXBPcHRpZUlkID0gZGF0YS5iY2JlaWdlbnNjaGFwb3B0aWVpZDtcclxuICAgIHRoaXMuTG9jYXRpb24gPSBkYXRhLmxvY2F0aW9uO1xyXG4gICAgdGhpcy5GaWx0ZXJOYWFtTmlldXcgPSBkYXRhLnN1Z2dlc3RlZGZpbHRlcjtcclxuICAgIHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3ID0gZGF0YS5zdWdnZXN0ZWRvcHRpb247XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZEZpbHRlcnMoKTtcclxuICAgIC8vdGhpcy5Mb2FkT3B0aWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXIoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcjogQ3JlYXRlRmlsdGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVGaWx0ZXJSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlci5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG4gICAgcmVxdWVzdGZpbHRlci5uYW1lID0gdGhpcy5GaWx0ZXJOYWFtTmlldXc7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmNyZWF0ZUZpbHRlcihyZXF1ZXN0ZmlsdGVyKS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVGaWx0ZXJSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmZpbHRlcklkID0gbW9kZWwuaWQ7XHJcbiAgICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubmFtZSA9IHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3O1xyXG4gICAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiBtb2RlbC5pZCB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcm9wdGlvbiA9IG5ldyBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5maWx0ZXJJZCA9IHRoaXMuRmlsdGVyU2VsZWN0ZWQ7XHJcbiAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLm5hbWUgPSB0aGlzLkZpbHRlck9wdGlvbk5hYW1OaWV1dztcclxuICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZmlsdGVyOiBudWxsLCBmaWx0ZXJvcHRpb246IG1vZGVsLmlkIH0pO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQmVzdGFhbmRUb2V2b2VnZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiB0aGlzLkZpbHRlck9wdGlvblNlbGVjdGVkIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKTogQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPiB7XHJcbiAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPigpO1xyXG5cclxuICAgIHZhciB0ZW1wYXJyYXkgPSB0aGlzLkZpbHRlcnNWaWV3TW9kZWw/LmZpbHRlclZpZXdNb2RlbHM7XHJcblxyXG4gICAgaWYgKHRlbXBhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVtcGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHRlbXBhcnJheVtpXS5pZCA9PSB0aGlzLkZpbHRlclNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGVtcGFycmF5W2ldLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgYXMgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgS29wcGVsTWFueU5hbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogdGhpcy5GaWx0ZXJTZWxlY3RlZCwgZmlsdGVyb3B0aW9uOiBudWxsIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5Mb2FkaW5nRmlsdGVycztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZEZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0RmlsdGVyc1ZpZXdNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKS5zdWJzY3JpYmUoKG1vZGVsOiBGaWx0ZXJzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuRmlsdGVyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZygpXCI+XHJcbiAgPG1hdC10YWItZ3JvdXA+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIk5pZXV3ZSBmaWx0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cIkZpbHRlck5hYW1OaWV1d1wiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5PcHRpZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IChrZXl1cCk9XCJoYW5kbGVLZXlVcEZpbHRlcigkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25OYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJOaWV1d0ZpbHRlclRvZXZvZWdlbigpXCI+VG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d2Ugb3B0aWVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBGaWx0ZXJzVmlld01vZGVsLmZpbHRlclZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiZmlsdGVyLmlkXCI+XHJcbiAgICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+T3B0aWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uTmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk9wdGllPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlck9wdGlvblNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXJvcHRpb24gb2YgR2V0U2VsZWN0ZWRGaWx0ZXJzT3B0aW9ucygpXCIgW3ZhbHVlXT1cImZpbHRlcm9wdGlvbi5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyb3B0aW9uLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQmVzdGFhbmRUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDwhLS08bWF0LXRhYiBsYWJlbD1cIk1hbnkgTmFtZVwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiRmlsdGVyU2VsZWN0ZWRcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8YXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPjwvYXBwLWJlaGVlci1jb25uZWN0LW1hbnluYW1lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIktvcHBlbE1hbnlOYW1lKClcIj5Lb3BwZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+LS0+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1jb250YWluZXJcIj5cclxuICAgIDwhLS08ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2UubG9jYXRpb25zXCI+XHJcbiAgICAgIDxiPnt7IGxvY2F0aW9uLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgbG9jYXRpb24uZWJvc1wiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2Pi0tPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,50 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { TranslationCategory, TranslationSubCategory } 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/template-component.service";
7
+ import * as i4 from "@angular/common";
8
+ class FabFilterCustomComponent {
9
+ FabrikantenService;
10
+ TranslateService;
11
+ TemplateComponentService;
12
+ ChangeDetectorRef;
13
+ _filter;
14
+ get filter() {
15
+ return this._filter;
16
+ }
17
+ set filter(value) {
18
+ this._filter = value;
19
+ }
20
+ get TranslationCategory() {
21
+ return TranslationCategory;
22
+ }
23
+ get TranslationSubCategory() {
24
+ return TranslationSubCategory;
25
+ }
26
+ constructor(FabrikantenService, TranslateService, TemplateComponentService, ChangeDetectorRef) {
27
+ this.FabrikantenService = FabrikantenService;
28
+ this.TranslateService = TranslateService;
29
+ this.TemplateComponentService = TemplateComponentService;
30
+ this.ChangeDetectorRef = ChangeDetectorRef;
31
+ }
32
+ GetHTML() {
33
+ if (this.filter) {
34
+ return this.TemplateComponentService.GetHTML("FabFilterCustomComponent-" + this.filter.id);
35
+ }
36
+ else {
37
+ return "";
38
+ }
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterCustomComponent, deps: [{ token: i1.FabrikantenService }, { token: i2.TranslateService }, { token: i3.TemplateComponentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFilterCustomComponent, selector: "app-fab-filter-custom", inputs: { filter: "filter" }, ngImport: i0, template: "<div *ngIf=\"GetHTML() == ''\">\n No custom filter found...\n</div>\n\n<ng-container *ngIf=\"GetHTML() != ''\">\n <div [innerHTML]=\"GetHTML()\">\n\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
42
+ }
43
+ export { FabFilterCustomComponent };
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterCustomComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'app-fab-filter-custom', template: "<div *ngIf=\"GetHTML() == ''\">\n No custom filter found...\n</div>\n\n<ng-container *ngIf=\"GetHTML() != ''\">\n <div [innerHTML]=\"GetHTML()\">\n\n </div>\n</ng-container>\n" }]
47
+ }], ctorParameters: function () { return [{ type: i1.FabrikantenService }, { type: i2.TranslateService }, { type: i3.TemplateComponentService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci1jdXN0b20uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1maWx0ZXItY3VzdG9tL2ZhYi1maWx0ZXItY3VzdG9tLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWN1c3RvbS9mYWItZmlsdGVyLWN1c3RvbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJcEUsT0FBTyxFQUE4QixtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFFdEgsTUFLYSx3QkFBd0I7SUFvQnpCO0lBQ0Q7SUFDQTtJQUNDO0lBckJWLE9BQU8sQ0FBNkI7SUFDcEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxLQUFpQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFDVSxrQkFBc0MsRUFDdkMsZ0JBQWtDLEVBQ2xDLHdCQUFrRCxFQUNqRCxpQkFBb0M7UUFIcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN2QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDakQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFFNUMsT0FBTztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVGO2FBQ0k7WUFDSCxPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQzt1R0FoQ1Usd0JBQXdCOzJGQUF4Qix3QkFBd0IsMkZDWHJDLG9MQVNBOztTREVhLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QjsrTUFXcEIsTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZUNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZS1jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mYWItZmlsdGVyLWN1c3RvbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItZmlsdGVyLWN1c3RvbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZhYi1maWx0ZXItY3VzdG9tLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmFiRmlsdGVyQ3VzdG9tQ29tcG9uZW50IHtcblxuICBfZmlsdGVyOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbDtcbiAgZ2V0IGZpbHRlcigpOiBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXIodmFsdWU6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsKSB7XG4gICAgdGhpcy5fZmlsdGVyID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBUZW1wbGF0ZUNvbXBvbmVudFNlcnZpY2U6IFRlbXBsYXRlQ29tcG9uZW50U2VydmljZSxcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgcHVibGljIEdldEhUTUwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5maWx0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLlRlbXBsYXRlQ29tcG9uZW50U2VydmljZS5HZXRIVE1MKFwiRmFiRmlsdGVyQ3VzdG9tQ29tcG9uZW50LVwiICsgdGhpcy5maWx0ZXIuaWQpO1xyXG4gICAgfVxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiR2V0SFRNTCgpID09ICcnXCI+XG4gIE5vIGN1c3RvbSBmaWx0ZXIgZm91bmQuLi5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiR2V0SFRNTCgpICE9ICcnXCI+XG4gIDxkaXYgW2lubmVySFRNTF09XCJHZXRIVE1MKClcIj5cblxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,56 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { TranslationCategory, TranslationSubCategory } 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 "@angular/common";
7
+ import * as i4 from "@angular/material/legacy-progress-spinner";
8
+ class FabFilterDisplayValueComponent {
9
+ FabrikantenService;
10
+ TranslateService;
11
+ ChangeDetectorRef;
12
+ _filter;
13
+ get filter() {
14
+ return this._filter;
15
+ }
16
+ set filter(value) {
17
+ this._filter = value;
18
+ }
19
+ get TranslationCategory() {
20
+ return TranslationCategory;
21
+ }
22
+ get TranslationSubCategory() {
23
+ return TranslationSubCategory;
24
+ }
25
+ constructor(FabrikantenService, TranslateService, ChangeDetectorRef) {
26
+ this.FabrikantenService = FabrikantenService;
27
+ this.TranslateService = TranslateService;
28
+ this.ChangeDetectorRef = ChangeDetectorRef;
29
+ }
30
+ IsLoaded() {
31
+ var options = this.filter.options;
32
+ if (options != null && options.length > 0) {
33
+ if (options[0].id != -1) {
34
+ return true;
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ GetText() {
40
+ var options = this.filter.options;
41
+ if (options != null && options.length > 0) {
42
+ return options[0].name + "";
43
+ }
44
+ return "";
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterDisplayValueComponent, deps: [{ token: i1.FabrikantenService }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFilterDisplayValueComponent, selector: "app-fab-filter-display-value", inputs: { filter: "filter" }, ngImport: i0, template: "<div class=\"filter-display-div\">\n <div class=\"filter-display-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\n </div>\n <div *ngIf=\"!IsLoaded()\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </div>\n <div *ngIf=\"IsLoaded()\" class=\"filter-display-value\">\n {{ GetText() }}\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\n </div>\n</div>\n", styles: [".filter-display-div{display:flex}.filter-display-name{flex:auto}.filter-display-value{flex:auto;text-align:right}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }] });
48
+ }
49
+ export { FabFilterDisplayValueComponent };
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterDisplayValueComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'app-fab-filter-display-value', template: "<div class=\"filter-display-div\">\n <div class=\"filter-display-name\">\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\n </div>\n <div *ngIf=\"!IsLoaded()\">\n <mat-spinner [diameter]=\"20\"></mat-spinner>\n </div>\n <div *ngIf=\"IsLoaded()\" class=\"filter-display-value\">\n {{ GetText() }}\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\n </div>\n</div>\n", styles: [".filter-display-div{display:flex}.filter-display-name{flex:auto}.filter-display-value{flex:auto;text-align:right}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.FabrikantenService }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci1kaXNwbGF5LXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWRpc3BsYXktdmFsdWUvZmFiLWZpbHRlci1kaXNwbGF5LXZhbHVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWRpc3BsYXktdmFsdWUvZmFiLWZpbHRlci1kaXNwbGF5LXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRSxPQUFPLEVBQThCLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQUV0SCxNQUthLDhCQUE4QjtJQW9CL0I7SUFDRDtJQUNDO0lBcEJWLE9BQU8sQ0FBNkI7SUFDcEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxLQUFpQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFDVSxrQkFBc0MsRUFDdkMsZ0JBQWtDLEVBQ2pDLGlCQUFvQztRQUZwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3ZDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFFNUMsUUFBUTtRQUNiLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBRWxDLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVsQyxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekMsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM3QjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt1R0E1Q1UsOEJBQThCOzJGQUE5Qiw4QkFBOEIsa0dDVjNDLGdnQkFZQTs7U0RGYSw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw4QkFBOEI7d0tBVzNCLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1maWx0ZXItZGlzcGxheS12YWx1ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItZmlsdGVyLWRpc3BsYXktdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZmlsdGVyLWRpc3BsYXktdmFsdWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGYWJGaWx0ZXJEaXNwbGF5VmFsdWVDb21wb25lbnQge1xuXG4gIF9maWx0ZXI6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsO1xuICBnZXQgZmlsdGVyKCk6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGZpbHRlcih2YWx1ZTogRmFicmlrYW50ZW5GaWx0ZXJWaWV3TW9kZWwpIHtcbiAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGlvbkNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5KCkge1xyXG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XHJcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBGYWJyaWthbnRlblNlcnZpY2U6IEZhYnJpa2FudGVuU2VydmljZSxcclxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBJc0xvYWRlZCgpOiBib29sZWFuIHtcbiAgICB2YXIgb3B0aW9ucyA9IHRoaXMuZmlsdGVyLm9wdGlvbnM7XG5cbiAgICBpZiAob3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKG9wdGlvbnNbMF0uaWQgIT0gLTEpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0VGV4dCgpOiBzdHJpbmcge1xuICAgIHZhciBvcHRpb25zID0gdGhpcy5maWx0ZXIub3B0aW9ucztcblxuICAgIGlmIChvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gb3B0aW9uc1swXS5uYW1lICsgXCJcIjtcclxuICAgIH1cblxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItZGlzcGxheS1kaXZcIj5cbiAgPGRpdiBjbGFzcz1cImZpbHRlci1kaXNwbGF5LW5hbWVcIj5cbiAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRmlsdGVyLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIGZpbHRlci5pZCkgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCIhSXNMb2FkZWQoKVwiPlxuICAgIDxtYXQtc3Bpbm5lciBbZGlhbWV0ZXJdPVwiMjBcIj48L21hdC1zcGlubmVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIklzTG9hZGVkKClcIiBjbGFzcz1cImZpbHRlci1kaXNwbGF5LXZhbHVlXCI+XG4gICAge3sgR2V0VGV4dCgpIH19XG4gICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXJvcHRpb24tbGFiZWwtdW5pdFwiICpuZ0lmPVwiZmlsdGVyLnVuaXQgIT0gbnVsbCAmJiBmaWx0ZXIudW5pdCAhPSAnJ1wiPiB7eyBmaWx0ZXIudW5pdCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -120,15 +120,15 @@ class FabFilterLabelComponent {
120
120
  return result;
121
121
  }
122
122
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterLabelComponent, deps: [{ token: i1.FabrikantenService }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
123
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFilterLabelComponent, selector: "app-fab-filter-label", inputs: { filter: "filter" }, outputs: { filterchanged: "filterchanged" }, ngImport: i0, template: "<div class=\"row\" *ngIf=\"!filter.hidden\">\r\n <div class=\"select\">\r\n <div class=\"displayflex\">\r\n <div class=\"filter-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\r\n <span class=\"filter-label-standard\" *ngIf=\"filter.standard != null && filter.standard != ''\"> ({{ filter.standard }})</span>\r\n <span class=\"filter-label-asterix\" *ngIf=\"filter.blocksProductSelect || filter.required\">*</span>\r\n </div>\r\n <div *ngIf=\"!IsDisabled()\" class=\"filter-options\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label\">\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <mat-option [value]=\"option.id\" class=\"select-mat-option\" *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"IsDisabled()\" class=\"filter-option-selected\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <ng-container *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position clear\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-filter-label .select-mat-label:first-letter{text-transform:capitalize}app-fab-filter-label .mat-select-min-line:first-letter{text-transform:capitalize}app-fab-filter-label .description-block{padding-bottom:15px;font-size:12px}app-fab-filter-label .row{display:flex;width:100%}app-fab-filter-label .full-width{width:100%}app-fab-filter-label .icon-position{margin-top:14px}app-fab-filter-label .select{flex:auto;width:100%}app-fab-filter-label .reset{cursor:pointer;font-size:26px}app-fab-filter-label .colour-preview-selected{padding:5px;margin-left:5px;margin-top:8px;border:1px solid #000}.colour-preview{padding:5px;border:1px solid #000;line-height:20px;margin:10px}.name-span{line-height:52px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}.filter-label,.filter-options,.filter-option-selected{width:50%}.displayflex{display:flex}.mat-select-disabled .mat-select-arrow{display:none}.mat-select-panel-wrap{top:15px;position:relative}.mat-select-panel{max-width:100%!important}.filter-option-image{max-width:40px;max-height:40px}.filter-option-image-div{max-height:40px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }], encapsulation: i0.ViewEncapsulation.None });
123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFilterLabelComponent, selector: "app-fab-filter-label", inputs: { filter: "filter" }, outputs: { filterchanged: "filterchanged" }, ngImport: i0, template: "<div class=\"row\" *ngIf=\"!filter.hidden\">\r\n <div class=\"select\">\r\n <div class=\"displayflex\">\r\n <div class=\"filter-label\">\r\n <span class=\"filter-label-name\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\r\n </span>\r\n <span class=\"filter-label-standard\" *ngIf=\"filter.standard != null && filter.standard != ''\"> ({{ filter.standard }})</span>\r\n <span class=\"filter-label-asterix\" *ngIf=\"filter.blocksProductSelect || filter.required\">*</span>\r\n </div>\r\n <div *ngIf=\"!IsDisabled()\" class=\"filter-options\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label\">\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <mat-option [value]=\"option.id\" class=\"select-mat-option\" *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"IsDisabled()\" class=\"filter-option-selected\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <ng-container *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position clear\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-filter-label .select-mat-label:first-letter{text-transform:capitalize}app-fab-filter-label .mat-select-min-line:first-letter{text-transform:capitalize}app-fab-filter-label .description-block{padding-bottom:15px;font-size:12px}app-fab-filter-label .row{display:flex;width:100%}app-fab-filter-label .full-width{width:100%}app-fab-filter-label .icon-position{margin-top:14px}app-fab-filter-label .select{flex:auto;width:100%}app-fab-filter-label .reset{cursor:pointer;font-size:26px}app-fab-filter-label .colour-preview-selected{padding:5px;margin-left:5px;margin-top:8px;border:1px solid #000}.colour-preview{padding:5px;border:1px solid #000;line-height:20px;margin:10px}.name-span{line-height:52px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}.filter-label{width:50%}.filter-label-name{line-height:52px}.filter-options{width:50%}.filter-option-selected{width:50%;text-align:right}mat-option .filteroption-label-unit{line-height:52px;padding-left:5px}.displayflex{display:flex}.mat-select-disabled .mat-select-arrow{display:none}.mat-select-panel-wrap{top:15px;position:relative}.mat-select-panel{max-width:100%!important}.filter-option-image{max-width:40px;max-height:40px}.filter-option-image-div{max-height:40px;padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }], encapsulation: i0.ViewEncapsulation.None });
124
124
  }
125
125
  export { FabFilterLabelComponent };
126
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFilterLabelComponent, decorators: [{
127
127
  type: Component,
128
- args: [{ selector: 'app-fab-filter-label', encapsulation: ViewEncapsulation.None, template: "<div class=\"row\" *ngIf=\"!filter.hidden\">\r\n <div class=\"select\">\r\n <div class=\"displayflex\">\r\n <div class=\"filter-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\r\n <span class=\"filter-label-standard\" *ngIf=\"filter.standard != null && filter.standard != ''\"> ({{ filter.standard }})</span>\r\n <span class=\"filter-label-asterix\" *ngIf=\"filter.blocksProductSelect || filter.required\">*</span>\r\n </div>\r\n <div *ngIf=\"!IsDisabled()\" class=\"filter-options\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label\">\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <mat-option [value]=\"option.id\" class=\"select-mat-option\" *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"IsDisabled()\" class=\"filter-option-selected\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <ng-container *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position clear\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-filter-label .select-mat-label:first-letter{text-transform:capitalize}app-fab-filter-label .mat-select-min-line:first-letter{text-transform:capitalize}app-fab-filter-label .description-block{padding-bottom:15px;font-size:12px}app-fab-filter-label .row{display:flex;width:100%}app-fab-filter-label .full-width{width:100%}app-fab-filter-label .icon-position{margin-top:14px}app-fab-filter-label .select{flex:auto;width:100%}app-fab-filter-label .reset{cursor:pointer;font-size:26px}app-fab-filter-label .colour-preview-selected{padding:5px;margin-left:5px;margin-top:8px;border:1px solid #000}.colour-preview{padding:5px;border:1px solid #000;line-height:20px;margin:10px}.name-span{line-height:52px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}.filter-label,.filter-options,.filter-option-selected{width:50%}.displayflex{display:flex}.mat-select-disabled .mat-select-arrow{display:none}.mat-select-panel-wrap{top:15px;position:relative}.mat-select-panel{max-width:100%!important}.filter-option-image{max-width:40px;max-height:40px}.filter-option-image-div{max-height:40px;padding-right:4px}\n"] }]
128
+ args: [{ selector: 'app-fab-filter-label', encapsulation: ViewEncapsulation.None, template: "<div class=\"row\" *ngIf=\"!filter.hidden\">\r\n <div class=\"select\">\r\n <div class=\"displayflex\">\r\n <div class=\"filter-label\">\r\n <span class=\"filter-label-name\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Filter, TranslationSubCategory.Name, filter.id) }}\r\n </span>\r\n <span class=\"filter-label-standard\" *ngIf=\"filter.standard != null && filter.standard != ''\"> ({{ filter.standard }})</span>\r\n <span class=\"filter-label-asterix\" *ngIf=\"filter.blocksProductSelect || filter.required\">*</span>\r\n </div>\r\n <div *ngIf=\"!IsDisabled()\" class=\"filter-options\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label\">\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <mat-option [value]=\"option.id\" class=\"select-mat-option\" *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"IsDisabled()\" class=\"filter-option-selected\">\r\n <ng-container *ngFor=\"let option of filter.options\">\r\n <ng-container *ngIf=\"!option.hidden\">\r\n <ng-container *ngIf=\"option.colour != null && option.colour != ''\">\r\n <span [ngStyle]=\"{'background-color': option.colour}\" class=\"colour-preview\">\r\n &nbsp;\r\n &nbsp;\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div\">\r\n <img src=\"{{ option.imagePath }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n <span class=\"name-span\">{{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id) }}</span>\r\n <span class=\"filteroption-label-unit\" *ngIf=\"filter.unit != null && filter.unit != ''\"> {{ filter.unit }}</span>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position clear\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-filter-label .select-mat-label:first-letter{text-transform:capitalize}app-fab-filter-label .mat-select-min-line:first-letter{text-transform:capitalize}app-fab-filter-label .description-block{padding-bottom:15px;font-size:12px}app-fab-filter-label .row{display:flex;width:100%}app-fab-filter-label .full-width{width:100%}app-fab-filter-label .icon-position{margin-top:14px}app-fab-filter-label .select{flex:auto;width:100%}app-fab-filter-label .reset{cursor:pointer;font-size:26px}app-fab-filter-label .colour-preview-selected{padding:5px;margin-left:5px;margin-top:8px;border:1px solid #000}.colour-preview{padding:5px;border:1px solid #000;line-height:20px;margin:10px}.name-span{line-height:52px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}.filter-label{width:50%}.filter-label-name{line-height:52px}.filter-options{width:50%}.filter-option-selected{width:50%;text-align:right}mat-option .filteroption-label-unit{line-height:52px;padding-left:5px}.displayflex{display:flex}.mat-select-disabled .mat-select-arrow{display:none}.mat-select-panel-wrap{top:15px;position:relative}.mat-select-panel{max-width:100%!important}.filter-option-image{max-width:40px;max-height:40px}.filter-option-image-div{max-height:40px;padding-right:4px}\n"] }]
129
129
  }], ctorParameters: function () { return [{ type: i1.FabrikantenService }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
130
130
  type: Input
131
131
  }], filterchanged: [{
132
132
  type: Output
133
133
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWZpbHRlci1sYWJlbC9mYWItZmlsdGVyLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWxhYmVsL2ZhYi1maWx0ZXItbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckgsT0FBTyxFQUFnRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7O0FBR3hKLE1BTWEsdUJBQXVCO0lBK0J4QjtJQUNEO0lBQ0M7SUFoQ0gsZ0JBQWdCLENBQVM7SUFFaEMsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUE2QjtJQUNwQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLEtBQWlDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUVwRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxPQUFPLEdBQUcs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SUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbEQsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFO3dCQUNoQixNQUFNLElBQUksR0FBRyxDQUFDO3FCQUNmO29CQUVELE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3hDO2FBQ0Y7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBdElVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHVJQ1pwQyw4NkdBMERBOztTRDlDYSx1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7d0tBa0J4QixNQUFNO3NCQUFsQixLQUFLO2dCQVlJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsLCBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZpbHRlci1sYWJlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi1maWx0ZXItbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZhYi1maWx0ZXItbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWJGaWx0ZXJMYWJlbENvbXBvbmVudCB7XHJcbiAgcHVibGljIFNlbGVjdGVkT3B0aW9uSWQ6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIGdldCBUcmFuc2xhdGlvbkNhdGVnb3J5KCkge1xyXG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XHJcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcclxuICB9XHJcblxyXG4gIF9maWx0ZXI6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsO1xyXG4gIGdldCBmaWx0ZXIoKTogRmFicmlrYW50ZW5GaWx0ZXJWaWV3TW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXIodmFsdWU6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcclxuICAgIHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9IHRoaXMuX2ZpbHRlci5zZWxlY3RlZE9wdGlvbjtcclxuXHJcbiAgICBpZiAodGhpcy5TZWxlY3RlZE9wdGlvbklkID09IDApIHtcclxuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLl9maWx0ZXIub3B0aW9ucztcclxuICAgICAgaWYgKG9wdGlvbnMgIT0gbnVsbCAmJiBvcHRpb25zLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdGhpcy5TZWxlY3RlZE9wdGlvbklkID0gb3B0aW9uc1swXS5pZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGZpbHRlcmNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdE9wdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlNlbGVjdE9wdGlvbih0aGlzLmZpbHRlci5pZCwgdGhpcy5TZWxlY3RlZE9wdGlvbklkLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXNldFNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlJlc2V0U2VsZWN0aW9uRmlsdGVyKHRoaXMuZmlsdGVyLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlci5zZWxlY3RlZE9wdGlvbiAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlci5vcHRpb25zPy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0Rlc2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlci5kZXNjcmlwdGlvbiAhPSBudWxsKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5fZmlsdGVyLmRlc2NyaXB0aW9uLmluZGV4T2YoXCIje1NjaHVpZmdyZW5kZWwgbWV0IGhhbmdzbG90fVwiKSAhPSAtMSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2ZpbHRlci5vcHRpb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9uc1tpXS5uYW1lPy50b0xvY2FsZUxvd2VyQ2FzZSgpID09IFwic2NodWlmZ3JlbmRlbCBtZXQgaGFuZ3Nsb3RcIikge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24uaW5kZXhPZihcIiN7R2V0QWxsT3B0aW9uc0V4Y2VwdEZpcnN0QW5kTGFzdH1cIikgIT0gLTEpIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlci5vcHRpb25zLmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XHJcbiAgICB2YXIgcmVzdWx0ID0gXCJcIjtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXN1bHQgPSB0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24ucmVwbGFjZShcIiN7U2NodWlmZ3JlbmRlbCBtZXQgaGFuZ3Nsb3R9XCIsIFwiXCIpO1xyXG5cclxuICAgICAgaWYgKHJlc3VsdC5pbmRleE9mKFwiI3tHZXRBbGxPcHRpb25zRXhjZXB0Rmlyc3RBbmRMYXN0fVwiKSAhPSAtMSkge1xyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5kZXNjcmlwdGlvbi5yZXBsYWNlKFwiI3tHZXRBbGxPcHRpb25zRXhjZXB0Rmlyc3RBbmRMYXN0fVwiLCB0aGlzLkdldEFsbE9wdGlvbnNFeGNlcHRGaXJzdEFuZExhc3QoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFNlbGVjdGVkT3B0aW9uKCk6IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLm9wdGlvbnNbMF07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9maWx0ZXIub3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlci5zZWxlY3RlZE9wdGlvbiA9PSB0aGlzLl9maWx0ZXIub3B0aW9uc1tpXS5pZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLm9wdGlvbnNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldEFsbE9wdGlvbnNFeGNlcHRGaXJzdEFuZExhc3QoKTogc3RyaW5nIHtcclxuICAgIHZhciByZXN1bHQgPSBcIlwiO1xyXG5cclxuICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoaSAhPSAwICYmIGkgIT0gdGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCAhPSBcIlwiKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIixcIjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXN1bHQgKz0gdGhpcy5fZmlsdGVyLm9wdGlvbnNbaV0ubmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhZmlsdGVyLmhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWxhYmVsXCI+XHJcbiAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZpbHRlciwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBmaWx0ZXIuaWQpIH19XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItbGFiZWwtc3RhbmRhcmRcIiAqbmdJZj1cImZpbHRlci5zdGFuZGFyZCAhPSBudWxsICYmIGZpbHRlci5zdGFuZGFyZCAhPSAnJ1wiPiAoe3sgZmlsdGVyLnN0YW5kYXJkIH19KTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZpbHRlci1sYWJlbC1hc3Rlcml4XCIgKm5nSWY9XCJmaWx0ZXIuYmxvY2tzUHJvZHVjdFNlbGVjdCB8fCBmaWx0ZXIucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFJc0Rpc2FibGVkKClcIiBjbGFzcz1cImZpbHRlci1vcHRpb25zXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwic2VsZWN0LW1hdC1sYWJlbFwiPlxyXG4gICAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlNlbGVjdGVkT3B0aW9uSWRcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIlNlbGVjdE9wdGlvbigpXCIgW2Rpc2FibGVkXT1cIklzRGlzYWJsZWQoKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmlkXCIgY2xhc3M9XCJzZWxlY3QtbWF0LW9wdGlvblwiICpuZ0lmPVwiIW9wdGlvbi5oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24uY29sb3VyICE9IG51bGwgJiYgb3B0aW9uLmNvbG91ciAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBvcHRpb24uY29sb3VyfVwiIGNsYXNzPVwiY29sb3VyLXByZXZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLmltYWdlUGF0aCAhPSBudWxsICYmIG9wdGlvbi5pbWFnZVBhdGggIT0gJydcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2UtZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJ7eyBvcHRpb24uaW1hZ2VQYXRoIH19XCIgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLWltYWdlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmFtZS1zcGFuXCI+e3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZpbHRlck9wdGlvbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBvcHRpb24uaWQpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXJvcHRpb24tbGFiZWwtdW5pdFwiICpuZ0lmPVwiZmlsdGVyLnVuaXQgIT0gbnVsbCAmJiBmaWx0ZXIudW5pdCAhPSAnJ1wiPiB7eyBmaWx0ZXIudW5pdCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiSXNEaXNhYmxlZCgpXCIgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLXNlbGVjdGVkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb24uaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbi5jb2xvdXIgIT0gbnVsbCAmJiBvcHRpb24uY29sb3VyICE9ICcnXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBvcHRpb24uY29sb3VyfVwiIGNsYXNzPVwiY29sb3VyLXByZXZpZXdcIj5cclxuICAgICAgICAgICAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24uaW1hZ2VQYXRoICE9IG51bGwgJiYgb3B0aW9uLmltYWdlUGF0aCAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2UtZGl2XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwie3sgb3B0aW9uLmltYWdlUGF0aCB9fVwiIGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1pbWFnZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUtc3BhblwiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5GaWx0ZXJPcHRpb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgb3B0aW9uLmlkKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbHRlcm9wdGlvbi1sYWJlbC11bml0XCIgKm5nSWY9XCJmaWx0ZXIudW5pdCAhPSBudWxsICYmIGZpbHRlci51bml0ICE9ICcnXCI+IHt7IGZpbHRlci51bml0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyZXNldFwiICpuZ0lmPVwiZmlsdGVyLnNlbGVjdGVkT3B0aW9uICE9IDBcIiAoY2xpY2spPVwiUmVzZXRTZWxlY3Rpb24oKVwiPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1wb3NpdGlvbiBjbGVhclwiIFtpbmxpbmVdPVwidHJ1ZVwiPmNsZWFyPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlci1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWZpbHRlci1sYWJlbC9mYWItZmlsdGVyLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZmlsdGVyLWxhYmVsL2ZhYi1maWx0ZXItbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckgsT0FBTyxFQUFnRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7O0FBR3hKLE1BTWEsdUJBQXVCO0lBK0J4QjtJQUNEO0lBQ0M7SUFoQ0gsZ0JBQWdCLENBQVM7SUFFaEMsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUE2QjtJQUNwQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLEtBQWlDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUVwRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxPQUFPLEdBQUcs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SUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbEQsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFO3dCQUNoQixNQUFNLElBQUksR0FBRyxDQUFDO3FCQUNmO29CQUVELE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7aUJBQ3hDO2FBQ0Y7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBdElVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHVJQ1pwQyxpL0dBNERBOztTRGhEYSx1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7d0tBa0J4QixNQUFNO3NCQUFsQixLQUFLO2dCQVlJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsLCBGYWJyaWthbnRlbkZpbHRlclZpZXdNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZpbHRlci1sYWJlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi1maWx0ZXItbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZhYi1maWx0ZXItbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWJGaWx0ZXJMYWJlbENvbXBvbmVudCB7XHJcbiAgcHVibGljIFNlbGVjdGVkT3B0aW9uSWQ6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIGdldCBUcmFuc2xhdGlvbkNhdGVnb3J5KCkge1xyXG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XHJcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcclxuICB9XHJcblxyXG4gIF9maWx0ZXI6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsO1xyXG4gIGdldCBmaWx0ZXIoKTogRmFicmlrYW50ZW5GaWx0ZXJWaWV3TW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXIodmFsdWU6IEZhYnJpa2FudGVuRmlsdGVyVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcclxuICAgIHRoaXMuU2VsZWN0ZWRPcHRpb25JZCA9IHRoaXMuX2ZpbHRlci5zZWxlY3RlZE9wdGlvbjtcclxuXHJcbiAgICBpZiAodGhpcy5TZWxlY3RlZE9wdGlvbklkID09IDApIHtcclxuICAgICAgdmFyIG9wdGlvbnMgPSB0aGlzLl9maWx0ZXIub3B0aW9ucztcclxuICAgICAgaWYgKG9wdGlvbnMgIT0gbnVsbCAmJiBvcHRpb25zLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdGhpcy5TZWxlY3RlZE9wdGlvbklkID0gb3B0aW9uc1swXS5pZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGZpbHRlcmNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdE9wdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlNlbGVjdE9wdGlvbih0aGlzLmZpbHRlci5pZCwgdGhpcy5TZWxlY3RlZE9wdGlvbklkLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXNldFNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLlJlc2V0U2VsZWN0aW9uRmlsdGVyKHRoaXMuZmlsdGVyLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlci5zZWxlY3RlZE9wdGlvbiAhPSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZpbHRlci5vcHRpb25zPy5sZW5ndGggPT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0Rlc2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlci5kZXNjcmlwdGlvbiAhPSBudWxsKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5fZmlsdGVyLmRlc2NyaXB0aW9uLmluZGV4T2YoXCIje1NjaHVpZmdyZW5kZWwgbWV0IGhhbmdzbG90fVwiKSAhPSAtMSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2ZpbHRlci5vcHRpb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9uc1tpXS5uYW1lPy50b0xvY2FsZUxvd2VyQ2FzZSgpID09IFwic2NodWlmZ3JlbmRlbCBtZXQgaGFuZ3Nsb3RcIikge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24uaW5kZXhPZihcIiN7R2V0QWxsT3B0aW9uc0V4Y2VwdEZpcnN0QW5kTGFzdH1cIikgIT0gLTEpIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlci5vcHRpb25zLmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XHJcbiAgICB2YXIgcmVzdWx0ID0gXCJcIjtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24gIT0gbnVsbCkge1xyXG4gICAgICByZXN1bHQgPSB0aGlzLl9maWx0ZXIuZGVzY3JpcHRpb24ucmVwbGFjZShcIiN7U2NodWlmZ3JlbmRlbCBtZXQgaGFuZ3Nsb3R9XCIsIFwiXCIpO1xyXG5cclxuICAgICAgaWYgKHJlc3VsdC5pbmRleE9mKFwiI3tHZXRBbGxPcHRpb25zRXhjZXB0Rmlyc3RBbmRMYXN0fVwiKSAhPSAtMSkge1xyXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5kZXNjcmlwdGlvbi5yZXBsYWNlKFwiI3tHZXRBbGxPcHRpb25zRXhjZXB0Rmlyc3RBbmRMYXN0fVwiLCB0aGlzLkdldEFsbE9wdGlvbnNFeGNlcHRGaXJzdEFuZExhc3QoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFNlbGVjdGVkT3B0aW9uKCk6IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsIHwgbnVsbCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoID09IDEpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLm9wdGlvbnNbMF07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9maWx0ZXIub3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlci5zZWxlY3RlZE9wdGlvbiA9PSB0aGlzLl9maWx0ZXIub3B0aW9uc1tpXS5pZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLm9wdGlvbnNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldEFsbE9wdGlvbnNFeGNlcHRGaXJzdEFuZExhc3QoKTogc3RyaW5nIHtcclxuICAgIHZhciByZXN1bHQgPSBcIlwiO1xyXG5cclxuICAgIGlmICh0aGlzLl9maWx0ZXIub3B0aW9ucyAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoaSAhPSAwICYmIGkgIT0gdGhpcy5fZmlsdGVyLm9wdGlvbnMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCAhPSBcIlwiKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIixcIjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXN1bHQgKz0gdGhpcy5fZmlsdGVyLm9wdGlvbnNbaV0ubmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhZmlsdGVyLmhpZGRlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWxhYmVsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItbGFiZWwtbmFtZVwiPlxyXG4gICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZpbHRlciwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBmaWx0ZXIuaWQpIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsdGVyLWxhYmVsLXN0YW5kYXJkXCIgKm5nSWY9XCJmaWx0ZXIuc3RhbmRhcmQgIT0gbnVsbCAmJiBmaWx0ZXIuc3RhbmRhcmQgIT0gJydcIj4gKHt7IGZpbHRlci5zdGFuZGFyZCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItbGFiZWwtYXN0ZXJpeFwiICpuZ0lmPVwiZmlsdGVyLmJsb2Nrc1Byb2R1Y3RTZWxlY3QgfHwgZmlsdGVyLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhSXNEaXNhYmxlZCgpXCIgY2xhc3M9XCJmaWx0ZXItb3B0aW9uc1wiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInNlbGVjdC1tYXQtbGFiZWxcIj5cclxuICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJTZWxlY3RlZE9wdGlvbklkXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJTZWxlY3RPcHRpb24oKVwiIFtkaXNhYmxlZF09XCJJc0Rpc2FibGVkKClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5pZFwiIGNsYXNzPVwic2VsZWN0LW1hdC1vcHRpb25cIiAqbmdJZj1cIiFvcHRpb24uaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLmNvbG91ciAhPSBudWxsICYmIG9wdGlvbi5jb2xvdXIgIT0gJydcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogb3B0aW9uLmNvbG91cn1cIiBjbGFzcz1cImNvbG91ci1wcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbi5pbWFnZVBhdGggIT0gbnVsbCAmJiBvcHRpb24uaW1hZ2VQYXRoICE9ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLWltYWdlLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwie3sgb3B0aW9uLmltYWdlUGF0aCB9fVwiIGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1pbWFnZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUtc3BhblwiPnt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5GaWx0ZXJPcHRpb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgb3B0aW9uLmlkKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsdGVyb3B0aW9uLWxhYmVsLXVuaXRcIiAqbmdJZj1cImZpbHRlci51bml0ICE9IG51bGwgJiYgZmlsdGVyLnVuaXQgIT0gJydcIj4ge3sgZmlsdGVyLnVuaXQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cIklzRGlzYWJsZWQoKVwiIGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1zZWxlY3RlZFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5vcHRpb25zXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmhpZGRlblwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24uY29sb3VyICE9IG51bGwgJiYgb3B0aW9uLmNvbG91ciAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogb3B0aW9uLmNvbG91cn1cIiBjbGFzcz1cImNvbG91ci1wcmV2aWV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLmltYWdlUGF0aCAhPSBudWxsICYmIG9wdGlvbi5pbWFnZVBhdGggIT0gJydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLWltYWdlLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cInt7IG9wdGlvbi5pbWFnZVBhdGggfX1cIiBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2VcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lLXNwYW5cIj57eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRmlsdGVyT3B0aW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIG9wdGlvbi5pZCkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXJvcHRpb24tbGFiZWwtdW5pdFwiICpuZ0lmPVwiZmlsdGVyLnVuaXQgIT0gbnVsbCAmJiBmaWx0ZXIudW5pdCAhPSAnJ1wiPiB7eyBmaWx0ZXIudW5pdCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVzZXRcIiAqbmdJZj1cImZpbHRlci5zZWxlY3RlZE9wdGlvbiAhPSAwXCIgKGNsaWNrKT1cIlJlc2V0U2VsZWN0aW9uKClcIj5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tcG9zaXRpb24gY2xlYXJcIiBbaW5saW5lXT1cInRydWVcIj5jbGVhcjwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -36,12 +36,12 @@ class FabFiltersComponent {
36
36
  return this.FabrikantenService.Loading || this.TranslateService.Loading;
37
37
  }
38
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFiltersComponent, deps: [{ token: i1.MobileService }, { token: i2.FabrikantenService }, { token: i3.BestekService }, { token: i4.TranslateService }, { token: i5.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFiltersComponent, selector: "fab-filters", host: { listeners: { "window:resize": "onResize($event)" } }, 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(TranslationCategory.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\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\">\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 class=\"product-view\">\r\n <fab-filters-overview></fab-filters-overview>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>-->\r\n", styles: [".row{display:flex}.loader-card{margin:auto;width:300px}.loader-subtitle{text-transform:capitalize;text-align:center}.loader-spinner{margin:auto}.view-content{background-color:#fff}.loader{position:absolute;display:flex;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}.filter-view{width:300px;min-width:300px;background-color:#fafafa}.product-view{flex:auto}\n"] });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabFiltersComponent, selector: "fab-filters", host: { listeners: { "window:resize": "onResize($event)" } }, 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(TranslationCategory.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\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\">\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 class=\"product-view\">\r\n <fab-filters-overview></fab-filters-overview>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>-->\r\n", styles: [".row{display:flex}.loader-card{margin:auto;width:300px}.loader-subtitle{text-align:center}.loader-spinner{margin:auto}.view-content{background-color:#fff}.loader{position:absolute;display:flex;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}.filter-view{width:300px;min-width:300px;background-color:#fafafa}.product-view{flex:auto}\n"] });
40
40
  }
41
41
  export { FabFiltersComponent };
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabFiltersComponent, decorators: [{
43
43
  type: Component,
44
- args: [{ selector: 'fab-filters', 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(TranslationCategory.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\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\">\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 class=\"product-view\">\r\n <fab-filters-overview></fab-filters-overview>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>-->\r\n", styles: [".row{display:flex}.loader-card{margin:auto;width:300px}.loader-subtitle{text-transform:capitalize;text-align:center}.loader-spinner{margin:auto}.view-content{background-color:#fff}.loader{position:absolute;display:flex;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}.filter-view{width:300px;min-width:300px;background-color:#fafafa}.product-view{flex:auto}\n"] }]
44
+ args: [{ selector: 'fab-filters', 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(TranslationCategory.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\" *ngIf=\"FabrikantenService.FabrikantenViewModel != null\">\r\n <mat-drawer #drawer [mode]=\"MobileService.NavMode\" [(opened)]=\"MobileService.NavOpened\">\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 class=\"product-view\">\r\n <fab-filters-overview></fab-filters-overview>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>-->\r\n", styles: [".row{display:flex}.loader-card{margin:auto;width:300px}.loader-subtitle{text-align:center}.loader-spinner{margin:auto}.view-content{background-color:#fff}.loader{position:absolute;display:flex;align-items:center;z-index:20;background-color:#ffffffb3;top:0;left:0}.filter-view{width:300px;min-width:300px;background-color:#fafafa}.product-view{flex:auto}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i1.MobileService }, { type: i2.FabrikantenService }, { type: i3.BestekService }, { type: i4.TranslateService }, { type: i5.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onResize: [{
46
46
  type: HostListener,
47
47
  args: ['window:resize', ['$event']]
@@ -47,17 +47,26 @@ class FabHeaderComponent {
47
47
  }
48
48
  return this.TranslateService.Show();
49
49
  }
50
+ ShowDisplayValues() {
51
+ var displayvalues = this.FabrikantenService.GetDynamicDisplayValues();
52
+ for (var i = 0; i < displayvalues.length; i++) {
53
+ if (!displayvalues[i].hidden) {
54
+ return true;
55
+ }
56
+ }
57
+ return false;
58
+ }
50
59
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabHeaderComponent, deps: [{ token: i1.MobileService }, { token: i2.FabrikantenService }, { token: i3.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
51
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabHeaderComponent, selector: "app-fab-header", inputs: { showfiltermenubutton: "showfiltermenubutton" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<div class=\"header-row\" *ngIf=\"ShowHeader()\">\r\n <app-fab-breadcrumb *ngIf=\"ShowBreadcrumb()\" [showfiltermenubutton]=\"showfiltermenubutton\"></app-fab-breadcrumb>\r\n <app-fab-language-select *ngIf=\"ShowLanguageSelect()\"></app-fab-language-select>\r\n</div>\r\n<ng-container *ngIf=\"FabrikantenService.GetDynamicDisplayValues().length > 0\">\r\n <div class=\"display-values-box\">\r\n <div class=\"display-value-item\" *ngFor=\"let displayvalue of FabrikantenService.GetDynamicDisplayValues()\">\r\n <span class=\"display-value-name\">{{ displayvalue.name }}</span>: {{ displayvalue.value }}mm\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [".header-row{display:flex}app-fab-language-select{margin:auto 5px auto auto}app-fab-breadcrumb{width:100%}.display-values-box{display:flex}.display-value-name{text-transform:capitalize}.display-value-item{padding:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FabBreadcrumbComponent, selector: "app-fab-breadcrumb", inputs: ["showfiltermenubutton"] }, { kind: "component", type: i6.FabLanguageSelectComponent, selector: "app-fab-language-select" }] });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabHeaderComponent, selector: "app-fab-header", inputs: { showfiltermenubutton: "showfiltermenubutton" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<div class=\"header-row\" *ngIf=\"ShowHeader()\">\r\n <app-fab-breadcrumb *ngIf=\"ShowBreadcrumb()\" [showfiltermenubutton]=\"showfiltermenubutton\"></app-fab-breadcrumb>\r\n <app-fab-language-select *ngIf=\"ShowLanguageSelect()\"></app-fab-language-select>\r\n</div>\r\n<ng-container *ngIf=\"ShowDisplayValues()\">\r\n <div class=\"display-values-box\">\r\n <ng-container *ngFor=\"let displayvalue of FabrikantenService.GetDynamicDisplayValues()\">\r\n <div class=\"display-value-item\" *ngIf=\"!displayvalue.hidden\">\r\n <span class=\"display-value-name\">{{ displayvalue.name }}</span>: {{ displayvalue.value }}mm\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".header-row{display:flex}app-fab-language-select{margin:auto 5px auto auto}app-fab-breadcrumb{width:100%}.display-values-box{display:flex}.display-value-name{text-transform:capitalize}.display-value-item{padding:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FabBreadcrumbComponent, selector: "app-fab-breadcrumb", inputs: ["showfiltermenubutton"] }, { kind: "component", type: i6.FabLanguageSelectComponent, selector: "app-fab-language-select" }] });
52
61
  }
53
62
  export { FabHeaderComponent };
54
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabHeaderComponent, decorators: [{
55
64
  type: Component,
56
- args: [{ selector: 'app-fab-header', template: "<div class=\"header-row\" *ngIf=\"ShowHeader()\">\r\n <app-fab-breadcrumb *ngIf=\"ShowBreadcrumb()\" [showfiltermenubutton]=\"showfiltermenubutton\"></app-fab-breadcrumb>\r\n <app-fab-language-select *ngIf=\"ShowLanguageSelect()\"></app-fab-language-select>\r\n</div>\r\n<ng-container *ngIf=\"FabrikantenService.GetDynamicDisplayValues().length > 0\">\r\n <div class=\"display-values-box\">\r\n <div class=\"display-value-item\" *ngFor=\"let displayvalue of FabrikantenService.GetDynamicDisplayValues()\">\r\n <span class=\"display-value-name\">{{ displayvalue.name }}</span>: {{ displayvalue.value }}mm\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [".header-row{display:flex}app-fab-language-select{margin:auto 5px auto auto}app-fab-breadcrumb{width:100%}.display-values-box{display:flex}.display-value-name{text-transform:capitalize}.display-value-item{padding:4px}\n"] }]
65
+ args: [{ selector: 'app-fab-header', template: "<div class=\"header-row\" *ngIf=\"ShowHeader()\">\r\n <app-fab-breadcrumb *ngIf=\"ShowBreadcrumb()\" [showfiltermenubutton]=\"showfiltermenubutton\"></app-fab-breadcrumb>\r\n <app-fab-language-select *ngIf=\"ShowLanguageSelect()\"></app-fab-language-select>\r\n</div>\r\n<ng-container *ngIf=\"ShowDisplayValues()\">\r\n <div class=\"display-values-box\">\r\n <ng-container *ngFor=\"let displayvalue of FabrikantenService.GetDynamicDisplayValues()\">\r\n <div class=\"display-value-item\" *ngIf=\"!displayvalue.hidden\">\r\n <span class=\"display-value-name\">{{ displayvalue.name }}</span>: {{ displayvalue.value }}mm\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".header-row{display:flex}app-fab-language-select{margin:auto 5px auto auto}app-fab-breadcrumb{width:100%}.display-values-box{display:flex}.display-value-name{text-transform:capitalize}.display-value-item{padding:4px}\n"] }]
57
66
  }], ctorParameters: function () { return [{ type: i1.MobileService }, { type: i2.FabrikantenService }, { type: i3.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { showfiltermenubutton: [{
58
67
  type: Input
59
68
  }], onResize: [{
60
69
  type: HostListener,
61
70
  args: ['window:resize', ['$event']]
62
71
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWhlYWRlci9mYWItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItaGVhZGVyL2ZhYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFLMUYsTUFLYSxrQkFBa0I7SUFLcEI7SUFDQTtJQUNBO0lBQ0M7SUFORCxvQkFBb0IsQ0FBVTtJQUV2QyxZQUNTLGFBQTRCLEVBQzVCLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDakMsaUJBQW9DO1FBSHJDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckcsQ0FBQztJQUdELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLGVBQWUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pFLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7b0JBQ2xELE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLEVBQUU7WUFDaEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsc0JBQXNCLEVBQUU7Z0JBQy9FLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFO29CQUM5QixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO3VHQTdDVSxrQkFBa0I7MkZBQWxCLGtCQUFrQiw4S0NWL0IseXBCQVdBOztTRERhLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtvTUFNakIsb0JBQW9CO3NCQUE1QixLQUFLO2dCQWFOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IE1vYmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2JpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mYWItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLWhlYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWJIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBzaG93ZmlsdGVybWVudWJ1dHRvbjogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgTW9iaWxlU2VydmljZTogTW9iaWxlU2VydmljZSxcclxuICAgIHB1YmxpYyBGYWJyaWthbnRlblNlcnZpY2U6IEZhYnJpa2FudGVuU2VydmljZSxcclxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTW9iaWxlU2VydmljZS5VcGRhdGVTY3JlZW5TaXplKHdpbmRvdy5pbm5lcldpZHRoLCB3aW5kb3cuaW5uZXJIZWlnaHQsIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5Nb2JpbGVTZXJ2aWNlLlVwZGF0ZVNjcmVlblNpemUod2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodCwgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0hlYWRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLlNob3dCcmVhZGNydW1iKCkgfHwgdGhpcy5TaG93TGFuZ3VhZ2VTZWxlY3QoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93QnJlYWRjcnVtYigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5Nb2JpbGVTZXJ2aWNlLk1vYmlsZUludGVyZmFjZSkge1xyXG4gICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWw/LnNlbGVjdGVkUHJvZHVjdCA9PSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkdldFN0ZXBzKCkubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93TGFuZ3VhZ2VTZWxlY3QoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5TZXR0aW5nc1ZpZXdNb2RlbCAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblNldHRpbmdzVmlld01vZGVsLmhpZGVCcmVhZGNydW1iSW5JZnJhbWUpIHtcclxuICAgICAgICBpZiAod2luZG93LnNlbGYgIT09IHdpbmRvdy50b3ApIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLlNob3coKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCIgKm5nSWY9XCJTaG93SGVhZGVyKClcIj5cclxuICA8YXBwLWZhYi1icmVhZGNydW1iICpuZ0lmPVwiU2hvd0JyZWFkY3J1bWIoKVwiIFtzaG93ZmlsdGVybWVudWJ1dHRvbl09XCJzaG93ZmlsdGVybWVudWJ1dHRvblwiPjwvYXBwLWZhYi1icmVhZGNydW1iPlxyXG4gIDxhcHAtZmFiLWxhbmd1YWdlLXNlbGVjdCAqbmdJZj1cIlNob3dMYW5ndWFnZVNlbGVjdCgpXCI+PC9hcHAtZmFiLWxhbmd1YWdlLXNlbGVjdD5cclxuPC9kaXY+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJGYWJyaWthbnRlblNlcnZpY2UuR2V0RHluYW1pY0Rpc3BsYXlWYWx1ZXMoKS5sZW5ndGggPiAwXCI+XHJcbiAgPGRpdiBjbGFzcz1cImRpc3BsYXktdmFsdWVzLWJveFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXktdmFsdWUtaXRlbVwiICpuZ0Zvcj1cImxldCBkaXNwbGF5dmFsdWUgb2YgRmFicmlrYW50ZW5TZXJ2aWNlLkdldER5bmFtaWNEaXNwbGF5VmFsdWVzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXNwbGF5LXZhbHVlLW5hbWVcIj57eyBkaXNwbGF5dmFsdWUubmFtZSB9fTwvc3Bhbj46IHt7IGRpc3BsYXl2YWx1ZS52YWx1ZSB9fW1tXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2NvbXBvbmVudHMvZmFiLWhlYWRlci9mYWItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItaGVhZGVyL2ZhYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFLMUYsTUFLYSxrQkFBa0I7SUFLcEI7SUFDQTtJQUNBO0lBQ0M7SUFORCxvQkFBb0IsQ0FBVTtJQUV2QyxZQUNTLGFBQTRCLEVBQzVCLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDakMsaUJBQW9DO1FBSHJDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckcsQ0FBQztJQUdELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLGVBQWUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pFLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7b0JBQ2xELE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLEVBQUU7WUFDaEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsc0JBQXNCLEVBQUU7Z0JBQy9FLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFO29CQUM5QixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0saUJBQWlCO1FBRXRCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRXRFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUM1QixPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFHRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBM0RVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLDhLQ1YvQix1c0JBYUE7O1NESGEsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO29NQU1qQixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBYU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9iaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vYmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mYWItaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZhYkhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dmaWx0ZXJtZW51YnV0dG9uOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBNb2JpbGVTZXJ2aWNlOiBNb2JpbGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIFRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Nb2JpbGVTZXJ2aWNlLlVwZGF0ZVNjcmVlblNpemUod2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodCwgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLk1vYmlsZVNlcnZpY2UuVXBkYXRlU2NyZWVuU2l6ZSh3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0LCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuU2hvd0JyZWFkY3J1bWIoKSB8fCB0aGlzLlNob3dMYW5ndWFnZVNlbGVjdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dCcmVhZGNydW1iKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLk1vYmlsZVNlcnZpY2UuTW9iaWxlSW50ZXJmYWNlKSB7XHJcbiAgICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbD8uc2VsZWN0ZWRQcm9kdWN0ID09IG51bGwpIHtcclxuICAgICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuR2V0U3RlcHMoKS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dMYW5ndWFnZVNlbGVjdCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblNldHRpbmdzVmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWwuaGlkZUJyZWFkY3J1bWJJbklmcmFtZSkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuU2hvdygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dEaXNwbGF5VmFsdWVzKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIHZhciBkaXNwbGF5dmFsdWVzID0gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuR2V0RHluYW1pY0Rpc3BsYXlWYWx1ZXMoKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpc3BsYXl2YWx1ZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKCFkaXNwbGF5dmFsdWVzW2ldLmhpZGRlbikge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIiAqbmdJZj1cIlNob3dIZWFkZXIoKVwiPlxyXG4gIDxhcHAtZmFiLWJyZWFkY3J1bWIgKm5nSWY9XCJTaG93QnJlYWRjcnVtYigpXCIgW3Nob3dmaWx0ZXJtZW51YnV0dG9uXT1cInNob3dmaWx0ZXJtZW51YnV0dG9uXCI+PC9hcHAtZmFiLWJyZWFkY3J1bWI+XHJcbiAgPGFwcC1mYWItbGFuZ3VhZ2Utc2VsZWN0ICpuZ0lmPVwiU2hvd0xhbmd1YWdlU2VsZWN0KClcIj48L2FwcC1mYWItbGFuZ3VhZ2Utc2VsZWN0PlxyXG48L2Rpdj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIlNob3dEaXNwbGF5VmFsdWVzKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZGlzcGxheS12YWx1ZXMtYm94XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkaXNwbGF5dmFsdWUgb2YgRmFicmlrYW50ZW5TZXJ2aWNlLkdldER5bmFtaWNEaXNwbGF5VmFsdWVzKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXktdmFsdWUtaXRlbVwiICpuZ0lmPVwiIWRpc3BsYXl2YWx1ZS5oaWRkZW5cIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpc3BsYXktdmFsdWUtbmFtZVwiPnt7IGRpc3BsYXl2YWx1ZS5uYW1lIH19PC9zcGFuPjoge3sgZGlzcGxheXZhbHVlLnZhbHVlIH19bW1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -10,6 +10,8 @@ import * as i7 from "../fab-multiselect-fold/fab-multiselect-fold.component";
10
10
  import * as i8 from "../fab-range-input-fold/fab-range-input-fold.component";
11
11
  import * as i9 from "../fab-filter-label/fab-filter-label.component";
12
12
  import * as i10 from "../fab-filter-colour-label/fab-filter-colour-label.component";
13
+ import * as i11 from "../fab-filter-display-value/fab-filter-display-value.component";
14
+ import * as i12 from "../fab-filter-custom/fab-filter-custom.component";
13
15
  class FabInputComponent {
14
16
  _input;
15
17
  get input() {
@@ -19,13 +21,13 @@ class FabInputComponent {
19
21
  this._input = value;
20
22
  }
21
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabInputComponent, selector: "app-fab-input", inputs: { input: "input" }, ngImport: i0, template: "<ng-container *ngIf=\"input.filter && !input.filter.hidden\">\r\n <ng-container *ngIf=\"input.filter.filterType == 1\">\r\n <app-fab-filter [filter]=\"input.filter\"></app-fab-filter>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 4\">\r\n <app-fab-filter-fold [filter]=\"input.filter\"></app-fab-filter-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 2\">\r\n <app-fab-filter-colour [filter]=\"input.filter\"></app-fab-filter-colour>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 3\">\r\n <app-fab-multiselect [filter]=\"input.filter\"></app-fab-multiselect>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 5\">\r\n <app-fab-multiselect-fold [filter]=\"input.filter\"></app-fab-multiselect-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 6\">\r\n <app-fab-filter-label [filter]=\"input.filter\"></app-fab-filter-label>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 7\">\r\n <app-fab-filter-colour-label [filter]=\"input.filter\"></app-fab-filter-colour-label>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"input.range && !input.range.hidden\">\r\n <ng-container *ngIf=\"input.range.rangeInputType == 0\">\r\n <app-fab-range-input [rangeinput]=\"input.range\"></app-fab-range-input>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range.rangeInputType == 1\">\r\n <app-fab-range-input-fold [rangeinput]=\"input.range\"></app-fab-range-input-fold>\r\n </ng-container> \r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FabFilterComponent, selector: "app-fab-filter", inputs: ["filter"], outputs: ["filterchanged"] }, { kind: "component", type: i3.FabRangeInputComponent, selector: "app-fab-range-input", inputs: ["rangeinput"] }, { kind: "component", type: i4.FabFilterColourComponent, selector: "app-fab-filter-colour", inputs: ["filter"] }, { kind: "component", type: i5.FabMultiselectComponent, selector: "app-fab-multiselect", inputs: ["filter"] }, { kind: "component", type: i6.FabFilterFoldComponent, selector: "app-fab-filter-fold", inputs: ["filter"] }, { kind: "component", type: i7.FabMultiselectFoldComponent, selector: "app-fab-multiselect-fold", inputs: ["filter"] }, { kind: "component", type: i8.FabRangeInputFoldComponent, selector: "app-fab-range-input-fold", inputs: ["rangeinput"] }, { kind: "component", type: i9.FabFilterLabelComponent, selector: "app-fab-filter-label", inputs: ["filter"], outputs: ["filterchanged"] }, { kind: "component", type: i10.FabFilterColourLabelComponent, selector: "app-fab-filter-colour-label", inputs: ["filter"] }] });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: FabInputComponent, selector: "app-fab-input", inputs: { input: "input" }, ngImport: i0, template: "<ng-container *ngIf=\"input.filter && !input.filter.hidden\">\r\n <ng-container *ngIf=\"input.filter.filterType == 1\">\r\n <app-fab-filter [filter]=\"input.filter\"></app-fab-filter>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 4\">\r\n <app-fab-filter-fold [filter]=\"input.filter\"></app-fab-filter-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 2\">\r\n <app-fab-filter-colour [filter]=\"input.filter\"></app-fab-filter-colour>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 3\">\r\n <app-fab-multiselect [filter]=\"input.filter\"></app-fab-multiselect>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 5\">\r\n <app-fab-multiselect-fold [filter]=\"input.filter\"></app-fab-multiselect-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 6\">\r\n <app-fab-filter-label [filter]=\"input.filter\"></app-fab-filter-label>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 7\">\r\n <app-fab-filter-colour-label [filter]=\"input.filter\"></app-fab-filter-colour-label>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 8\">\r\n <app-fab-filter-display-value [filter]=\"input.filter\"></app-fab-filter-display-value>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 9\">\r\n <app-fab-filter-custom [filter]=\"input.filter\"></app-fab-filter-custom>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"input.range && !input.range.hidden\">\r\n <ng-container *ngIf=\"input.range.rangeInputType == 0\">\r\n <app-fab-range-input [rangeinput]=\"input.range\"></app-fab-range-input>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range.rangeInputType == 1\">\r\n <app-fab-range-input-fold [rangeinput]=\"input.range\"></app-fab-range-input-fold>\r\n </ng-container> \r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FabFilterComponent, selector: "app-fab-filter", inputs: ["filter"], outputs: ["filterchanged"] }, { kind: "component", type: i3.FabRangeInputComponent, selector: "app-fab-range-input", inputs: ["rangeinput"] }, { kind: "component", type: i4.FabFilterColourComponent, selector: "app-fab-filter-colour", inputs: ["filter"] }, { kind: "component", type: i5.FabMultiselectComponent, selector: "app-fab-multiselect", inputs: ["filter"] }, { kind: "component", type: i6.FabFilterFoldComponent, selector: "app-fab-filter-fold", inputs: ["filter"] }, { kind: "component", type: i7.FabMultiselectFoldComponent, selector: "app-fab-multiselect-fold", inputs: ["filter"] }, { kind: "component", type: i8.FabRangeInputFoldComponent, selector: "app-fab-range-input-fold", inputs: ["rangeinput"] }, { kind: "component", type: i9.FabFilterLabelComponent, selector: "app-fab-filter-label", inputs: ["filter"], outputs: ["filterchanged"] }, { kind: "component", type: i10.FabFilterColourLabelComponent, selector: "app-fab-filter-colour-label", inputs: ["filter"] }, { kind: "component", type: i11.FabFilterDisplayValueComponent, selector: "app-fab-filter-display-value", inputs: ["filter"] }, { kind: "component", type: i12.FabFilterCustomComponent, selector: "app-fab-filter-custom", inputs: ["filter"] }] });
23
25
  }
24
26
  export { FabInputComponent };
25
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: FabInputComponent, decorators: [{
26
28
  type: Component,
27
- args: [{ selector: 'app-fab-input', template: "<ng-container *ngIf=\"input.filter && !input.filter.hidden\">\r\n <ng-container *ngIf=\"input.filter.filterType == 1\">\r\n <app-fab-filter [filter]=\"input.filter\"></app-fab-filter>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 4\">\r\n <app-fab-filter-fold [filter]=\"input.filter\"></app-fab-filter-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 2\">\r\n <app-fab-filter-colour [filter]=\"input.filter\"></app-fab-filter-colour>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 3\">\r\n <app-fab-multiselect [filter]=\"input.filter\"></app-fab-multiselect>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 5\">\r\n <app-fab-multiselect-fold [filter]=\"input.filter\"></app-fab-multiselect-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 6\">\r\n <app-fab-filter-label [filter]=\"input.filter\"></app-fab-filter-label>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 7\">\r\n <app-fab-filter-colour-label [filter]=\"input.filter\"></app-fab-filter-colour-label>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"input.range && !input.range.hidden\">\r\n <ng-container *ngIf=\"input.range.rangeInputType == 0\">\r\n <app-fab-range-input [rangeinput]=\"input.range\"></app-fab-range-input>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range.rangeInputType == 1\">\r\n <app-fab-range-input-fold [rangeinput]=\"input.range\"></app-fab-range-input-fold>\r\n </ng-container> \r\n</ng-container>\r\n" }]
29
+ args: [{ selector: 'app-fab-input', template: "<ng-container *ngIf=\"input.filter && !input.filter.hidden\">\r\n <ng-container *ngIf=\"input.filter.filterType == 1\">\r\n <app-fab-filter [filter]=\"input.filter\"></app-fab-filter>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 4\">\r\n <app-fab-filter-fold [filter]=\"input.filter\"></app-fab-filter-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 2\">\r\n <app-fab-filter-colour [filter]=\"input.filter\"></app-fab-filter-colour>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 3\">\r\n <app-fab-multiselect [filter]=\"input.filter\"></app-fab-multiselect>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 5\">\r\n <app-fab-multiselect-fold [filter]=\"input.filter\"></app-fab-multiselect-fold>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 6\">\r\n <app-fab-filter-label [filter]=\"input.filter\"></app-fab-filter-label>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 7\">\r\n <app-fab-filter-colour-label [filter]=\"input.filter\"></app-fab-filter-colour-label>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 8\">\r\n <app-fab-filter-display-value [filter]=\"input.filter\"></app-fab-filter-display-value>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.filter.filterType == 9\">\r\n <app-fab-filter-custom [filter]=\"input.filter\"></app-fab-filter-custom>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"input.range && !input.range.hidden\">\r\n <ng-container *ngIf=\"input.range.rangeInputType == 0\">\r\n <app-fab-range-input [rangeinput]=\"input.range\"></app-fab-range-input>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range.rangeInputType == 1\">\r\n <app-fab-range-input-fold [rangeinput]=\"input.range\"></app-fab-range-input-fold>\r\n </ng-container> \r\n</ng-container>\r\n" }]
28
30
  }], propDecorators: { input: [{
29
31
  type: Input
30
32
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItaW5wdXQvZmFiLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItaW5wdXQvZmFiLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7QUFHakQsTUFLYSxpQkFBaUI7SUFFNUIsTUFBTSxDQUE0QjtJQUNsQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQWEsS0FBSyxDQUFDLEtBQWdDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBVFUsaUJBQWlCOzJGQUFqQixpQkFBaUIsaUZDUjlCLCtsREFnQ0E7O1NEeEJhLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7OEJBV1osS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZhYnJpa2FudGVuSW5wdXRWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mYWItaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmFiSW5wdXRDb21wb25lbnQge1xuXG4gIF9pbnB1dDogRmFicmlrYW50ZW5JbnB1dFZpZXdNb2RlbDtcbiAgZ2V0IGlucHV0KCk6IEZhYnJpa2FudGVuSW5wdXRWaWV3TW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBpbnB1dCh2YWx1ZTogRmFicmlrYW50ZW5JbnB1dFZpZXdNb2RlbCkge1xuICAgIHRoaXMuX2lucHV0ID0gdmFsdWU7XG4gIH1cblxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyICYmICFpbnB1dC5maWx0ZXIuaGlkZGVuXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDFcIj5cclxuICAgIDxhcHAtZmFiLWZpbHRlciBbZmlsdGVyXT1cImlucHV0LmZpbHRlclwiPjwvYXBwLWZhYi1maWx0ZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDRcIj5cclxuICAgIDxhcHAtZmFiLWZpbHRlci1mb2xkIFtmaWx0ZXJdPVwiaW5wdXQuZmlsdGVyXCI+PC9hcHAtZmFiLWZpbHRlci1mb2xkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5maWx0ZXIuZmlsdGVyVHlwZSA9PSAyXCI+XHJcbiAgICA8YXBwLWZhYi1maWx0ZXItY29sb3VyIFtmaWx0ZXJdPVwiaW5wdXQuZmlsdGVyXCI+PC9hcHAtZmFiLWZpbHRlci1jb2xvdXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDNcIj5cclxuICAgIDxhcHAtZmFiLW11bHRpc2VsZWN0IFtmaWx0ZXJdPVwiaW5wdXQuZmlsdGVyXCI+PC9hcHAtZmFiLW11bHRpc2VsZWN0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5maWx0ZXIuZmlsdGVyVHlwZSA9PSA1XCI+XHJcbiAgICA8YXBwLWZhYi1tdWx0aXNlbGVjdC1mb2xkIFtmaWx0ZXJdPVwiaW5wdXQuZmlsdGVyXCI+PC9hcHAtZmFiLW11bHRpc2VsZWN0LWZvbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDZcIj5cclxuICAgIDxhcHAtZmFiLWZpbHRlci1sYWJlbCBbZmlsdGVyXT1cImlucHV0LmZpbHRlclwiPjwvYXBwLWZhYi1maWx0ZXItbGFiZWw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDdcIj5cclxuICAgIDxhcHAtZmFiLWZpbHRlci1jb2xvdXItbGFiZWwgW2ZpbHRlcl09XCJpbnB1dC5maWx0ZXJcIj48L2FwcC1mYWItZmlsdGVyLWNvbG91ci1sYWJlbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQucmFuZ2UgJiYgIWlucHV0LnJhbmdlLmhpZGRlblwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5yYW5nZS5yYW5nZUlucHV0VHlwZSA9PSAwXCI+XHJcbiAgICA8YXBwLWZhYi1yYW5nZS1pbnB1dCBbcmFuZ2VpbnB1dF09XCJpbnB1dC5yYW5nZVwiPjwvYXBwLWZhYi1yYW5nZS1pbnB1dD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQucmFuZ2UucmFuZ2VJbnB1dFR5cGUgPT0gMVwiPlxyXG4gICAgPGFwcC1mYWItcmFuZ2UtaW5wdXQtZm9sZCBbcmFuZ2VpbnB1dF09XCJpbnB1dC5yYW5nZVwiPjwvYXBwLWZhYi1yYW5nZS1pbnB1dC1mb2xkPlxyXG4gIDwvbmctY29udGFpbmVyPiAgXHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItaW5wdXQvZmFiLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItaW5wdXQvZmFiLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQUdqRCxNQUthLGlCQUFpQjtJQUU1QixNQUFNLENBQTRCO0lBQ2xDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBYSxLQUFLLENBQUMsS0FBZ0M7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzt1R0FUVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixpRkNSOUIsKzZEQXNDQTs7U0Q5QmEsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZTs4QkFXWixLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFicmlrYW50ZW5JbnB1dFZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGYWJJbnB1dENvbXBvbmVudCB7XG5cbiAgX2lucHV0OiBGYWJyaWthbnRlbklucHV0Vmlld01vZGVsO1xuICBnZXQgaW5wdXQoKTogRmFicmlrYW50ZW5JbnB1dFZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGlucHV0KHZhbHVlOiBGYWJyaWthbnRlbklucHV0Vmlld01vZGVsKSB7XG4gICAgdGhpcy5faW5wdXQgPSB2YWx1ZTtcbiAgfVxuXG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5maWx0ZXIgJiYgIWlucHV0LmZpbHRlci5oaWRkZW5cIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyLmZpbHRlclR5cGUgPT0gMVwiPlxyXG4gICAgPGFwcC1mYWItZmlsdGVyIFtmaWx0ZXJdPVwiaW5wdXQuZmlsdGVyXCI+PC9hcHAtZmFiLWZpbHRlcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyLmZpbHRlclR5cGUgPT0gNFwiPlxyXG4gICAgPGFwcC1mYWItZmlsdGVyLWZvbGQgW2ZpbHRlcl09XCJpbnB1dC5maWx0ZXJcIj48L2FwcC1mYWItZmlsdGVyLWZvbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDJcIj5cclxuICAgIDxhcHAtZmFiLWZpbHRlci1jb2xvdXIgW2ZpbHRlcl09XCJpbnB1dC5maWx0ZXJcIj48L2FwcC1mYWItZmlsdGVyLWNvbG91cj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyLmZpbHRlclR5cGUgPT0gM1wiPlxyXG4gICAgPGFwcC1mYWItbXVsdGlzZWxlY3QgW2ZpbHRlcl09XCJpbnB1dC5maWx0ZXJcIj48L2FwcC1mYWItbXVsdGlzZWxlY3Q+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlci5maWx0ZXJUeXBlID09IDVcIj5cclxuICAgIDxhcHAtZmFiLW11bHRpc2VsZWN0LWZvbGQgW2ZpbHRlcl09XCJpbnB1dC5maWx0ZXJcIj48L2FwcC1mYWItbXVsdGlzZWxlY3QtZm9sZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyLmZpbHRlclR5cGUgPT0gNlwiPlxyXG4gICAgPGFwcC1mYWItZmlsdGVyLWxhYmVsIFtmaWx0ZXJdPVwiaW5wdXQuZmlsdGVyXCI+PC9hcHAtZmFiLWZpbHRlci1sYWJlbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyLmZpbHRlclR5cGUgPT0gN1wiPlxyXG4gICAgPGFwcC1mYWItZmlsdGVyLWNvbG91ci1sYWJlbCBbZmlsdGVyXT1cImlucHV0LmZpbHRlclwiPjwvYXBwLWZhYi1maWx0ZXItY29sb3VyLWxhYmVsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5maWx0ZXIuZmlsdGVyVHlwZSA9PSA4XCI+XHJcbiAgICA8YXBwLWZhYi1maWx0ZXItZGlzcGxheS12YWx1ZSBbZmlsdGVyXT1cImlucHV0LmZpbHRlclwiPjwvYXBwLWZhYi1maWx0ZXItZGlzcGxheS12YWx1ZT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyLmZpbHRlclR5cGUgPT0gOVwiPlxyXG4gICAgPGFwcC1mYWItZmlsdGVyLWN1c3RvbSBbZmlsdGVyXT1cImlucHV0LmZpbHRlclwiPjwvYXBwLWZhYi1maWx0ZXItY3VzdG9tPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5yYW5nZSAmJiAhaW5wdXQucmFuZ2UuaGlkZGVuXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LnJhbmdlLnJhbmdlSW5wdXRUeXBlID09IDBcIj5cclxuICAgIDxhcHAtZmFiLXJhbmdlLWlucHV0IFtyYW5nZWlucHV0XT1cImlucHV0LnJhbmdlXCI+PC9hcHAtZmFiLXJhbmdlLWlucHV0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5yYW5nZS5yYW5nZUlucHV0VHlwZSA9PSAxXCI+XHJcbiAgICA8YXBwLWZhYi1yYW5nZS1pbnB1dC1mb2xkIFtyYW5nZWlucHV0XT1cImlucHV0LnJhbmdlXCI+PC9hcHAtZmFiLXJhbmdlLWlucHV0LWZvbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+ICBcclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==