fabrikantencore 1.3.1 → 1.3.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"fabrikantencore.mjs","sources":["../../src/app/modules/fabrikantencore/swagger/SwaggerClient.ts","../../src/app/modules/fabrikantencore/services/authentication.service.ts","../../src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.ts","../../src/app/modules/fabrikantencore/helpers/error.interceptor.ts","../../src/app/modules/fabrikantencore/helpers/auth.guard.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.html","../../src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.ts","../../src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.html","../../src/app/modules/fabrikantencore/services/mobile.service.ts","../../src/app/modules/fabrikantencore/services/bestek.service.ts","../../src/app/modules/fabrikantencore/services/navigate.service.ts","../../src/app/modules/fabrikantencore/services/translate.service.ts","../../src/app/modules/fabrikantencore/services/webgl.service.ts","../../src/app/modules/fabrikantencore/services/svg.service.ts","../../src/app/modules/fabrikantencore/services/fabrikanten.service.ts","../../src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.ts","../../src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.html","../../src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.html","../../src/app/modules/fabrikantencore/services/photo.service.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.html","../../src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.ts","../../src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.html","../../src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.ts","../../src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.html","../../src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.ts","../../src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.html","../../src/app/modules/fabrikantencore/components/fab-header/fab-header.component.ts","../../src/app/modules/fabrikantencore/components/fab-header/fab-header.component.html","../../src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.ts","../../src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.html","../../src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.ts","../../src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product.component.html","../../src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.ts","../../src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.html","../../src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.ts","../../src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.html","../../src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.html","../../src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.html","../../src/app/modules/fabrikantencore/services/projectsetting.service.ts","../../src/app/modules/fabrikantencore/services/products.service.ts","../../src/app/modules/fabrikantencore/services/importsets.service.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-opbouw/beheer-import-sets-opbouw.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-opbouw/beheer-import-sets-opbouw.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.html","../../src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.ts","../../src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.html","../../src/app/modules/fabrikantencore/components/fab-start/fab-start.component.ts","../../src/app/modules/fabrikantencore/components/fab-start/fab-start.component.html","../../src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.ts","../../src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.html","../../src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.ts","../../src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.html","../../src/app/modules/fabrikantencore/fabrikantencore.module.ts","../../fabrikantencore.ts"],"sourcesContent":["//----------------------\r\n// <auto-generated>\r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken<string>('API_BASE_URL');\r\n\r\n@Injectable()\r\nexport class CategoriesApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getCategoriesViewModel(): Observable<CategoriesViewModel> {\r\n let url_ = this.baseUrl + \"/api/categories/getcategoriesviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCategoriesViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCategoriesViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CategoriesViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CategoriesViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetCategoriesViewModel(response: HttpResponseBase): Observable<CategoriesViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CategoriesViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCategoriesOverview(): Observable<CategoriesOverviewViewModel> {\r\n let url_ = this.baseUrl + \"/api/categories/getcategoriesoverview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCategoriesOverview(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCategoriesOverview(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CategoriesOverviewViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CategoriesOverviewViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetCategoriesOverview(response: HttpResponseBase): Observable<CategoriesOverviewViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CategoriesOverviewViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createCategory(pCreateCategoryRequest: CreateCategoryRequest): Observable<CreateCategoryResponse> {\r\n let url_ = this.baseUrl + \"/api/categories/createcategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateCategoryResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateCategoryResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateCategory(response: HttpResponseBase): Observable<CreateCategoryResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateCategoryResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class EBOKoppelApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getEBOKoppelViewModel(): Observable<EBOKoppelViewModel> {\r\n let url_ = this.baseUrl + \"/api/ebokoppel/getebokoppelviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetEBOKoppelViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetEBOKoppelViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<EBOKoppelViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<EBOKoppelViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetEBOKoppelViewModel(response: HttpResponseBase): Observable<EBOKoppelViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EBOKoppelViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelEBOOptie(pKoppelEBOOptieRequest: KoppelEBOOptieRequest): Observable<KoppelEBOOptieResponse> {\r\n let url_ = this.baseUrl + \"/api/ebokoppel/koppelebooptie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelEBOOptieRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelEBOOptie(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelEBOOptie(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<KoppelEBOOptieResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<KoppelEBOOptieResponse>;\r\n }));\r\n }\r\n\r\n protected processKoppelEBOOptie(response: HttpResponseBase): Observable<KoppelEBOOptieResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KoppelEBOOptieResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connectEBODOCategory(pConnectEBOCategoryRequest: ConnectEBODOCategoryRequest): Observable<ConnectEBODOCategoryResponse> {\r\n let url_ = this.baseUrl + \"/api/ebokoppel/connectebodocategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pConnectEBOCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processConnectEBODOCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectEBODOCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<ConnectEBODOCategoryResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<ConnectEBODOCategoryResponse>;\r\n }));\r\n }\r\n\r\n protected processConnectEBODOCategory(response: HttpResponseBase): Observable<ConnectEBODOCategoryResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ConnectEBODOCategoryResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class FabrikantenApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFabrikantenViewModel(pFabrikantenRequestModel: FabrikantenRequestModel): Observable<FabrikantenViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantenviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenViewModel(response: HttpResponseBase): Observable<FabrikantenViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikantenBestekViewModel(pFabrikantenBestekRequestModel: FabrikantenBestekRequestModel): Observable<FabrikantenBestekViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantenbestekviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenBestekRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenBestekViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenBestekViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenBestekViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenBestekViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenBestekViewModel(response: HttpResponseBase): Observable<FabrikantenBestekViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenBestekViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikanten3DViewModel(pFabrikanten3DRequestModel: Fabrikanten3DRequestModel): Observable<Fabrikanten3DViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikanten3dviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikanten3DRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikanten3DViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikanten3DViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<Fabrikanten3DViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<Fabrikanten3DViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikanten3DViewModel(response: HttpResponseBase): Observable<Fabrikanten3DViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Fabrikanten3DViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikantenSVGViewModel(pFabrikantenSVGRequestModel: FabrikantenSVGRequestModel): Observable<FabrikantenSVGViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantensvgviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenSVGRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenSVGViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenSVGViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenSVGViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenSVGViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenSVGViewModel(response: HttpResponseBase): Observable<FabrikantenSVGViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenSVGViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikantenFileViewModel(pFabrikantenFileRequestModel: FabrikantenFileRequestModel): Observable<FabrikantenFileViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantenfileviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenFileRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenFileViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenFileViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenFileViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenFileViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenFileViewModel(response: HttpResponseBase): Observable<FabrikantenFileViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenFileViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getBCBLink(pBCBLinkRequestModel: BCBLinkRequestModel): Observable<BCBLinkResponseModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getbcblink\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pBCBLinkRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBCBLink(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBCBLink(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBLinkResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBLinkResponseModel>;\r\n }));\r\n }\r\n\r\n protected processGetBCBLink(response: HttpResponseBase): Observable<BCBLinkResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBLinkResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetCache(): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetcache\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetCache(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetCache(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetCache(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n selectFilterOption(pSelectFilterOptionRequest: SelectFilterOptionRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/selectfilteroption\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSelectFilterOptionRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectFilterOption(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectFilterOption(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSelectFilterOption(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n selectCategory(pSelectCategoryRequest: SelectCategoryRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/selectcategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSelectCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSelectCategory(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetFilterSelection(pResetFilterRequest: ResetFilterRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetfilterselection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetFilterRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetFilterSelection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetFilterSelection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetFilterSelection(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetCategoryLayerSelection(pResetCategoryLayerRequest: ResetCategoryLayerRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetcategorylayerselection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetCategoryLayerRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetCategoryLayerSelection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetCategoryLayerSelection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetCategoryLayerSelection(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetAllFilters(pResetAllFiltersRequest: ResetAllFiltersRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetallfilters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetAllFiltersRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetAllFilters(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetAllFilters(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetAllFilters(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetAllCategories(pResetAllCategoriesRequest: ResetAllCategoriesRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetallcategories\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetAllCategoriesRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetAllCategories(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetAllCategories(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetAllCategories(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n selectProduct(pSelectProductRequest: SelectProductRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/selectproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSelectProductRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSelectProduct(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n removeProductSelection(pRemoveProductSelectionRequest: RemoveProductSelectionRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/removeproductselection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pRemoveProductSelectionRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRemoveProductSelection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRemoveProductSelection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processRemoveProductSelection(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class FiltersApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFiltersViewModel(): Observable<FiltersViewModel> {\r\n let url_ = this.baseUrl + \"/api/filters/getfiltersviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFiltersViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFiltersViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FiltersViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FiltersViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFiltersViewModel(response: HttpResponseBase): Observable<FiltersViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FiltersViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createFilter(pCreateFilterRequest: CreateFilterRequest): Observable<CreateFilterResponse> {\r\n let url_ = this.baseUrl + \"/api/filters/createfilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateFilterRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateFilter(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateFilter(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateFilterResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateFilterResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateFilter(response: HttpResponseBase): Observable<CreateFilterResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateFilterResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createFilterOption(pCreateFilterOptionRequest: CreateFilterOptionRequest): Observable<CreateFilterOptionResponse> {\r\n let url_ = this.baseUrl + \"/api/filters/createfilteroption\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateFilterOptionRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateFilterOption(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateFilterOption(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateFilterOptionResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateFilterOptionResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateFilterOption(response: HttpResponseBase): Observable<CreateFilterOptionResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateFilterOptionResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ImportApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getBCBImportSetsViewModel(): Observable<BCBImportSetsViewModel> {\r\n let url_ = this.baseUrl + \"/api/import/getbcbimportsetsviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBCBImportSetsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBCBImportSetsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBImportSetsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBImportSetsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetBCBImportSetsViewModel(response: HttpResponseBase): Observable<BCBImportSetsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBImportSetsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n openBCBProduct(pBCBImportOpenRequest: BCBImportOpenRequest): Observable<BCBImportOpenResponse> {\r\n let url_ = this.baseUrl + \"/api/import/openbcbproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pBCBImportOpenRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processOpenBCBProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processOpenBCBProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBImportOpenResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBImportOpenResponse>;\r\n }));\r\n }\r\n\r\n protected processOpenBCBProduct(response: HttpResponseBase): Observable<BCBImportOpenResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBImportOpenResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n importBCBProduct(pBCBImportProductRequest: BCBImportProductRequest): Observable<BCBImportProductResponse> {\r\n let url_ = this.baseUrl + \"/api/import/importbcbproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pBCBImportProductRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processImportBCBProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processImportBCBProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBImportProductResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBImportProductResponse>;\r\n }));\r\n }\r\n\r\n protected processImportBCBProduct(response: HttpResponseBase): Observable<BCBImportProductResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBImportProductResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveImportSet(pSaveImportSetRequest: SaveImportSetRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/import/saveimportset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSaveImportSetRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSaveImportSet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveImportSet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSaveImportSet(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeImportSet(pChangeImportSetRequest: ChangeImportSetRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/import/changeimportset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pChangeImportSetRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeImportSet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeImportSet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processChangeImportSet(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ProductsApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getProductsViewModel(): Observable<ProductsViewModel> {\r\n let url_ = this.baseUrl + \"/api/products/getproductsviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetProductsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProductsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<ProductsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<ProductsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetProductsViewModel(response: HttpResponseBase): Observable<ProductsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ProductsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveProduct(pSaveProductViewModel: SaveProductViewModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/products/saveproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSaveProductViewModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSaveProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSaveProduct(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetImport(pResetImportRequestModel: ResetImportRequestModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/products/resetimport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetImportRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetImport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetImport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetImport(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connectBCBEigenschapOptieFilterOption(pKoppelEigenschapOptieRequest: KoppelEigenschapOptieRequest): Observable<KoppelEigenschapOptieResponse> {\r\n let url_ = this.baseUrl + \"/api/products/connectbcbeigenschapoptiefilteroption\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelEigenschapOptieRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processConnectBCBEigenschapOptieFilterOption(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectBCBEigenschapOptieFilterOption(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<KoppelEigenschapOptieResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<KoppelEigenschapOptieResponse>;\r\n }));\r\n }\r\n\r\n protected processConnectBCBEigenschapOptieFilterOption(response: HttpResponseBase): Observable<KoppelEigenschapOptieResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KoppelEigenschapOptieResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connectBCBEigenschapOptieCategory(pConnectBCBEigenschapOptieCategoryRequest: ConnectBCBEigenschapOptieCategoryRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/products/connectbcbeigenschapoptiecategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pConnectBCBEigenschapOptieCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processConnectBCBEigenschapOptieCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectBCBEigenschapOptieCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processConnectBCBEigenschapOptieCategory(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelManyName(pKoppelManyNameRequest: KoppelManyNameRequest): Observable<KoppelManyNameResponse> {\r\n let url_ = this.baseUrl + \"/api/products/koppelmanyname\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelManyNameRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelManyName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelManyName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<KoppelManyNameResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<KoppelManyNameResponse>;\r\n }));\r\n }\r\n\r\n protected processKoppelManyName(response: HttpResponseBase): Observable<KoppelManyNameResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KoppelManyNameResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ProjectSettingApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getProjectSettingsViewModel(): Observable<ProjectSettingsViewModel> {\r\n let url_ = this.baseUrl + \"/api/projectsettings/getprojectsettingsviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetProjectSettingsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProjectSettingsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<ProjectSettingsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<ProjectSettingsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetProjectSettingsViewModel(response: HttpResponseBase): Observable<ProjectSettingsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ProjectSettingsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setProjectSettingModel(pSetProjectSettingRequestModel: SetProjectSettingRequestModel): Observable<SetProjectSettingResponseModel> {\r\n let url_ = this.baseUrl + \"/api/projectsettings/setprojectsettingmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSetProjectSettingRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSetProjectSettingModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetProjectSettingModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<SetProjectSettingResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<SetProjectSettingResponseModel>;\r\n }));\r\n }\r\n\r\n protected processSetProjectSettingModel(response: HttpResponseBase): Observable<SetProjectSettingResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SetProjectSettingResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SearchProductsApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getSearchResults(pSearchProductsRequestModel: SearchProductsRequestModel): Observable<SearchProductsResponseModel> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/getsearchresults\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSearchProductsRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetSearchResults(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSearchResults(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<SearchProductsResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<SearchProductsResponseModel>;\r\n }));\r\n }\r\n\r\n protected processGetSearchResults(response: HttpResponseBase): Observable<SearchProductsResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchProductsResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addNewProduct(pNewProductRequestModel: NewProductRequestModel): Observable<NewProductResponseModel> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/addnewproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pNewProductRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddNewProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddNewProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<NewProductResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<NewProductResponseModel>;\r\n }));\r\n }\r\n\r\n protected processAddNewProduct(response: HttpResponseBase): Observable<NewProductResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NewProductResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getProductsViewModel(): Observable<GetProductsViewModel> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/getproducts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetProductsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProductsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<GetProductsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<GetProductsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetProductsViewModel(response: HttpResponseBase): Observable<GetProductsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetProductsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelProducts(pKoppelProductsRequestModel: KoppelProductsRequestModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/koppelproducts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelProductsRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelProducts(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelProducts(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processKoppelProducts(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelProductsKenmerk(pKoppelProductsRequestModel: KoppelProductsRequestModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/koppelproductskenmerk\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelProductsRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelProductsKenmerk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelProductsKenmerk(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processKoppelProductsKenmerk(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SecurityApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n authenticateUser(pLoginRequestModel: LoginRequestModel): Observable<LoginResponseModel> {\r\n let url_ = this.baseUrl + \"/api/security/authenticateuser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pLoginRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAuthenticateUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAuthenticateUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LoginResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LoginResponseModel>;\r\n }));\r\n }\r\n\r\n protected processAuthenticateUser(response: HttpResponseBase): Observable<LoginResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoginResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLoginIPResponseModel(): Observable<LoginIPResponseModel> {\r\n let url_ = this.baseUrl + \"/api/security/getloginipresponsemodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetLoginIPResponseModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLoginIPResponseModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LoginIPResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LoginIPResponseModel>;\r\n }));\r\n }\r\n\r\n protected processGetLoginIPResponseModel(response: HttpResponseBase): Observable<LoginIPResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoginIPResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class TranslateApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getLanguagesViewModel(): Observable<LanguagesViewModel> {\r\n let url_ = this.baseUrl + \"/api/translate/getlanguagesviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetLanguagesViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLanguagesViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LanguagesViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LanguagesViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetLanguagesViewModel(response: HttpResponseBase): Observable<LanguagesViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LanguagesViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createLanguage(pCreateLanguageRequest: CreateLanguageRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/translate/createlanguage\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateLanguageRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateLanguage(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateLanguage(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processCreateLanguage(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createExport(pCreateExportRequest: CreateExportRequest): Observable<CreateExportResponse> {\r\n let url_ = this.baseUrl + \"/api/translate/createexport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateExportRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateExport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateExport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateExportResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateExportResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateExport(response: HttpResponseBase): Observable<CreateExportResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateExportResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n readExport(pReadExportRequest: ReadExportRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/translate/readexport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pReadExportRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processReadExport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processReadExport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processReadExport(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class CategoriesViewModel implements ICategoriesViewModel {\r\n categories?: CategoryViewModel[] | undefined;\r\n\r\n constructor(data?: ICategoriesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(CategoryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoriesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoriesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoriesViewModel {\r\n categories?: CategoryViewModel[] | undefined;\r\n}\r\n\r\nexport class CategoryViewModel implements ICategoryViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n layer!: number;\r\n imagePath?: string | undefined;\r\n\r\n constructor(data?: ICategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.layer = _data[\"layer\"];\r\n this.imagePath = _data[\"imagePath\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"layer\"] = this.layer;\r\n data[\"imagePath\"] = this.imagePath;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoryViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n layer: number;\r\n imagePath?: string | undefined;\r\n}\r\n\r\nexport class CategoriesOverviewViewModel implements ICategoriesOverviewViewModel {\r\n categories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n\r\n constructor(data?: ICategoriesOverviewViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(CategoriesOverviewCategorieViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"products\"])) {\r\n this.products = [] as any;\r\n for (let item of _data[\"products\"])\r\n this.products!.push(ProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoriesOverviewViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoriesOverviewViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.products)) {\r\n data[\"products\"] = [];\r\n for (let item of this.products)\r\n data[\"products\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoriesOverviewViewModel {\r\n categories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n}\r\n\r\nexport class CategoriesOverviewCategorieViewModel implements ICategoriesOverviewCategorieViewModel {\r\n id!: number;\r\n layer!: number;\r\n name?: string | undefined;\r\n subCategories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n\r\n constructor(data?: ICategoriesOverviewCategorieViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.layer = _data[\"layer\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"subCategories\"])) {\r\n this.subCategories = [] as any;\r\n for (let item of _data[\"subCategories\"])\r\n this.subCategories!.push(CategoriesOverviewCategorieViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"products\"])) {\r\n this.products = [] as any;\r\n for (let item of _data[\"products\"])\r\n this.products!.push(ProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoriesOverviewCategorieViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoriesOverviewCategorieViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"layer\"] = this.layer;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.subCategories)) {\r\n data[\"subCategories\"] = [];\r\n for (let item of this.subCategories)\r\n data[\"subCategories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.products)) {\r\n data[\"products\"] = [];\r\n for (let item of this.products)\r\n data[\"products\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoriesOverviewCategorieViewModel {\r\n id: number;\r\n layer: number;\r\n name?: string | undefined;\r\n subCategories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n}\r\n\r\nexport class ProductViewModel implements IProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n position!: number;\r\n importSetId!: number;\r\n connected!: boolean;\r\n imported!: boolean;\r\n importStatus?: string | undefined;\r\n bcbProductViewModels?: BCBProductViewModel[] | undefined;\r\n\r\n constructor(data?: IProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.position = _data[\"position\"];\r\n this.importSetId = _data[\"importSetId\"];\r\n this.connected = _data[\"connected\"];\r\n this.imported = _data[\"imported\"];\r\n this.importStatus = _data[\"importStatus\"];\r\n if (Array.isArray(_data[\"bcbProductViewModels\"])) {\r\n this.bcbProductViewModels = [] as any;\r\n for (let item of _data[\"bcbProductViewModels\"])\r\n this.bcbProductViewModels!.push(BCBProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"position\"] = this.position;\r\n data[\"importSetId\"] = this.importSetId;\r\n data[\"connected\"] = this.connected;\r\n data[\"imported\"] = this.imported;\r\n data[\"importStatus\"] = this.importStatus;\r\n if (Array.isArray(this.bcbProductViewModels)) {\r\n data[\"bcbProductViewModels\"] = [];\r\n for (let item of this.bcbProductViewModels)\r\n data[\"bcbProductViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n position: number;\r\n importSetId: number;\r\n connected: boolean;\r\n imported: boolean;\r\n importStatus?: string | undefined;\r\n bcbProductViewModels?: BCBProductViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBProductViewModel implements IBCBProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n imported!: boolean;\r\n connected!: boolean;\r\n importStatus?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductEigenschapViewModels?: BCBProductEigenschapViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.imported = _data[\"imported\"];\r\n this.connected = _data[\"connected\"];\r\n this.importStatus = _data[\"importStatus\"];\r\n this.bcbeboViewModel = _data[\"bcbeboViewModel\"] ? BCBEBOViewModel.fromJS(_data[\"bcbeboViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbProductEigenschapViewModels\"])) {\r\n this.bcbProductEigenschapViewModels = [] as any;\r\n for (let item of _data[\"bcbProductEigenschapViewModels\"])\r\n this.bcbProductEigenschapViewModels!.push(BCBProductEigenschapViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"imported\"] = this.imported;\r\n data[\"connected\"] = this.connected;\r\n data[\"importStatus\"] = this.importStatus;\r\n data[\"bcbeboViewModel\"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbProductEigenschapViewModels)) {\r\n data[\"bcbProductEigenschapViewModels\"] = [];\r\n for (let item of this.bcbProductEigenschapViewModels)\r\n data[\"bcbProductEigenschapViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n imported: boolean;\r\n connected: boolean;\r\n importStatus?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductEigenschapViewModels?: BCBProductEigenschapViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEBOViewModel implements IBCBEBOViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n dOs?: BCBEBODOViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBEBOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"dOs\"])) {\r\n this.dOs = [] as any;\r\n for (let item of _data[\"dOs\"])\r\n this.dOs!.push(BCBEBODOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEBOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEBOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.dOs)) {\r\n data[\"dOs\"] = [];\r\n for (let item of this.dOs)\r\n data[\"dOs\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEBOViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n dOs?: BCBEBODOViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEBODOViewModel implements IBCBEBODOViewModel {\r\n id!: number;\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n connected!: boolean;\r\n\r\n constructor(data?: IBCBEBODOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.doType = _data[\"doType\"];\r\n this.doNaam = _data[\"doNaam\"];\r\n this.connected = _data[\"connected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEBODOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEBODOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"doType\"] = this.doType;\r\n data[\"doNaam\"] = this.doNaam;\r\n data[\"connected\"] = this.connected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEBODOViewModel {\r\n id: number;\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n connected: boolean;\r\n}\r\n\r\nexport class BCBProductEigenschapViewModel implements IBCBProductEigenschapViewModel {\r\n id!: number;\r\n connected!: boolean;\r\n open!: boolean;\r\n bcbEigenschapViewModel?: BCBEigenschapViewModel | undefined;\r\n bcbProductEigenschapOptieViewModels?: BCBProductEigenschapOptieViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBProductEigenschapViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.connected = _data[\"connected\"];\r\n this.open = _data[\"open\"];\r\n this.bcbEigenschapViewModel = _data[\"bcbEigenschapViewModel\"] ? BCBEigenschapViewModel.fromJS(_data[\"bcbEigenschapViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbProductEigenschapOptieViewModels\"])) {\r\n this.bcbProductEigenschapOptieViewModels = [] as any;\r\n for (let item of _data[\"bcbProductEigenschapOptieViewModels\"])\r\n this.bcbProductEigenschapOptieViewModels!.push(BCBProductEigenschapOptieViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBProductEigenschapViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBProductEigenschapViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"connected\"] = this.connected;\r\n data[\"open\"] = this.open;\r\n data[\"bcbEigenschapViewModel\"] = this.bcbEigenschapViewModel ? this.bcbEigenschapViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbProductEigenschapOptieViewModels)) {\r\n data[\"bcbProductEigenschapOptieViewModels\"] = [];\r\n for (let item of this.bcbProductEigenschapOptieViewModels)\r\n data[\"bcbProductEigenschapOptieViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBProductEigenschapViewModel {\r\n id: number;\r\n connected: boolean;\r\n open: boolean;\r\n bcbEigenschapViewModel?: BCBEigenschapViewModel | undefined;\r\n bcbProductEigenschapOptieViewModels?: BCBProductEigenschapOptieViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEigenschapViewModel implements IBCBEigenschapViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IBCBEigenschapViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class BCBProductEigenschapOptieViewModel implements IBCBProductEigenschapOptieViewModel {\r\n id!: number;\r\n bcbEigenschapOptieViewModel?: BCBEigenschapOptieViewModel | undefined;\r\n connected!: boolean;\r\n\r\n constructor(data?: IBCBProductEigenschapOptieViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bcbEigenschapOptieViewModel = _data[\"bcbEigenschapOptieViewModel\"] ? BCBEigenschapOptieViewModel.fromJS(_data[\"bcbEigenschapOptieViewModel\"]) : <any>undefined;\r\n this.connected = _data[\"connected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBProductEigenschapOptieViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBProductEigenschapOptieViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bcbEigenschapOptieViewModel\"] = this.bcbEigenschapOptieViewModel ? this.bcbEigenschapOptieViewModel.toJSON() : <any>undefined;\r\n data[\"connected\"] = this.connected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBProductEigenschapOptieViewModel {\r\n id: number;\r\n bcbEigenschapOptieViewModel?: BCBEigenschapOptieViewModel | undefined;\r\n connected: boolean;\r\n}\r\n\r\nexport class BCBEigenschapOptieViewModel implements IBCBEigenschapOptieViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n connected!: boolean;\r\n bcbEigenschapOptieFilterOptionViewModels?: BCBEigenschapOptieFilterOptionViewModel[] | undefined;\r\n bcbEigenschapOptieCategoryViewModels?: BCBEigenschapOptieCategoryViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBEigenschapOptieViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.connected = _data[\"connected\"];\r\n if (Array.isArray(_data[\"bcbEigenschapOptieFilterOptionViewModels\"])) {\r\n this.bcbEigenschapOptieFilterOptionViewModels = [] as any;\r\n for (let item of _data[\"bcbEigenschapOptieFilterOptionViewModels\"])\r\n this.bcbEigenschapOptieFilterOptionViewModels!.push(BCBEigenschapOptieFilterOptionViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"bcbEigenschapOptieCategoryViewModels\"])) {\r\n this.bcbEigenschapOptieCategoryViewModels = [] as any;\r\n for (let item of _data[\"bcbEigenschapOptieCategoryViewModels\"])\r\n this.bcbEigenschapOptieCategoryViewModels!.push(BCBEigenschapOptieCategoryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapOptieViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapOptieViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"connected\"] = this.connected;\r\n if (Array.isArray(this.bcbEigenschapOptieFilterOptionViewModels)) {\r\n data[\"bcbEigenschapOptieFilterOptionViewModels\"] = [];\r\n for (let item of this.bcbEigenschapOptieFilterOptionViewModels)\r\n data[\"bcbEigenschapOptieFilterOptionViewModels\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.bcbEigenschapOptieCategoryViewModels)) {\r\n data[\"bcbEigenschapOptieCategoryViewModels\"] = [];\r\n for (let item of this.bcbEigenschapOptieCategoryViewModels)\r\n data[\"bcbEigenschapOptieCategoryViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapOptieViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n connected: boolean;\r\n bcbEigenschapOptieFilterOptionViewModels?: BCBEigenschapOptieFilterOptionViewModel[] | undefined;\r\n bcbEigenschapOptieCategoryViewModels?: BCBEigenschapOptieCategoryViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEigenschapOptieFilterOptionViewModel implements IBCBEigenschapOptieFilterOptionViewModel {\r\n id!: number;\r\n filterOptionViewModel?: FilterOptionViewModel | undefined;\r\n\r\n constructor(data?: IBCBEigenschapOptieFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filterOptionViewModel = _data[\"filterOptionViewModel\"] ? FilterOptionViewModel.fromJS(_data[\"filterOptionViewModel\"]) : <any>undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapOptieFilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapOptieFilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filterOptionViewModel\"] = this.filterOptionViewModel ? this.filterOptionViewModel.toJSON() : <any>undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapOptieFilterOptionViewModel {\r\n id: number;\r\n filterOptionViewModel?: FilterOptionViewModel | undefined;\r\n}\r\n\r\nexport class FilterOptionViewModel implements IFilterOptionViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n filterName?: string | undefined;\r\n\r\n constructor(data?: IFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.colour = _data[\"colour\"];\r\n this.filterName = _data[\"filterName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"colour\"] = this.colour;\r\n data[\"filterName\"] = this.filterName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterOptionViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n filterName?: string | undefined;\r\n}\r\n\r\nexport class BCBEigenschapOptieCategoryViewModel implements IBCBEigenschapOptieCategoryViewModel {\r\n id!: number;\r\n categoryViewModel?: CategoryViewModel | undefined;\r\n\r\n constructor(data?: IBCBEigenschapOptieCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.categoryViewModel = _data[\"categoryViewModel\"] ? CategoryViewModel.fromJS(_data[\"categoryViewModel\"]) : <any>undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapOptieCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapOptieCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"categoryViewModel\"] = this.categoryViewModel ? this.categoryViewModel.toJSON() : <any>undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapOptieCategoryViewModel {\r\n id: number;\r\n categoryViewModel?: CategoryViewModel | undefined;\r\n}\r\n\r\nexport class CreateCategoryResponse implements ICreateCategoryResponse {\r\n success!: boolean;\r\n id!: number;\r\n\r\n constructor(data?: ICreateCategoryResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCategoryResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCategoryResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCategoryResponse {\r\n success: boolean;\r\n id: number;\r\n}\r\n\r\nexport class CreateCategoryRequest implements ICreateCategoryRequest {\r\n name?: string | undefined;\r\n\r\n constructor(data?: ICreateCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCategoryRequest {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class EBOKoppelViewModel implements IEBOKoppelViewModel {\r\n eboKoppelTypeViewModels?: EBOKoppelTypeViewModel[] | undefined;\r\n\r\n constructor(data?: IEBOKoppelViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"eboKoppelTypeViewModels\"])) {\r\n this.eboKoppelTypeViewModels = [] as any;\r\n for (let item of _data[\"eboKoppelTypeViewModels\"])\r\n this.eboKoppelTypeViewModels!.push(EBOKoppelTypeViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EBOKoppelViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EBOKoppelViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.eboKoppelTypeViewModels)) {\r\n data[\"eboKoppelTypeViewModels\"] = [];\r\n for (let item of this.eboKoppelTypeViewModels)\r\n data[\"eboKoppelTypeViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEBOKoppelViewModel {\r\n eboKoppelTypeViewModels?: EBOKoppelTypeViewModel[] | undefined;\r\n}\r\n\r\nexport class EBOKoppelTypeViewModel implements IEBOKoppelTypeViewModel {\r\n type?: string | undefined;\r\n namen?: BCBEBODOViewModel[] | undefined;\r\n\r\n constructor(data?: IEBOKoppelTypeViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"namen\"])) {\r\n this.namen = [] as any;\r\n for (let item of _data[\"namen\"])\r\n this.namen!.push(BCBEBODOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EBOKoppelTypeViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EBOKoppelTypeViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.namen)) {\r\n data[\"namen\"] = [];\r\n for (let item of this.namen)\r\n data[\"namen\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEBOKoppelTypeViewModel {\r\n type?: string | undefined;\r\n namen?: BCBEBODOViewModel[] | undefined;\r\n}\r\n\r\nexport class KoppelEBOOptieResponse implements IKoppelEBOOptieResponse {\r\n\r\n constructor(data?: IKoppelEBOOptieResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): KoppelEBOOptieResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEBOOptieResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEBOOptieResponse {\r\n}\r\n\r\nexport class KoppelEBOOptieRequest implements IKoppelEBOOptieRequest {\r\n bcbImportSetId!: number;\r\n bcbebodoId!: number;\r\n filterOptionId!: number;\r\n\r\n constructor(data?: IKoppelEBOOptieRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbImportSetId = _data[\"bcbImportSetId\"];\r\n this.bcbebodoId = _data[\"bcbebodoId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelEBOOptieRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEBOOptieRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbImportSetId\"] = this.bcbImportSetId;\r\n data[\"bcbebodoId\"] = this.bcbebodoId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEBOOptieRequest {\r\n bcbImportSetId: number;\r\n bcbebodoId: number;\r\n filterOptionId: number;\r\n}\r\n\r\nexport class ConnectEBODOCategoryResponse implements IConnectEBODOCategoryResponse {\r\n\r\n constructor(data?: IConnectEBODOCategoryResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ConnectEBODOCategoryResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectEBODOCategoryResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectEBODOCategoryResponse {\r\n}\r\n\r\nexport class ConnectEBODOCategoryRequest implements IConnectEBODOCategoryRequest {\r\n bcbebodoId!: number;\r\n categoryId!: number;\r\n\r\n constructor(data?: IConnectEBODOCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbebodoId = _data[\"bcbebodoId\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectEBODOCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectEBODOCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbebodoId\"] = this.bcbebodoId;\r\n data[\"categoryId\"] = this.categoryId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectEBODOCategoryRequest {\r\n bcbebodoId: number;\r\n categoryId: number;\r\n}\r\n\r\nexport class FabrikantenViewModel implements IFabrikantenViewModel {\r\n sessionId?: string | undefined;\r\n bcbWebserviceURLBase?: string | undefined;\r\n categoryLayers?: FabrikantenCategoryLayerViewModel[] | undefined;\r\n filters?: FabrikantenFilterViewModel[] | undefined;\r\n products?: FabrikantenProductViewModel[] | undefined;\r\n selectedProduct?: FabrikantenProductViewModel | undefined;\r\n\r\n constructor(data?: IFabrikantenViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.bcbWebserviceURLBase = _data[\"bcbWebserviceURLBase\"];\r\n if (Array.isArray(_data[\"categoryLayers\"])) {\r\n this.categoryLayers = [] as any;\r\n for (let item of _data[\"categoryLayers\"])\r\n this.categoryLayers!.push(FabrikantenCategoryLayerViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"filters\"])) {\r\n this.filters = [] as any;\r\n for (let item of _data[\"filters\"])\r\n this.filters!.push(FabrikantenFilterViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"products\"])) {\r\n this.products = [] as any;\r\n for (let item of _data[\"products\"])\r\n this.products!.push(FabrikantenProductViewModel.fromJS(item));\r\n }\r\n this.selectedProduct = _data[\"selectedProduct\"] ? FabrikantenProductViewModel.fromJS(_data[\"selectedProduct\"]) : <any>undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"bcbWebserviceURLBase\"] = this.bcbWebserviceURLBase;\r\n if (Array.isArray(this.categoryLayers)) {\r\n data[\"categoryLayers\"] = [];\r\n for (let item of this.categoryLayers)\r\n data[\"categoryLayers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.filters)) {\r\n data[\"filters\"] = [];\r\n for (let item of this.filters)\r\n data[\"filters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.products)) {\r\n data[\"products\"] = [];\r\n for (let item of this.products)\r\n data[\"products\"].push(item.toJSON());\r\n }\r\n data[\"selectedProduct\"] = this.selectedProduct ? this.selectedProduct.toJSON() : <any>undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenViewModel {\r\n sessionId?: string | undefined;\r\n bcbWebserviceURLBase?: string | undefined;\r\n categoryLayers?: FabrikantenCategoryLayerViewModel[] | undefined;\r\n filters?: FabrikantenFilterViewModel[] | undefined;\r\n products?: FabrikantenProductViewModel[] | undefined;\r\n selectedProduct?: FabrikantenProductViewModel | undefined;\r\n}\r\n\r\nexport class FabrikantenCategoryLayerViewModel implements IFabrikantenCategoryLayerViewModel {\r\n layer!: number;\r\n selectedOption!: number;\r\n categories?: FabrikantenCategoryViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenCategoryLayerViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.layer = _data[\"layer\"];\r\n this.selectedOption = _data[\"selectedOption\"];\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(FabrikantenCategoryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenCategoryLayerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenCategoryLayerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"layer\"] = this.layer;\r\n data[\"selectedOption\"] = this.selectedOption;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenCategoryLayerViewModel {\r\n layer: number;\r\n selectedOption: number;\r\n categories?: FabrikantenCategoryViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenCategoryViewModel implements IFabrikantenCategoryViewModel {\r\n id!: number;\r\n layer!: number;\r\n name?: string | undefined;\r\n imagePath?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.layer = _data[\"layer\"];\r\n this.name = _data[\"name\"];\r\n this.imagePath = _data[\"imagePath\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"layer\"] = this.layer;\r\n data[\"name\"] = this.name;\r\n data[\"imagePath\"] = this.imagePath;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenCategoryViewModel {\r\n id: number;\r\n layer: number;\r\n name?: string | undefined;\r\n imagePath?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenFilterViewModel implements IFabrikantenFilterViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n selectedOption!: number;\r\n options?: FabrikantenFilterOptionViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.selectedOption = _data[\"selectedOption\"];\r\n if (Array.isArray(_data[\"options\"])) {\r\n this.options = [] as any;\r\n for (let item of _data[\"options\"])\r\n this.options!.push(FabrikantenFilterOptionViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"selectedOption\"] = this.selectedOption;\r\n if (Array.isArray(this.options)) {\r\n data[\"options\"] = [];\r\n for (let item of this.options)\r\n data[\"options\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFilterViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n selectedOption: number;\r\n options?: FabrikantenFilterOptionViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenFilterOptionViewModel implements IFabrikantenFilterOptionViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.colour = _data[\"colour\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"colour\"] = this.colour;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFilterOptionViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenProductViewModel implements IFabrikantenProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n fabrikantenBCBProductViewModels?: FabrikantenBCBProductViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"fabrikantenBCBProductViewModels\"])) {\r\n this.fabrikantenBCBProductViewModels = [] as any;\r\n for (let item of _data[\"fabrikantenBCBProductViewModels\"])\r\n this.fabrikantenBCBProductViewModels!.push(FabrikantenBCBProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.fabrikantenBCBProductViewModels)) {\r\n data[\"fabrikantenBCBProductViewModels\"] = [];\r\n for (let item of this.fabrikantenBCBProductViewModels)\r\n data[\"fabrikantenBCBProductViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n fabrikantenBCBProductViewModels?: FabrikantenBCBProductViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenBCBProductViewModel implements IFabrikantenBCBProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductAfbeeldingen?: FabrikantenBCBProductAfbeeldingViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenBCBProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.bcbeboViewModel = _data[\"bcbeboViewModel\"] ? BCBEBOViewModel.fromJS(_data[\"bcbeboViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbProductAfbeeldingen\"])) {\r\n this.bcbProductAfbeeldingen = [] as any;\r\n for (let item of _data[\"bcbProductAfbeeldingen\"])\r\n this.bcbProductAfbeeldingen!.push(FabrikantenBCBProductAfbeeldingViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBCBProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBCBProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"bcbeboViewModel\"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbProductAfbeeldingen)) {\r\n data[\"bcbProductAfbeeldingen\"] = [];\r\n for (let item of this.bcbProductAfbeeldingen)\r\n data[\"bcbProductAfbeeldingen\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBCBProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductAfbeeldingen?: FabrikantenBCBProductAfbeeldingViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenBCBProductAfbeeldingViewModel implements IFabrikantenBCBProductAfbeeldingViewModel {\r\n id!: number;\r\n description?: string | undefined;\r\n url?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenBCBProductAfbeeldingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBCBProductAfbeeldingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBCBProductAfbeeldingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBCBProductAfbeeldingViewModel {\r\n id: number;\r\n description?: string | undefined;\r\n url?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenRequestModel implements IFabrikantenRequestModel {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenRequestModel {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenBestekViewModel implements IFabrikantenBestekViewModel {\r\n bestandsnaam?: string | undefined;\r\n stabu?: string | undefined;\r\n suf?: string | undefined;\r\n osfhtml?: string | undefined;\r\n vrijBestekHTML?: string | undefined;\r\n wuid?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenBestekViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bestandsnaam = _data[\"bestandsnaam\"];\r\n this.stabu = _data[\"stabu\"];\r\n this.suf = _data[\"suf\"];\r\n this.osfhtml = _data[\"osfhtml\"];\r\n this.vrijBestekHTML = _data[\"vrijBestekHTML\"];\r\n this.wuid = _data[\"wuid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBestekViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBestekViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bestandsnaam\"] = this.bestandsnaam;\r\n data[\"stabu\"] = this.stabu;\r\n data[\"suf\"] = this.suf;\r\n data[\"osfhtml\"] = this.osfhtml;\r\n data[\"vrijBestekHTML\"] = this.vrijBestekHTML;\r\n data[\"wuid\"] = this.wuid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBestekViewModel {\r\n bestandsnaam?: string | undefined;\r\n stabu?: string | undefined;\r\n suf?: string | undefined;\r\n osfhtml?: string | undefined;\r\n vrijBestekHTML?: string | undefined;\r\n wuid?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenBestekRequestModel implements IFabrikantenBestekRequestModel {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenBestekRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBestekRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBestekRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBestekRequestModel {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class Fabrikanten3DViewModel implements IFabrikanten3DViewModel {\r\n wuid?: string | undefined;\r\n webGLJSON?: string | undefined;\r\n nativeRFA!: boolean;\r\n\r\n constructor(data?: IFabrikanten3DViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.wuid = _data[\"wuid\"];\r\n this.webGLJSON = _data[\"webGLJSON\"];\r\n this.nativeRFA = _data[\"nativeRFA\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Fabrikanten3DViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Fabrikanten3DViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"wuid\"] = this.wuid;\r\n data[\"webGLJSON\"] = this.webGLJSON;\r\n data[\"nativeRFA\"] = this.nativeRFA;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikanten3DViewModel {\r\n wuid?: string | undefined;\r\n webGLJSON?: string | undefined;\r\n nativeRFA: boolean;\r\n}\r\n\r\nexport class Fabrikanten3DRequestModel implements IFabrikanten3DRequestModel {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikanten3DRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Fabrikanten3DRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Fabrikanten3DRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikanten3DRequestModel {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenSVGViewModel implements IFabrikantenSVGViewModel {\r\n wuid?: string | undefined;\r\n svg?: string | undefined;\r\n nativeRFA!: boolean;\r\n\r\n constructor(data?: IFabrikantenSVGViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.wuid = _data[\"wuid\"];\r\n this.svg = _data[\"svg\"];\r\n this.nativeRFA = _data[\"nativeRFA\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenSVGViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenSVGViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"wuid\"] = this.wuid;\r\n data[\"svg\"] = this.svg;\r\n data[\"nativeRFA\"] = this.nativeRFA;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenSVGViewModel {\r\n wuid?: string | undefined;\r\n svg?: string | undefined;\r\n nativeRFA: boolean;\r\n}\r\n\r\nexport class FabrikantenSVGRequestModel implements IFabrikantenSVGRequestModel {\r\n width!: number;\r\n height!: number;\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenSVGRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.width = _data[\"width\"];\r\n this.height = _data[\"height\"];\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenSVGRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenSVGRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"width\"] = this.width;\r\n data[\"height\"] = this.height;\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenSVGRequestModel {\r\n width: number;\r\n height: number;\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenFileViewModel implements IFabrikantenFileViewModel {\r\n file?: string | undefined;\r\n data?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenFileViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"file\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFileViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFileViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"file\"] = this.file;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFileViewModel {\r\n file?: string | undefined;\r\n data?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenFileRequestModel implements IFabrikantenFileRequestModel {\r\n fileType?: string | undefined;\r\n model3D!: boolean;\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenFileRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileType = _data[\"fileType\"];\r\n this.model3D = _data[\"model3D\"];\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFileRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFileRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileType\"] = this.fileType;\r\n data[\"model3D\"] = this.model3D;\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFileRequestModel {\r\n fileType?: string | undefined;\r\n model3D: boolean;\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class BCBLinkResponseModel implements IBCBLinkResponseModel {\r\n url?: string | undefined;\r\n\r\n constructor(data?: IBCBLinkResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBLinkResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBLinkResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBLinkResponseModel {\r\n url?: string | undefined;\r\n}\r\n\r\nexport class BCBLinkRequestModel implements IBCBLinkRequestModel {\r\n wuid?: string | undefined;\r\n\r\n constructor(data?: IBCBLinkRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.wuid = _data[\"wuid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBLinkRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBLinkRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"wuid\"] = this.wuid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBLinkRequestModel {\r\n wuid?: string | undefined;\r\n}\r\n\r\nexport class SelectFilterOptionRequest implements ISelectFilterOptionRequest {\r\n sessionId?: string | undefined;\r\n filterId!: number;\r\n filterOptionId!: number;\r\n\r\n constructor(data?: ISelectFilterOptionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.filterId = _data[\"filterId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectFilterOptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectFilterOptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"filterId\"] = this.filterId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectFilterOptionRequest {\r\n sessionId?: string | undefined;\r\n filterId: number;\r\n filterOptionId: number;\r\n}\r\n\r\nexport class SelectCategoryRequest implements ISelectCategoryRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer!: number;\r\n categoryId!: number;\r\n\r\n constructor(data?: ISelectCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.categoryLayer = _data[\"categoryLayer\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"categoryLayer\"] = this.categoryLayer;\r\n data[\"categoryId\"] = this.categoryId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectCategoryRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer: number;\r\n categoryId: number;\r\n}\r\n\r\nexport class ResetFilterRequest implements IResetFilterRequest {\r\n sessionId?: string | undefined;\r\n filterId!: number;\r\n\r\n constructor(data?: IResetFilterRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.filterId = _data[\"filterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetFilterRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetFilterRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"filterId\"] = this.filterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetFilterRequest {\r\n sessionId?: string | undefined;\r\n filterId: number;\r\n}\r\n\r\nexport class ResetCategoryLayerRequest implements IResetCategoryLayerRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer!: number;\r\n\r\n constructor(data?: IResetCategoryLayerRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.categoryLayer = _data[\"categoryLayer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetCategoryLayerRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetCategoryLayerRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"categoryLayer\"] = this.categoryLayer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetCategoryLayerRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer: number;\r\n}\r\n\r\nexport class ResetAllFiltersRequest implements IResetAllFiltersRequest {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IResetAllFiltersRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetAllFiltersRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetAllFiltersRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetAllFiltersRequest {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class ResetAllCategoriesRequest implements IResetAllCategoriesRequest {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IResetAllCategoriesRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetAllCategoriesRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetAllCategoriesRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetAllCategoriesRequest {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class SelectProductRequest implements ISelectProductRequest {\r\n sessionId?: string | undefined;\r\n productId!: number;\r\n\r\n constructor(data?: ISelectProductRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.productId = _data[\"productId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectProductRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectProductRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"productId\"] = this.productId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectProductRequest {\r\n sessionId?: string | undefined;\r\n productId: number;\r\n}\r\n\r\nexport class RemoveProductSelectionRequest implements IRemoveProductSelectionRequest {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IRemoveProductSelectionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RemoveProductSelectionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RemoveProductSelectionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRemoveProductSelectionRequest {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FiltersViewModel implements IFiltersViewModel {\r\n filterViewModels?: FilterViewModel[] | undefined;\r\n\r\n constructor(data?: IFiltersViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"filterViewModels\"])) {\r\n this.filterViewModels = [] as any;\r\n for (let item of _data[\"filterViewModels\"])\r\n this.filterViewModels!.push(FilterViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FiltersViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FiltersViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.filterViewModels)) {\r\n data[\"filterViewModels\"] = [];\r\n for (let item of this.filterViewModels)\r\n data[\"filterViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFiltersViewModel {\r\n filterViewModels?: FilterViewModel[] | undefined;\r\n}\r\n\r\nexport class FilterViewModel implements IFilterViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n filterOptionViewModels?: FilterOptionViewModel[] | undefined;\r\n\r\n constructor(data?: IFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"filterOptionViewModels\"])) {\r\n this.filterOptionViewModels = [] as any;\r\n for (let item of _data[\"filterOptionViewModels\"])\r\n this.filterOptionViewModels!.push(FilterOptionViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.filterOptionViewModels)) {\r\n data[\"filterOptionViewModels\"] = [];\r\n for (let item of this.filterOptionViewModels)\r\n data[\"filterOptionViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n filterOptionViewModels?: FilterOptionViewModel[] | undefined;\r\n}\r\n\r\nexport class CreateFilterResponse implements ICreateFilterResponse {\r\n success!: boolean;\r\n id!: number;\r\n\r\n constructor(data?: ICreateFilterResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterResponse {\r\n success: boolean;\r\n id: number;\r\n}\r\n\r\nexport class CreateFilterRequest implements ICreateFilterRequest {\r\n name?: string | undefined;\r\n\r\n constructor(data?: ICreateFilterRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterRequest {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class CreateFilterOptionResponse implements ICreateFilterOptionResponse {\r\n success!: boolean;\r\n id!: number;\r\n\r\n constructor(data?: ICreateFilterOptionResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterOptionResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterOptionResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterOptionResponse {\r\n success: boolean;\r\n id: number;\r\n}\r\n\r\nexport class CreateFilterOptionRequest implements ICreateFilterOptionRequest {\r\n name?: string | undefined;\r\n filterId!: number;\r\n\r\n constructor(data?: ICreateFilterOptionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.filterId = _data[\"filterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterOptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterOptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"filterId\"] = this.filterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterOptionRequest {\r\n name?: string | undefined;\r\n filterId: number;\r\n}\r\n\r\nexport class BCBImportSetsViewModel implements IBCBImportSetsViewModel {\r\n bcbImportSetViewModels?: BCBImportSetViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBImportSetsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"bcbImportSetViewModels\"])) {\r\n this.bcbImportSetViewModels = [] as any;\r\n for (let item of _data[\"bcbImportSetViewModels\"])\r\n this.bcbImportSetViewModels!.push(BCBImportSetViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportSetsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportSetsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.bcbImportSetViewModels)) {\r\n data[\"bcbImportSetViewModels\"] = [];\r\n for (let item of this.bcbImportSetViewModels)\r\n data[\"bcbImportSetViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportSetsViewModel {\r\n bcbImportSetViewModels?: BCBImportSetViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBImportSetViewModel implements IBCBImportSetViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n bcbImportSetValueViewModels?: BCBImportSetValueViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBImportSetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"bcbImportSetValueViewModels\"])) {\r\n this.bcbImportSetValueViewModels = [] as any;\r\n for (let item of _data[\"bcbImportSetValueViewModels\"])\r\n this.bcbImportSetValueViewModels!.push(BCBImportSetValueViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportSetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportSetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.bcbImportSetValueViewModels)) {\r\n data[\"bcbImportSetValueViewModels\"] = [];\r\n for (let item of this.bcbImportSetValueViewModels)\r\n data[\"bcbImportSetValueViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportSetViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n bcbImportSetValueViewModels?: BCBImportSetValueViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBImportSetValueViewModel implements IBCBImportSetValueViewModel {\r\n id!: number;\r\n value?: string | undefined;\r\n\r\n constructor(data?: IBCBImportSetValueViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportSetValueViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportSetValueViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportSetValueViewModel {\r\n id: number;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class BCBImportOpenResponse implements IBCBImportOpenResponse {\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbImportOpbouwen?: BCBImportOpbouw[] | undefined;\r\n bcbImportEigenschappen?: BCBImportEigenschap[] | undefined;\r\n\r\n constructor(data?: IBCBImportOpenResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbeboViewModel = _data[\"bcbeboViewModel\"] ? BCBEBOViewModel.fromJS(_data[\"bcbeboViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbImportOpbouwen\"])) {\r\n this.bcbImportOpbouwen = [] as any;\r\n for (let item of _data[\"bcbImportOpbouwen\"])\r\n this.bcbImportOpbouwen!.push(BCBImportOpbouw.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"bcbImportEigenschappen\"])) {\r\n this.bcbImportEigenschappen = [] as any;\r\n for (let item of _data[\"bcbImportEigenschappen\"])\r\n this.bcbImportEigenschappen!.push(BCBImportEigenschap.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportOpenResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportOpenResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbeboViewModel\"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbImportOpbouwen)) {\r\n data[\"bcbImportOpbouwen\"] = [];\r\n for (let item of this.bcbImportOpbouwen)\r\n data[\"bcbImportOpbouwen\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.bcbImportEigenschappen)) {\r\n data[\"bcbImportEigenschappen\"] = [];\r\n for (let item of this.bcbImportEigenschappen)\r\n data[\"bcbImportEigenschappen\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportOpenResponse {\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbImportOpbouwen?: BCBImportOpbouw[] | undefined;\r\n bcbImportEigenschappen?: BCBImportEigenschap[] | undefined;\r\n}\r\n\r\nexport class BCBImportOpbouw implements IBCBImportOpbouw {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open!: boolean;\r\n selected!: boolean;\r\n wizardEBOViewModels?: WizardEBOViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBImportOpbouw) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.open = _data[\"open\"];\r\n this.selected = _data[\"selected\"];\r\n if (Array.isArray(_data[\"wizardEBOViewModels\"])) {\r\n this.wizardEBOViewModels = [] as any;\r\n for (let item of _data[\"wizardEBOViewModels\"])\r\n this.wizardEBOViewModels!.push(WizardEBOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportOpbouw {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportOpbouw();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"open\"] = this.open;\r\n data[\"selected\"] = this.selected;\r\n if (Array.isArray(this.wizardEBOViewModels)) {\r\n data[\"wizardEBOViewModels\"] = [];\r\n for (let item of this.wizardEBOViewModels)\r\n data[\"wizardEBOViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportOpbouw {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open: boolean;\r\n selected: boolean;\r\n wizardEBOViewModels?: WizardEBOViewModel[] | undefined;\r\n}\r\n\r\nexport class WizardEBOViewModel implements IWizardEBOViewModel {\r\n dOs?: WizardEBODOViewModel[] | undefined;\r\n name?: string | undefined;\r\n selected!: boolean;\r\n open!: boolean;\r\n inUseBy?: string | undefined;\r\n\r\n constructor(data?: IWizardEBOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"dOs\"])) {\r\n this.dOs = [] as any;\r\n for (let item of _data[\"dOs\"])\r\n this.dOs!.push(WizardEBODOViewModel.fromJS(item));\r\n }\r\n this.name = _data[\"name\"];\r\n this.selected = _data[\"selected\"];\r\n this.open = _data[\"open\"];\r\n this.inUseBy = _data[\"inUseBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WizardEBOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WizardEBOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.dOs)) {\r\n data[\"dOs\"] = [];\r\n for (let item of this.dOs)\r\n data[\"dOs\"].push(item.toJSON());\r\n }\r\n data[\"name\"] = this.name;\r\n data[\"selected\"] = this.selected;\r\n data[\"open\"] = this.open;\r\n data[\"inUseBy\"] = this.inUseBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWizardEBOViewModel {\r\n dOs?: WizardEBODOViewModel[] | undefined;\r\n name?: string | undefined;\r\n selected: boolean;\r\n open: boolean;\r\n inUseBy?: string | undefined;\r\n}\r\n\r\nexport class WizardEBODOViewModel implements IWizardEBODOViewModel {\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n\r\n constructor(data?: IWizardEBODOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.doType = _data[\"doType\"];\r\n this.doNaam = _data[\"doNaam\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WizardEBODOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WizardEBODOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"doType\"] = this.doType;\r\n data[\"doNaam\"] = this.doNaam;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWizardEBODOViewModel {\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n}\r\n\r\nexport class BCBImportEigenschap implements IBCBImportEigenschap {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open!: boolean;\r\n selected!: boolean;\r\n\r\n constructor(data?: IBCBImportEigenschap) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.open = _data[\"open\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportEigenschap {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportEigenschap();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"open\"] = this.open;\r\n data[\"selected\"] = this.selected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportEigenschap {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open: boolean;\r\n selected: boolean;\r\n}\r\n\r\nexport class BCBImportOpenRequest implements IBCBImportOpenRequest {\r\n bcbeboId!: number;\r\n\r\n constructor(data?: IBCBImportOpenRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbeboId = _data[\"bcbeboId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportOpenRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportOpenRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbeboId\"] = this.bcbeboId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportOpenRequest {\r\n bcbeboId: number;\r\n}\r\n\r\nexport class BCBImportProductResponse implements IBCBImportProductResponse {\r\n success!: boolean;\r\n message?: string | undefined;\r\n\r\n constructor(data?: IBCBImportProductResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportProductResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportProductResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportProductResponse {\r\n success: boolean;\r\n message?: string | undefined;\r\n}\r\n\r\nexport class BCBImportProductRequest implements IBCBImportProductRequest {\r\n bcbProductId!: number;\r\n\r\n constructor(data?: IBCBImportProductRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductId = _data[\"bcbProductId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportProductRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportProductRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductId\"] = this.bcbProductId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportProductRequest {\r\n bcbProductId: number;\r\n}\r\n\r\nexport class SaveImportSetRequest implements ISaveImportSetRequest {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ISaveImportSetRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveImportSetRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveImportSetRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveImportSetRequest {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ChangeImportSetRequest implements IChangeImportSetRequest {\r\n importSetId!: number;\r\n value?: string | undefined;\r\n enabled!: boolean;\r\n\r\n constructor(data?: IChangeImportSetRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.importSetId = _data[\"importSetId\"];\r\n this.value = _data[\"value\"];\r\n this.enabled = _data[\"enabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeImportSetRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeImportSetRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"importSetId\"] = this.importSetId;\r\n data[\"value\"] = this.value;\r\n data[\"enabled\"] = this.enabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeImportSetRequest {\r\n importSetId: number;\r\n value?: string | undefined;\r\n enabled: boolean;\r\n}\r\n\r\nexport class ProductsViewModel implements IProductsViewModel {\r\n productViewModels?: ProductViewModel[] | undefined;\r\n\r\n constructor(data?: IProductsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"productViewModels\"])) {\r\n this.productViewModels = [] as any;\r\n for (let item of _data[\"productViewModels\"])\r\n this.productViewModels!.push(ProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProductsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProductsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.productViewModels)) {\r\n data[\"productViewModels\"] = [];\r\n for (let item of this.productViewModels)\r\n data[\"productViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProductsViewModel {\r\n productViewModels?: ProductViewModel[] | undefined;\r\n}\r\n\r\nexport class SaveProductViewModel implements ISaveProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n position!: number;\r\n importSetId!: number;\r\n\r\n constructor(data?: ISaveProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.position = _data[\"position\"];\r\n this.importSetId = _data[\"importSetId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"position\"] = this.position;\r\n data[\"importSetId\"] = this.importSetId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n position: number;\r\n importSetId: number;\r\n}\r\n\r\nexport class ResetImportRequestModel implements IResetImportRequestModel {\r\n productId!: number;\r\n bcbProductId!: number;\r\n\r\n constructor(data?: IResetImportRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productId = _data[\"productId\"];\r\n this.bcbProductId = _data[\"bcbProductId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetImportRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetImportRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productId\"] = this.productId;\r\n data[\"bcbProductId\"] = this.bcbProductId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetImportRequestModel {\r\n productId: number;\r\n bcbProductId: number;\r\n}\r\n\r\nexport class KoppelEigenschapOptieResponse implements IKoppelEigenschapOptieResponse {\r\n success!: boolean;\r\n\r\n constructor(data?: IKoppelEigenschapOptieResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelEigenschapOptieResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEigenschapOptieResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEigenschapOptieResponse {\r\n success: boolean;\r\n}\r\n\r\nexport class KoppelEigenschapOptieRequest implements IKoppelEigenschapOptieRequest {\r\n bcbProductEigenschapOptieId!: number;\r\n filterOptionId!: number;\r\n\r\n constructor(data?: IKoppelEigenschapOptieRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductEigenschapOptieId = _data[\"bcbProductEigenschapOptieId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelEigenschapOptieRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEigenschapOptieRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductEigenschapOptieId\"] = this.bcbProductEigenschapOptieId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEigenschapOptieRequest {\r\n bcbProductEigenschapOptieId: number;\r\n filterOptionId: number;\r\n}\r\n\r\nexport class ConnectBCBEigenschapOptieCategoryRequest implements IConnectBCBEigenschapOptieCategoryRequest {\r\n bcbProductEigenschapOptieId!: number;\r\n categoryId!: number;\r\n\r\n constructor(data?: IConnectBCBEigenschapOptieCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductEigenschapOptieId = _data[\"bcbProductEigenschapOptieId\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectBCBEigenschapOptieCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectBCBEigenschapOptieCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductEigenschapOptieId\"] = this.bcbProductEigenschapOptieId;\r\n data[\"categoryId\"] = this.categoryId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectBCBEigenschapOptieCategoryRequest {\r\n bcbProductEigenschapOptieId: number;\r\n categoryId: number;\r\n}\r\n\r\nexport class KoppelManyNameResponse implements IKoppelManyNameResponse {\r\n success!: boolean;\r\n\r\n constructor(data?: IKoppelManyNameResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelManyNameResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelManyNameResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelManyNameResponse {\r\n success: boolean;\r\n}\r\n\r\nexport class KoppelManyNameRequest implements IKoppelManyNameRequest {\r\n bcbProductEigenschapOptieId!: number;\r\n filterId!: number;\r\n\r\n constructor(data?: IKoppelManyNameRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductEigenschapOptieId = _data[\"bcbProductEigenschapOptieId\"];\r\n this.filterId = _data[\"filterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelManyNameRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelManyNameRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductEigenschapOptieId\"] = this.bcbProductEigenschapOptieId;\r\n data[\"filterId\"] = this.filterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelManyNameRequest {\r\n bcbProductEigenschapOptieId: number;\r\n filterId: number;\r\n}\r\n\r\nexport class ProjectSettingsViewModel implements IProjectSettingsViewModel {\r\n pipelineStep?: string | undefined;\r\n pipelineSteps?: string[] | undefined;\r\n projectSettingViewModels?: ProjectSettingViewModel[] | undefined;\r\n\r\n constructor(data?: IProjectSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pipelineStep = _data[\"pipelineStep\"];\r\n if (Array.isArray(_data[\"pipelineSteps\"])) {\r\n this.pipelineSteps = [] as any;\r\n for (let item of _data[\"pipelineSteps\"])\r\n this.pipelineSteps!.push(item);\r\n }\r\n if (Array.isArray(_data[\"projectSettingViewModels\"])) {\r\n this.projectSettingViewModels = [] as any;\r\n for (let item of _data[\"projectSettingViewModels\"])\r\n this.projectSettingViewModels!.push(ProjectSettingViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pipelineStep\"] = this.pipelineStep;\r\n if (Array.isArray(this.pipelineSteps)) {\r\n data[\"pipelineSteps\"] = [];\r\n for (let item of this.pipelineSteps)\r\n data[\"pipelineSteps\"].push(item);\r\n }\r\n if (Array.isArray(this.projectSettingViewModels)) {\r\n data[\"projectSettingViewModels\"] = [];\r\n for (let item of this.projectSettingViewModels)\r\n data[\"projectSettingViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectSettingsViewModel {\r\n pipelineStep?: string | undefined;\r\n pipelineSteps?: string[] | undefined;\r\n projectSettingViewModels?: ProjectSettingViewModel[] | undefined;\r\n}\r\n\r\nexport class ProjectSettingViewModel implements IProjectSettingViewModel {\r\n name?: string | undefined;\r\n activeValue?: string | undefined;\r\n defaultValue?: string | undefined;\r\n default!: boolean;\r\n overruled!: boolean;\r\n projectSettingType!: ProjectSettingType;\r\n options?: string[] | undefined;\r\n pipelineSteps?: ProjectSettingPipelineStepViewModel[] | undefined;\r\n\r\n constructor(data?: IProjectSettingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.activeValue = _data[\"activeValue\"];\r\n this.defaultValue = _data[\"defaultValue\"];\r\n this.default = _data[\"default\"];\r\n this.overruled = _data[\"overruled\"];\r\n this.projectSettingType = _data[\"projectSettingType\"];\r\n if (Array.isArray(_data[\"options\"])) {\r\n this.options = [] as any;\r\n for (let item of _data[\"options\"])\r\n this.options!.push(item);\r\n }\r\n if (Array.isArray(_data[\"pipelineSteps\"])) {\r\n this.pipelineSteps = [] as any;\r\n for (let item of _data[\"pipelineSteps\"])\r\n this.pipelineSteps!.push(ProjectSettingPipelineStepViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectSettingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectSettingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"activeValue\"] = this.activeValue;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"default\"] = this.default;\r\n data[\"overruled\"] = this.overruled;\r\n data[\"projectSettingType\"] = this.projectSettingType;\r\n if (Array.isArray(this.options)) {\r\n data[\"options\"] = [];\r\n for (let item of this.options)\r\n data[\"options\"].push(item);\r\n }\r\n if (Array.isArray(this.pipelineSteps)) {\r\n data[\"pipelineSteps\"] = [];\r\n for (let item of this.pipelineSteps)\r\n data[\"pipelineSteps\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectSettingViewModel {\r\n name?: string | undefined;\r\n activeValue?: string | undefined;\r\n defaultValue?: string | undefined;\r\n default: boolean;\r\n overruled: boolean;\r\n projectSettingType: ProjectSettingType;\r\n options?: string[] | undefined;\r\n pipelineSteps?: ProjectSettingPipelineStepViewModel[] | undefined;\r\n}\r\n\r\nexport enum ProjectSettingType {\r\n String = 1,\r\n Options = 2,\r\n}\r\n\r\nexport class ProjectSettingPipelineStepViewModel implements IProjectSettingPipelineStepViewModel {\r\n pipelineStep?: string | undefined;\r\n value?: string | undefined;\r\n default!: boolean;\r\n\r\n constructor(data?: IProjectSettingPipelineStepViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pipelineStep = _data[\"pipelineStep\"];\r\n this.value = _data[\"value\"];\r\n this.default = _data[\"default\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectSettingPipelineStepViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectSettingPipelineStepViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pipelineStep\"] = this.pipelineStep;\r\n data[\"value\"] = this.value;\r\n data[\"default\"] = this.default;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectSettingPipelineStepViewModel {\r\n pipelineStep?: string | undefined;\r\n value?: string | undefined;\r\n default: boolean;\r\n}\r\n\r\nexport class SetProjectSettingResponseModel implements ISetProjectSettingResponseModel {\r\n\r\n constructor(data?: ISetProjectSettingResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): SetProjectSettingResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetProjectSettingResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetProjectSettingResponseModel {\r\n}\r\n\r\nexport class SetProjectSettingRequestModel implements ISetProjectSettingRequestModel {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n pipelineStep?: string | undefined;\r\n\r\n constructor(data?: ISetProjectSettingRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.pipelineStep = _data[\"pipelineStep\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SetProjectSettingRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetProjectSettingRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"pipelineStep\"] = this.pipelineStep;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetProjectSettingRequestModel {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n pipelineStep?: string | undefined;\r\n}\r\n\r\nexport class SearchProductsResponseModel implements ISearchProductsResponseModel {\r\n eboViewModels?: WizardEBOViewModel[] | undefined;\r\n\r\n constructor(data?: ISearchProductsResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"eboViewModels\"])) {\r\n this.eboViewModels = [] as any;\r\n for (let item of _data[\"eboViewModels\"])\r\n this.eboViewModels!.push(WizardEBOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchProductsResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchProductsResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.eboViewModels)) {\r\n data[\"eboViewModels\"] = [];\r\n for (let item of this.eboViewModels)\r\n data[\"eboViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchProductsResponseModel {\r\n eboViewModels?: WizardEBOViewModel[] | undefined;\r\n}\r\n\r\nexport class SearchProductsRequestModel implements ISearchProductsRequestModel {\r\n value?: string | undefined;\r\n\r\n constructor(data?: ISearchProductsRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchProductsRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchProductsRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchProductsRequestModel {\r\n value?: string | undefined;\r\n}\r\n\r\nexport class NewProductResponseModel implements INewProductResponseModel {\r\n productId!: number;\r\n\r\n constructor(data?: INewProductResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productId = _data[\"productId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewProductResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewProductResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productId\"] = this.productId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewProductResponseModel {\r\n productId: number;\r\n}\r\n\r\nexport class NewProductRequestModel implements INewProductRequestModel {\r\n productName?: string | undefined;\r\n\r\n constructor(data?: INewProductRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productName = _data[\"productName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewProductRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewProductRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productName\"] = this.productName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewProductRequestModel {\r\n productName?: string | undefined;\r\n}\r\n\r\nexport class GetProductsViewModel implements IGetProductsViewModel {\r\n productViewModels?: ProductViewModel2[] | undefined;\r\n\r\n constructor(data?: IGetProductsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"productViewModels\"])) {\r\n this.productViewModels = [] as any;\r\n for (let item of _data[\"productViewModels\"])\r\n this.productViewModels!.push(ProductViewModel2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetProductsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetProductsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.productViewModels)) {\r\n data[\"productViewModels\"] = [];\r\n for (let item of this.productViewModels)\r\n data[\"productViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetProductsViewModel {\r\n productViewModels?: ProductViewModel2[] | undefined;\r\n}\r\n\r\nexport class ProductViewModel2 implements IProductViewModel2 {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IProductViewModel2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProductViewModel2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProductViewModel2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProductViewModel2 {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class KoppelProductsRequestModel implements IKoppelProductsRequestModel {\r\n productId!: number;\r\n searchProductEBOModels?: WizardEBOViewModel[] | undefined;\r\n\r\n constructor(data?: IKoppelProductsRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productId = _data[\"productId\"];\r\n if (Array.isArray(_data[\"searchProductEBOModels\"])) {\r\n this.searchProductEBOModels = [] as any;\r\n for (let item of _data[\"searchProductEBOModels\"])\r\n this.searchProductEBOModels!.push(WizardEBOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelProductsRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelProductsRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productId\"] = this.productId;\r\n if (Array.isArray(this.searchProductEBOModels)) {\r\n data[\"searchProductEBOModels\"] = [];\r\n for (let item of this.searchProductEBOModels)\r\n data[\"searchProductEBOModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelProductsRequestModel {\r\n productId: number;\r\n searchProductEBOModels?: WizardEBOViewModel[] | undefined;\r\n}\r\n\r\nexport class LoginResponseModel implements ILoginResponseModel {\r\n userId!: number;\r\n userName?: string | undefined;\r\n roles?: string[] | undefined;\r\n loginSuccess!: boolean;\r\n authData?: string | undefined;\r\n\r\n constructor(data?: ILoginResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.userName = _data[\"userName\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n this.loginSuccess = _data[\"loginSuccess\"];\r\n this.authData = _data[\"authData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"userName\"] = this.userName;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n data[\"loginSuccess\"] = this.loginSuccess;\r\n data[\"authData\"] = this.authData;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginResponseModel {\r\n userId: number;\r\n userName?: string | undefined;\r\n roles?: string[] | undefined;\r\n loginSuccess: boolean;\r\n authData?: string | undefined;\r\n}\r\n\r\nexport class LoginRequestModel implements ILoginRequestModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: ILoginRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginRequestModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class LoginIPResponseModel implements ILoginIPResponseModel {\r\n ipAddress?: string | undefined;\r\n\r\n constructor(data?: ILoginIPResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ipAddress = _data[\"ipAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginIPResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginIPResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ipAddress\"] = this.ipAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginIPResponseModel {\r\n ipAddress?: string | undefined;\r\n}\r\n\r\nexport class LanguagesViewModel implements ILanguagesViewModel {\r\n languages?: LanguageViewModel[] | undefined;\r\n\r\n constructor(data?: ILanguagesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"languages\"])) {\r\n this.languages = [] as any;\r\n for (let item of _data[\"languages\"])\r\n this.languages!.push(LanguageViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LanguagesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LanguagesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.languages)) {\r\n data[\"languages\"] = [];\r\n for (let item of this.languages)\r\n data[\"languages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILanguagesViewModel {\r\n languages?: LanguageViewModel[] | undefined;\r\n}\r\n\r\nexport class LanguageViewModel implements ILanguageViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n flag?: string | undefined;\r\n showSpecification!: boolean;\r\n categories?: TranslateKeyCategoryViewModel[] | undefined;\r\n categoryEntries?: TranslateEntryCategoryViewModel[] | undefined;\r\n productEntries?: TranslateEntryProductViewModel[] | undefined;\r\n filterEntries?: TranslateEntryFilterViewModel[] | undefined;\r\n filterOptionEntries?: TranslateEntryFilterOptionViewModel[] | undefined;\r\n descriptionEntries?: TranslateEntryDescriptionViewModel[] | undefined;\r\n afbeeldingEntries?: TranslateEntryAfbeeldingViewModel[] | undefined;\r\n\r\n constructor(data?: ILanguageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n this.flag = _data[\"flag\"];\r\n this.showSpecification = _data[\"showSpecification\"];\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(TranslateKeyCategoryViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"categoryEntries\"])) {\r\n this.categoryEntries = [] as any;\r\n for (let item of _data[\"categoryEntries\"])\r\n this.categoryEntries!.push(TranslateEntryCategoryViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"productEntries\"])) {\r\n this.productEntries = [] as any;\r\n for (let item of _data[\"productEntries\"])\r\n this.productEntries!.push(TranslateEntryProductViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"filterEntries\"])) {\r\n this.filterEntries = [] as any;\r\n for (let item of _data[\"filterEntries\"])\r\n this.filterEntries!.push(TranslateEntryFilterViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"filterOptionEntries\"])) {\r\n this.filterOptionEntries = [] as any;\r\n for (let item of _data[\"filterOptionEntries\"])\r\n this.filterOptionEntries!.push(TranslateEntryFilterOptionViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"descriptionEntries\"])) {\r\n this.descriptionEntries = [] as any;\r\n for (let item of _data[\"descriptionEntries\"])\r\n this.descriptionEntries!.push(TranslateEntryDescriptionViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"afbeeldingEntries\"])) {\r\n this.afbeeldingEntries = [] as any;\r\n for (let item of _data[\"afbeeldingEntries\"])\r\n this.afbeeldingEntries!.push(TranslateEntryAfbeeldingViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LanguageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LanguageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"countryCode\"] = this.countryCode;\r\n data[\"flag\"] = this.flag;\r\n data[\"showSpecification\"] = this.showSpecification;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.categoryEntries)) {\r\n data[\"categoryEntries\"] = [];\r\n for (let item of this.categoryEntries)\r\n data[\"categoryEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.productEntries)) {\r\n data[\"productEntries\"] = [];\r\n for (let item of this.productEntries)\r\n data[\"productEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.filterEntries)) {\r\n data[\"filterEntries\"] = [];\r\n for (let item of this.filterEntries)\r\n data[\"filterEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.filterOptionEntries)) {\r\n data[\"filterOptionEntries\"] = [];\r\n for (let item of this.filterOptionEntries)\r\n data[\"filterOptionEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.descriptionEntries)) {\r\n data[\"descriptionEntries\"] = [];\r\n for (let item of this.descriptionEntries)\r\n data[\"descriptionEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.afbeeldingEntries)) {\r\n data[\"afbeeldingEntries\"] = [];\r\n for (let item of this.afbeeldingEntries)\r\n data[\"afbeeldingEntries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILanguageViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n flag?: string | undefined;\r\n showSpecification: boolean;\r\n categories?: TranslateKeyCategoryViewModel[] | undefined;\r\n categoryEntries?: TranslateEntryCategoryViewModel[] | undefined;\r\n productEntries?: TranslateEntryProductViewModel[] | undefined;\r\n filterEntries?: TranslateEntryFilterViewModel[] | undefined;\r\n filterOptionEntries?: TranslateEntryFilterOptionViewModel[] | undefined;\r\n descriptionEntries?: TranslateEntryDescriptionViewModel[] | undefined;\r\n afbeeldingEntries?: TranslateEntryAfbeeldingViewModel[] | undefined;\r\n}\r\n\r\nexport class TranslateKeyCategoryViewModel implements ITranslateKeyCategoryViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n keys?: TranslateKeyViewModel[] | undefined;\r\n\r\n constructor(data?: ITranslateKeyCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"keys\"])) {\r\n this.keys = [] as any;\r\n for (let item of _data[\"keys\"])\r\n this.keys!.push(TranslateKeyViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateKeyCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateKeyCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.keys)) {\r\n data[\"keys\"] = [];\r\n for (let item of this.keys)\r\n data[\"keys\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateKeyCategoryViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n keys?: TranslateKeyViewModel[] | undefined;\r\n}\r\n\r\nexport class TranslateKeyViewModel implements ITranslateKeyViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n entries?: TranslateEntryViewModel[] | undefined;\r\n\r\n constructor(data?: ITranslateKeyViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"entries\"])) {\r\n this.entries = [] as any;\r\n for (let item of _data[\"entries\"])\r\n this.entries!.push(TranslateEntryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateKeyViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateKeyViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.entries)) {\r\n data[\"entries\"] = [];\r\n for (let item of this.entries)\r\n data[\"entries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateKeyViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n entries?: TranslateEntryViewModel[] | undefined;\r\n}\r\n\r\nexport class TranslateEntryViewModel implements ITranslateEntryViewModel {\r\n id!: number;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryViewModel {\r\n id: number;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryCategoryViewModel implements ITranslateEntryCategoryViewModel {\r\n id!: number;\r\n categoryId!: number;\r\n categoryName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n this.categoryName = _data[\"categoryName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"categoryId\"] = this.categoryId;\r\n data[\"categoryName\"] = this.categoryName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryCategoryViewModel {\r\n id: number;\r\n categoryId: number;\r\n categoryName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryProductViewModel implements ITranslateEntryProductViewModel {\r\n id!: number;\r\n productId!: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.productId = _data[\"productId\"];\r\n this.productName = _data[\"productName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"productId\"] = this.productId;\r\n data[\"productName\"] = this.productName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryProductViewModel {\r\n id: number;\r\n productId: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryFilterViewModel implements ITranslateEntryFilterViewModel {\r\n id!: number;\r\n filterId!: number;\r\n filterName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filterId = _data[\"filterId\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryFilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryFilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filterId\"] = this.filterId;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryFilterViewModel {\r\n id: number;\r\n filterId: number;\r\n filterName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryFilterOptionViewModel implements ITranslateEntryFilterOptionViewModel {\r\n id!: number;\r\n filterId!: number;\r\n filterOptionId!: number;\r\n filterOptionName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filterId = _data[\"filterId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n this.filterOptionName = _data[\"filterOptionName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryFilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryFilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filterId\"] = this.filterId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n data[\"filterOptionName\"] = this.filterOptionName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryFilterOptionViewModel {\r\n id: number;\r\n filterId: number;\r\n filterOptionId: number;\r\n filterOptionName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryDescriptionViewModel implements ITranslateEntryDescriptionViewModel {\r\n id!: number;\r\n bcbProductId!: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryDescriptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bcbProductId = _data[\"bcbProductId\"];\r\n this.productName = _data[\"productName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryDescriptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryDescriptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bcbProductId\"] = this.bcbProductId;\r\n data[\"productName\"] = this.productName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryDescriptionViewModel {\r\n id: number;\r\n bcbProductId: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryAfbeeldingViewModel implements ITranslateEntryAfbeeldingViewModel {\r\n id!: number;\r\n bcbProductAfbeeldingId!: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryAfbeeldingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bcbProductAfbeeldingId = _data[\"bcbProductAfbeeldingId\"];\r\n this.productName = _data[\"productName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryAfbeeldingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryAfbeeldingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bcbProductAfbeeldingId\"] = this.bcbProductAfbeeldingId;\r\n data[\"productName\"] = this.productName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryAfbeeldingViewModel {\r\n id: number;\r\n bcbProductAfbeeldingId: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class CreateLanguageRequest implements ICreateLanguageRequest {\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n\r\n constructor(data?: ICreateLanguageRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateLanguageRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateLanguageRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"countryCode\"] = this.countryCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateLanguageRequest {\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n}\r\n\r\nexport class CreateExportResponse implements ICreateExportResponse {\r\n url?: string | undefined;\r\n\r\n constructor(data?: ICreateExportResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateExportResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateExportResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateExportResponse {\r\n url?: string | undefined;\r\n}\r\n\r\nexport class CreateExportRequest implements ICreateExportRequest {\r\n\r\n constructor(data?: ICreateExportRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): CreateExportRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateExportRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateExportRequest {\r\n}\r\n\r\nexport class ReadExportRequest implements IReadExportRequest {\r\n\r\n constructor(data?: IReadExportRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ReadExportRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReadExportRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReadExportRequest {\r\n}\r\n\r\nexport class ApiException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new ApiException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable<string> {\r\n return new Observable<string>((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { SecurityApiClient, LoginRequestModel, LoginResponseModel } from '../swagger/SwaggerClient';\r\nimport { BeheerInlogComponent } from '../beheer/components/beheer-inlog/beheer-inlog.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n\r\n public LoadingLogin: boolean = false;\r\n\r\n private currentUserSubject: BehaviorSubject<LoginResponseModel>;\r\n public currentUser: Observable<LoginResponseModel>;\r\n\r\n constructor(private securityApiClient: SecurityApiClient) {\r\n this.currentUserSubject = new BehaviorSubject<LoginResponseModel>(JSON.parse(localStorage.getItem('currentUser') + \"\"));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): LoginResponseModel {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n public login(username: string, password: string, beheer: BeheerInlogComponent, success: (beheer: BeheerInlogComponent) => void, fail: (beheer: BeheerInlogComponent, message: string) => void) {\r\n this.LoadingLogin = true;\r\n var model: LoginRequestModel = new LoginRequestModel();\r\n model.userName = username;\r\n model.password = password;\r\n\r\n this.securityApiClient.authenticateUser(model).subscribe(model => {\r\n // store user details and basic auth credentials in local storage to keep user logged in between page refreshes\r\n if (model.loginSuccess) {\r\n model.authData = window.btoa(username + ':' + password);\r\n localStorage.setItem('currentUser', JSON.stringify(model));\r\n this.currentUserSubject.next(model);\r\n\r\n success(beheer);\r\n }\r\n else {\r\n fail(beheer, \"Gebruikersnaam + wachtwoord combinatie onbekend\");\r\n }\r\n\r\n this.LoadingLogin = false;\r\n });\r\n\r\n }\r\n\r\n public logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n this.currentUserSubject.next(new LoginResponseModel());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class BasicAuthInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n // add authorization header with basic auth credentials if available\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.authData) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Basic ${currentUser.authData}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload();\r\n }\r\n\r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.userName != null) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n //this.router.navigate(['/beheer/inloggen'], { queryParams: { returnUrl: state.url } });\r\n \r\n // or without return url lol\r\n this.router.navigate(['/beheer/inloggen']);\r\n\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FabrikantenApiClient } from '../../../swagger/SwaggerClient';\r\nimport { AuthenticationService } from './../../../services/authentication.service'\r\n\r\n@Component({\r\n selector: 'app-beheer-nav',\r\n templateUrl: './beheer-nav.component.html',\r\n styleUrls: ['./beheer-nav.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BeheerNavComponent implements OnInit {\r\n\r\n public ResetCacheTitle: string = \"Reset Cache\";\r\n\r\n constructor(public authenticationService: AuthenticationService, private router: Router, private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public LogOff(): void {\r\n this.authenticationService.logout();\r\n this.router.navigateByUrl('/beheer/inloggen');\r\n }\r\n\r\n public NavigateTo(name: string) {\r\n this.router.navigateByUrl('/beheer/' + name);\r\n }\r\n\r\n public IsActive(name: string): boolean {\r\n return window.location.href.toLowerCase().indexOf(name.toLowerCase()) != -1;\r\n }\r\n\r\n public ResetCache(): void {\r\n this.ResetCacheTitle = \"...\";\r\n this.FabrikantenApiClient.resetCache().subscribe(() => {\r\n this.ResetCacheTitle = \"Reset Cache\";\r\n alert('cache reset success');\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"main-block\">\n <div class=\"row\">\n <div class=\"cell left-block\">\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\n Zoeken\n </button>\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\n Import\n </button>\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\n Products\n </button>\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\n Filters\n </button>\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\n EBO Koppel\n </button>\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\n Categories\n </button>\n </div>\n <div class=\"cell right-block\">\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\n {{ ResetCacheTitle }}\n </button>\n <button mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\n Settings\n </button>\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\n Translate\n </button>\n <button mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\n Users\n </button>\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\n Uitloggen\n </button>\n </div>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\r\n\n@Component({\n selector: 'app-beheer-main',\n templateUrl: './beheer-main.component.html',\n styleUrls: ['./beheer-main.component.css']\n})\nexport class BeheerMainComponent implements OnInit {\n\n constructor() {\n \n }\n\n ngOnInit() {\n }\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fab-loader',\n templateUrl: './fab-loader.component.html',\n styleUrls: ['./fab-loader.component.scss']\n})\nexport class FabLoaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"main-div\">\r\n <mat-spinner></mat-spinner>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LoginIPResponseModel, SecurityApiClient } from '../../../swagger/SwaggerClient';\r\nimport { AuthenticationService } from './../../../services/authentication.service'\r\n\r\n@Component({\r\n selector: 'app-beheer-inlog',\r\n templateUrl: './beheer-inlog.component.html',\r\n styleUrls: ['./beheer-inlog.component.scss']\r\n})\r\nexport class BeheerInlogComponent implements OnInit {\r\n\r\n public Username: string = \"\";\r\n public Password: string = \"\";\r\n\r\n public Message: string = \"\";\r\n\r\n public LoginIPResponseModel: LoginIPResponseModel;\r\n\r\n constructor(public authenticationService: AuthenticationService, public router: Router, private securityApiClient: SecurityApiClient) {\r\n\r\n this.securityApiClient.getLoginIPResponseModel().subscribe((model: LoginIPResponseModel) => {\r\n this.LoginIPResponseModel = model;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Login(): void {\r\n this.Message = \"\";\r\n this.authenticationService.login(this.Username, this.Password, this, this.Success, this.Failure);\r\n }\r\n\r\n public Success(beheer: BeheerInlogComponent): void {\r\n beheer.router.navigateByUrl('/beheer');\r\n }\r\n\r\n public Failure(beheer: BeheerInlogComponent, message: string): void {\r\n beheer.Message = message;\r\n }\r\n}\r\n","\n<div class=\"container\">\n <div class=\"inlogdialog\">\n <div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Gebruikersnaam</mat-label>\n <input type=\"text\" [(ngModel)]=\"Username\" matInput value=\"\">\n </mat-form-field>\n </div>\n <div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Wachtwoord</mat-label>\n <input type=\"password\" [(ngModel)]=\"Password\" matInput value=\"\">\n </mat-form-field>\n </div>\n\n <div class=\"button-bar\">\n <div class=\"error-box\">\n {{ Message }}\n </div>\n <button mat-raised-button (click)=\"Login()\" class=\"login-button\">\n <span *ngIf=\"!authenticationService.LoadingLogin\">\n Login\n </span>\n <span *ngIf=\"authenticationService.LoadingLogin\">\n <app-fab-loader class=\"loader\"></app-fab-loader>\n </span>\n </button>\n </div>\n <div>\n IP Address: {{ LoginIPResponseModel?.ipAddress }}\n </div>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\r\nimport { MatDrawerMode } from '@angular/material/sidenav';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MobileService {\r\n\r\n public ScreenWidth: number;\r\n public ScreenHeight: number;\r\n\r\n public MobileInterface: boolean = false;\r\n\r\n public NavMode: MatDrawerMode = \"side\";\r\n public NavOpened: boolean = true;\r\n\r\n constructor() {\r\n }\r\n\r\n public OpenNav(): void {\r\n this.NavOpened = true;\r\n }\r\n\r\n public UpdateScreenSize(width: number, height: number): void {\r\n if (this.ScreenWidth != width || this.ScreenHeight != height) {\r\n this.ScreenWidth = width;\r\n this.ScreenHeight = height;\r\n\r\n this.MobileInterface = this.ScreenWidth < 750;\r\n\r\n if (this.MobileInterface) {\r\n this.NavMode = \"over\";\r\n this.NavOpened = false;\r\n }\r\n else {\r\n this.NavMode = \"side\";\r\n this.NavOpened = true;\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { FabrikantenApiClient, FabrikantenBestekViewModel, FabrikantenBestekRequestModel } from '../swagger/SwaggerClient';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class BestekService {\r\n\r\n public Loading: boolean = false;\r\n public TypeBestek: string = \"STABU\";\r\n\r\n public FabrikantenBestekViewModel: FabrikantenBestekViewModel;\r\n\r\n constructor(private clipboard: Clipboard, private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n public GetBestekTekst(): string {\r\n if (this.TypeBestek == \"STABU\") {\r\n return this.FabrikantenBestekViewModel.stabu as string;\r\n }\r\n\r\n if (this.TypeBestek == \"OSF\") {\r\n return this.FabrikantenBestekViewModel.osfhtml as string;\r\n }\r\n\r\n if (this.TypeBestek == \"Vrij\") {\r\n return this.FabrikantenBestekViewModel.vrijBestekHTML as string;\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public DownloadBestek(data: string) {\r\n\r\n if (this.TypeBestek == \"STABU\") {\r\n this.Download(data, \".S01\");\r\n }\r\n\r\n if (this.TypeBestek == \"OSF\") {\r\n this.Download(data, \".txt\");\r\n }\r\n\r\n if (this.TypeBestek == \"Vrij\") {\r\n this.Download(data, \".txt\");\r\n }\r\n }\r\n\r\n public Download(data: string, extension: string) {\r\n var c = document.createElement(\"a\");\r\n c.download = this.FabrikantenBestekViewModel.bestandsnaam + extension;\r\n\r\n var t = new Blob([data], {\r\n type: \"text/plain\"\r\n });\r\n c.href = window.URL.createObjectURL(t);\r\n c.click();\r\n }\r\n\r\n public CopyToClipboard(str: any) {\r\n this.clipboard.copy(str);\r\n }\r\n\r\n public LoadFabrikantenBestekViewModel(sessionid: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n\r\n var request = new FabrikantenBestekRequestModel();\r\n\r\n request.sessionId = sessionid;\r\n\r\n this.FabrikantenApiClient.getFabrikantenBestekViewModel(request).subscribe((model: FabrikantenBestekViewModel) => {\r\n this.FabrikantenBestekViewModel = model;\r\n\r\n if (this.TypeBestek == \"STABU\") {\r\n if (model.stabu == undefined || model.stabu == '') {\r\n this.TypeBestek = \"\";\r\n }\r\n }\r\n\r\n if (this.TypeBestek == \"OSF\") {\r\n if (model.osfhtml == undefined || model.osfhtml == '') {\r\n this.TypeBestek = \"\";\r\n }\r\n }\r\n\r\n //if (this.TypeBestek == \"SUF\") {\r\n // if (model.suf == undefined || model.suf == '') {\r\n // this.TypeBestek = \"\";\r\n // }\r\n //}\r\n\r\n if (this.TypeBestek == \"Vrij\") {\r\n if (model.vrijBestekHTML == undefined || model.vrijBestekHTML == '') {\r\n this.TypeBestek = \"\";\r\n }\r\n }\r\n\r\n if (this.TypeBestek == \"\") {\r\n if (model.stabu != undefined && model.stabu != '') {\r\n this.TypeBestek = \"STABU\";\r\n }\r\n\r\n if (model.osfhtml != undefined && model.osfhtml != '') {\r\n this.TypeBestek = \"OSF\";\r\n }\r\n\r\n //if (model.suf != undefined && model.suf != '') {\r\n // this.TypeBestek = \"SUF\";\r\n //}\r\n\r\n if (model.vrijBestekHTML != undefined && model.vrijBestekHTML != '') {\r\n this.TypeBestek = \"Vrij\";\r\n }\r\n }\r\n\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { TranslateService } from './translate.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NavigateService {\r\n\r\n public FabrikantenService: FabrikantenService | null = null;\r\n public TranslateService: TranslateService | null = null;\r\n\r\n constructor(private Router: Router) {\r\n }\r\n\r\n public RefreshPage(): void {\r\n if (this.FabrikantenService != null && this.TranslateService != null) {\r\n if (this.TranslateService.ActiveLanguage != null && this.FabrikantenService.FabrikantenViewModel != null) {\r\n if (this.FabrikantenService.ShowCategories()) {\r\n this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'categories']);\r\n }\r\n else if (this.FabrikantenService.FabrikantenViewModel.selectedProduct != null)\r\n {\r\n this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'product']);\r\n }\r\n else {\r\n this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'products']);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { LanguagesViewModel, LanguageViewModel, TranslateApiClient, TranslateKeyCategoryViewModel, TranslateKeyViewModel } from '../swagger/SwaggerClient';\r\nimport { NavigateService } from './navigate.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TranslateService {\r\n\r\n private Init: boolean = false;\r\n\r\n public Loading: boolean = true;\r\n\r\n public LanguagesViewModel: LanguagesViewModel;\r\n\r\n private DesiredCountryCode: string = \"\";\r\n public ActiveLanguage: LanguageViewModel;\r\n\r\n public SelectedCategory: string = \"Common\";\r\n public Categories: Array<string>;\r\n\r\n constructor(private TranslateApiClient: TranslateApiClient, public NavigateService: NavigateService) {\r\n this.NavigateService.TranslateService = this;\r\n }\r\n\r\n public SelectLanguage(language: LanguageViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.DesiredCountryCode = language.countryCode + \"\";\r\n this.ProcessDesiredCountryCode();\r\n\r\n ChangeDetectorRef.detectChanges();\r\n }\r\n\r\n public ProcessParameters(ActivatedRoute: ActivatedRoute): void {\r\n var countrycode = ActivatedRoute.snapshot.paramMap.get(\"language\");\r\n\r\n if (countrycode != null && countrycode != \"\" && this.DesiredCountryCode != countrycode) {\r\n this.DesiredCountryCode = countrycode;\r\n this.ProcessDesiredCountryCode();\r\n }\r\n }\r\n\r\n public LoadTranslations(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (!this.Init) {\r\n this.Init = true;\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n this.TranslateApiClient.getLanguagesViewModel().subscribe((model: LanguagesViewModel) => {\r\n this.LanguagesViewModel = model;\r\n\r\n var cats = this.GetCategories();\r\n this.Categories = new Array<string>();\r\n\r\n for (var i = 0; i < cats.length; i++) {\r\n this.Categories.push(cats[i].name as string);\r\n }\r\n\r\n this.Categories.push(\"Categories\");\r\n this.Categories.push(\"Products\");\r\n this.Categories.push(\"Description\");\r\n this.Categories.push(\"Afbeelding\");\r\n this.Categories.push(\"Filter\");\r\n\r\n this.Loading = false;\r\n\r\n this.ProcessDesiredCountryCode();\r\n\r\n this.NavigateService.RefreshPage();\r\n\r\n ChangeDetectorRef.detectChanges();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n alert(error.json());\r\n else {\r\n alert('An unexpected error occured');\r\n alert(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n public ShowSpecification(): boolean {\r\n if (this.ActiveLanguage != null) {\r\n return this.ActiveLanguage.showSpecification;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public GetActiveValue(category: string, key: string): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValue(this.ActiveLanguage, category, key);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValue(language: LanguageViewModel, category: string, key: string): string {\r\n var catarray = language.categories;\r\n if (catarray != null) {\r\n for (var i = 0; i < catarray.length; i++) {\r\n if (catarray[i].name?.toLowerCase() == category.toLowerCase()) {\r\n\r\n var keysarray = catarray[i].keys\r\n if (keysarray != null) {\r\n for (var j = 0; j < keysarray.length; j++) {\r\n if (keysarray[j].name?.toLowerCase() == key.toLowerCase()) {\r\n var entriesarray = keysarray[j].entries;\r\n\r\n if (entriesarray != null && entriesarray.length > 0) {\r\n return entriesarray[0].value as string;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueCategory(catId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueCategory(this.ActiveLanguage, catId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueCategory(language: LanguageViewModel, catId: number): string {\r\n var catarray = language.categoryEntries;\r\n if (catarray != null) {\r\n for (var i = 0; i < catarray.length; i++) {\r\n if (catarray[i].categoryId == catId) {\r\n return catarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueProduct(productId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueProduct(this.ActiveLanguage, productId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueProduct(language: LanguageViewModel, productId: number): string {\r\n var prodarray = language.productEntries;\r\n if (prodarray != null) {\r\n for (var i = 0; i < prodarray.length; i++) {\r\n if (prodarray[i].productId == productId) {\r\n return prodarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueFilter(filterId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueFilter(this.ActiveLanguage, filterId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueFilter(language: LanguageViewModel, filterId: number): string {\r\n var filterarray = language.filterEntries;\r\n if (filterarray != null) {\r\n for (var i = 0; i < filterarray.length; i++) {\r\n if (filterarray[i].filterId == filterId) {\r\n return filterarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueFilterOption(filterOptionId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueFilterOption(this.ActiveLanguage, filterOptionId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueFilterOption(language: LanguageViewModel, filterOptionId: number): string {\r\n var filterarray = language.filterOptionEntries;\r\n if (filterarray != null) {\r\n for (var i = 0; i < filterarray.length; i++) {\r\n if (filterarray[i].filterOptionId == filterOptionId) {\r\n return filterarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueDescription(bcbProductId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueDescription(this.ActiveLanguage, bcbProductId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueDescription(language: LanguageViewModel, bcbProductId: number): string {\r\n var descriptionarray = language.descriptionEntries;\r\n if (descriptionarray != null) {\r\n for (var i = 0; i < descriptionarray.length; i++) {\r\n if (descriptionarray[i].bcbProductId == bcbProductId) {\r\n return descriptionarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueAfbeelding(bcbProductAfbeeldingId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueAfbeelding(this.ActiveLanguage, bcbProductAfbeeldingId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueAfbeelding(language: LanguageViewModel, bcbProductAfbeeldingId: number): string {\r\n var afbeeldingarray = language.afbeeldingEntries;\r\n if (afbeeldingarray != null) {\r\n for (var i = 0; i < afbeeldingarray.length; i++) {\r\n if (afbeeldingarray[i].bcbProductAfbeeldingId == bcbProductAfbeeldingId) {\r\n return afbeeldingarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetCategories(): Array<TranslateKeyCategoryViewModel> {\r\n\r\n if (this.LanguagesViewModel?.languages != null && this.LanguagesViewModel.languages.length > 0 && this.LanguagesViewModel.languages[0].categories != null) {\r\n return this.LanguagesViewModel.languages[0].categories;\r\n }\r\n else {\r\n return new Array<TranslateKeyCategoryViewModel>();;\r\n }\r\n }\r\n\r\n public GetActiveCategorie(): TranslateKeyCategoryViewModel | null {\r\n var cats = this.GetCategories();\r\n\r\n for (var i = 0; i < cats.length; i++) {\r\n if (cats[i].name == this.SelectedCategory) {\r\n return cats[i];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private ProcessDesiredCountryCode(): void {\r\n if (this.LanguagesViewModel?.languages != null) {\r\n if (this.DesiredCountryCode == \"\") {\r\n this.SetActiveLanguage(this.LanguagesViewModel.languages[0]);\r\n }\r\n else {\r\n for (var i = 0; i < this.LanguagesViewModel.languages.length; i++) {\r\n if (this.LanguagesViewModel.languages[i].countryCode?.toString().toLowerCase() == this.DesiredCountryCode.toLowerCase()) {\r\n this.SetActiveLanguage(this.LanguagesViewModel.languages[i]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private SetActiveLanguage(language: LanguageViewModel): void {\r\n if (this.ActiveLanguage != language) {\r\n this.ActiveLanguage = language;\r\n\r\n this.NavigateService.RefreshPage();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { FabrikantenApiClient, FabrikantenBestekViewModel, FabrikantenBestekRequestModel, BCBLinkResponseModel, BCBLinkRequestModel, Fabrikanten3DViewModel, Fabrikanten3DRequestModel } from '../swagger/SwaggerClient';\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\nimport { FabWebglViewerComponent } from '../components/fab-webgl-viewer/fab-webgl-viewer.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class WebGLService {\r\n\r\n public Loading: boolean = false;\r\n public ViewerWidth: number = 101;\r\n public ViewerHeight: number = 101;\r\n\r\n public Fabrikanten3DViewModel: Fabrikanten3DViewModel;\r\n\r\n public FabWebglViewerComponent: FabWebglViewerComponent | null = null;\r\n\r\n constructor(private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n public LoadFabrikanten3DViewModel(sessionid: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n\r\n var request = new Fabrikanten3DRequestModel();\r\n\r\n request.sessionId = sessionid;\r\n\r\n this.FabrikantenApiClient.getFabrikanten3DViewModel(request).subscribe((model: Fabrikanten3DViewModel) => {\r\n this.Fabrikanten3DViewModel = model;\r\n this.Loading = false;\r\n\r\n if (this.FabWebglViewerComponent != null) {\r\n this.FabWebglViewerComponent.RefreshViewer();\r\n }\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public HasNativeRFA(): boolean {\r\n if (this.Fabrikanten3DViewModel != null) {\r\n return this.Fabrikanten3DViewModel.nativeRFA;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { FabrikantenApiClient, FabrikantenSVGViewModel, FabrikantenSVGRequestModel } from '../swagger/SwaggerClient';\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { MobileService } from './mobile.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SVGService {\r\n\r\n public Loading: boolean = false;\r\n public FabrikantenSVGViewModel: FabrikantenSVGViewModel;\r\n\r\n public FabrikantenService: FabrikantenService;\r\n\r\n public ViewerWidth: number = 101;\r\n public ViewerHeight: number = 101;\r\n\r\n constructor(private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n public LoadFabrikantenSVGViewModel(sessionid: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new FabrikantenSVGRequestModel();\r\n\r\n request.sessionId = sessionid;\r\n\r\n request.width = this.ViewerWidth;\r\n request.height = this.ViewerHeight;\r\n\r\n console.log('get width:' + request.width + \" height: \" + request.height);\r\n\r\n this.FabrikantenApiClient.getFabrikantenSVGViewModel(request).subscribe((model: FabrikantenSVGViewModel) => {\r\n this.FabrikantenSVGViewModel = model;\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public UpdateViewerSize(width: number, height: number, ChangeDetectorRef: ChangeDetectorRef): void {\r\n if ((this.ViewerWidth != width || this.ViewerHeight != height) &&\r\n (width > 0) && (height > 0)) {\r\n this.ViewerWidth = width;\r\n this.ViewerHeight = height;\r\n\r\n if (this.FabrikantenService?.FabrikantenViewModel?.sessionId != null) {\r\n this.LoadFabrikantenSVGViewModel(this.FabrikantenService.FabrikantenViewModel.sessionId, ChangeDetectorRef);\r\n }\r\n }\r\n }\r\n\r\n public HasNativeRFA(): boolean {\r\n if (this.FabrikantenSVGViewModel != null) {\r\n return this.FabrikantenSVGViewModel.nativeRFA;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport {\r\n FabrikantenApiClient,\r\n FabrikantenFilterViewModel,\r\n FabrikantenViewModel,\r\n SelectProductRequest,\r\n SelectFilterOptionRequest,\r\n SelectCategoryRequest,\r\n ResetFilterRequest,\r\n ResetAllFiltersRequest,\r\n ResetCategoryLayerRequest,\r\n RemoveProductSelectionRequest,\r\n FabrikantenProductViewModel,\r\n FabrikantenCategoryLayerViewModel,\r\n FabrikantenRequestModel,\r\n FabrikantenCategoryViewModel,\r\n ResetAllCategoriesRequest,\r\n BCBLinkRequestModel,\r\n BCBLinkResponseModel,\r\n FabrikantenFileRequestModel,\r\n FabrikantenFileViewModel\r\n} from '../swagger/SwaggerClient';\r\nimport { BestekService } from './bestek.service';\r\nimport { NavigateService } from './navigate.service';\r\nimport { SVGService } from './svg.service';\r\nimport { TranslateService } from './translate.service';\r\nimport { WebGLService } from './webgl.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FabrikantenService {\r\n private Init: boolean = false;\r\n\r\n public Loading: boolean = true;\r\n public DownloadARKEYAdomiLoading: boolean = false;\r\n public DownloadIFCLoading: boolean = false;\r\n public DownloadRevitPluginLoading: boolean = false;\r\n public Download3DAutoCADDwgLoading: boolean = false;\r\n public Download3DDxfLoading: boolean = false;\r\n public Download2DAutoCADDwgLoading: boolean = false;\r\n public Download2DDxfLoading: boolean = false;\r\n public DownloadRFALoading: boolean = false;\r\n\r\n public FabrikantenViewModel: FabrikantenViewModel;\r\n\r\n public SelectedPhoto: number = 0;\r\n\r\n private SelectedTab: string = \"Informatie\";\r\n\r\n constructor(\r\n private FabrikantenApiClient: FabrikantenApiClient,\r\n private BestekService: BestekService,\r\n private TranslateService: TranslateService,\r\n private WebGLService: WebGLService,\r\n private SVGService: SVGService,\r\n private NavigateService: NavigateService) {\r\n this.NavigateService.FabrikantenService = this;\r\n this.SVGService.FabrikantenService = this;\r\n }\r\n\r\n public ResetAllFilters(ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new ResetAllFiltersRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetAllFilters(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public SelectOption(filterid: number, filteroptionid: number, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new SelectFilterOptionRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.filterOptionId = filteroptionid;\r\n request.filterId = filterid;\r\n\r\n this.FabrikantenApiClient.selectFilterOption(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public SelectCategory(category: FabrikantenCategoryViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new SelectCategoryRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.categoryId = category.id;\r\n request.categoryLayer = category.layer;\r\n\r\n this.FabrikantenApiClient.selectCategory(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public SelectProduct(product: FabrikantenProductViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new SelectProductRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.productId = product.id;\r\n\r\n this.FabrikantenApiClient.selectProduct(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public ResetSelectionFilter(filter: FabrikantenFilterViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new ResetFilterRequest();\r\n request.filterId = filter.id;\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetFilterSelection(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public ResetAllCategories(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (this.FabrikantenViewModel != null) {\r\n this.Loading = true;\r\n\r\n var request = new ResetAllCategoriesRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetAllCategories(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n public ResetSelectionCategory(categorylayer: FabrikantenCategoryViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new ResetCategoryLayerRequest();\r\n request.categoryLayer = categorylayer.layer;\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetCategoryLayerSelection(request).subscribe(() => {\r\n this.ResetAllFilters(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public RemoveProductSelection(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (this.FabrikantenViewModel != null) {\r\n this.Loading = true;\r\n\r\n var request = new RemoveProductSelectionRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.removeProductSelection(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n public TabSelectionChanged(tab: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.SelectedTab = tab;\r\n\r\n this.TriggerReloads(ChangeDetectorRef);\r\n }\r\n\r\n public GetFirstOpenCategoryLayer(): FabrikantenCategoryLayerViewModel | null {\r\n var arraylayers = this.FabrikantenViewModel?.categoryLayers;\r\n\r\n if (arraylayers != null) {\r\n for (var i = 0; i < arraylayers.length; i++) {\r\n if (arraylayers[i].selectedOption == 0) {\r\n return arraylayers[i];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public ShowCategories(): boolean {\r\n return this.GetFirstOpenCategoryLayer() != null;\r\n }\r\n\r\n public ShowVariants(): boolean {\r\n var bcbproducts = this.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null && bcbproducts.length > 1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public OpenBCBLink(wuid: string): void {\r\n this.Loading = true;\r\n\r\n var request = new BCBLinkRequestModel();\r\n request.wuid = wuid;\r\n\r\n this.FabrikantenApiClient.getBCBLink(request).subscribe((model: BCBLinkResponseModel) => {\r\n window.open(model.url, '_blank');\r\n\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n\r\n public ReloadModel(ChangeDetectorRef: ChangeDetectorRef) {\r\n this.Init = false;\r\n this.LoadFabrikantenViewModel(ChangeDetectorRef);\r\n }\r\n\r\n public LoadFabrikantenViewModel(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (!this.Init) {\r\n this.Init = true;\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new FabrikantenRequestModel();\r\n\r\n if (this.FabrikantenViewModel != null) {\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n }\r\n else {\r\n request.sessionId = \"\";\r\n }\r\n\r\n this.FabrikantenApiClient.getFabrikantenViewModel(request).subscribe((model: FabrikantenViewModel) => {\r\n this.FabrikantenViewModel = model;\r\n this.SelectedPhoto = 0;\r\n this.Loading = false;\r\n\r\n ChangeDetectorRef.detectChanges();\r\n this.TriggerReloads(ChangeDetectorRef);\r\n\r\n this.NavigateService.RefreshPage();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n // Downloads\r\n\r\n public DownloadARKEYAdomi(): void {\r\n this.DownloadARKEYAdomiLoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dhg\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dhg\");\r\n this.DownloadARKEYAdomiLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public DownloadIFC(): void {\r\n this.DownloadIFCLoading = true;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"ifc\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".ifc\");\r\n this.DownloadIFCLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public DownloadRevitPlugin(): void {\r\n this.DownloadRevitPluginLoading = false;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"hdhRevit\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".hdhRevit\");\r\n this.DownloadRevitPluginLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download3DAutoCADDwg(): void {\r\n this.Download3DAutoCADDwgLoading = true;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dwg\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dwg\");\r\n this.Download3DAutoCADDwgLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download3DDxf(): void {\r\n this.Download3DDxfLoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dxf\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dxf\");\r\n this.Download3DDxfLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download2DAutoCADDwg(): void {\r\n this.Download2DAutoCADDwgLoading = true;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dwg\";\r\n request.model3D = false;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dwg\");\r\n this.Download2DAutoCADDwgLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download2DDxf(): void {\r\n this.Download2DDxfLoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dxf\";\r\n request.model3D = false;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dxf\");\r\n this.Download2DDxfLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public DownloadRFA(): void {\r\n this.DownloadRFALoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"rfa\";\r\n request.model3D = false;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".rfa\");\r\n this.DownloadRFALoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public StartDownload(data: any, extension: string): void {\r\n if (this.FabrikantenViewModel?.selectedProduct?.id != null) {\r\n var id = this.FabrikantenViewModel?.selectedProduct?.id;\r\n\r\n var arr = data;\r\n var byteArray = new Uint8Array(arr);\r\n var a = window.document.createElement('a');\r\n\r\n var filename = this.TranslateService.GetActiveValueProduct(id);\r\n filename = filename.replace(/[^a-z0-9]/gi, '_') + extension;\r\n\r\n a.href = window.URL.createObjectURL(new Blob([byteArray], { type: 'application/octet-stream' }));\r\n a.download = filename;\r\n\r\n // Append anchor to body.\r\n document.body.appendChild(a)\r\n a.click();\r\n\r\n\r\n // Remove anchor from body\r\n document.body.removeChild(a)\r\n }\r\n else {\r\n alert('error: no product selected');\r\n }\r\n }\r\n\r\n // Reloads\r\n\r\n private TriggerReloads(ChangeDetectorRef: ChangeDetectorRef): void {\r\n var array = this.FabrikantenViewModel.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (array != null && array.length == 1) {\r\n if (this.SelectedTab == \"Bestek\") {\r\n this.BestekService.LoadFabrikantenBestekViewModel(this.FabrikantenViewModel.sessionId as string, ChangeDetectorRef);\r\n }\r\n else if (this.SelectedTab == \"3D\") {\r\n this.WebGLService.LoadFabrikanten3DViewModel(this.FabrikantenViewModel.sessionId as string, ChangeDetectorRef);\r\n }\r\n else if (this.SelectedTab == \"2D\") {\r\n this.SVGService.LoadFabrikantenSVGViewModel(this.FabrikantenViewModel.sessionId as string, ChangeDetectorRef);\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenFilterViewModel } from '../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-fab-filter',\r\n templateUrl: './fab-filter.component.html',\r\n styleUrls: ['./fab-filter.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FabFilterComponent implements OnInit {\r\n public SelectedOptionId: number;\r\n\r\n _filter: FabrikantenFilterViewModel;\r\n get filter(): FabrikantenFilterViewModel {\r\n return this._filter;\r\n }\r\n\r\n @Input() set filter(value: FabrikantenFilterViewModel) {\r\n this._filter = value;\r\n this.SelectedOptionId = this._filter.selectedOption;\r\n\r\n if (this.SelectedOptionId == 0) {\r\n var options = this._filter.options;\r\n if (options != null && options.length == 1) {\r\n this.SelectedOptionId = options[0].id;\r\n }\r\n }\r\n }\r\n\r\n @Output() filterchanged: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor(\r\n private FabrikantenService: FabrikantenService,\r\n public TranslateService: TranslateService,\r\n private ChangeDetectorRef: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public SelectOption(): void {\r\n this.FabrikantenService.SelectOption(this.filter.id, this.SelectedOptionId, this.ChangeDetectorRef);\r\n }\r\n\r\n public ResetSelection(): void {\r\n this.FabrikantenService.ResetSelectionFilter(this.filter, this.ChangeDetectorRef);\r\n }\r\n\r\n public IsDisabled(): boolean {\r\n\r\n if (this.filter.selectedOption != 0) {\r\n return true;\r\n }\r\n\r\n if (this.filter.options?.length == 1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"select\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label\">{{ TranslateService.GetActiveValueFilter(filter.id) }}</mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <mat-option *ngFor=\"let option of filter.options\" [value]=\"option.id\" class=\"select-mat-option\">\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 \r\n {{ TranslateService.GetActiveValueFilterOption(option.id) }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'fab-filters-input',\n templateUrl: './fab-filters-input.component.html',\n styleUrls: ['./fab-filters-input.component.scss']\n})\nexport class FabFiltersInputComponent implements OnInit {\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n public ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n }\n\n public ResetAllFilters(): void {\r\n this.FabrikantenService.ResetAllFilters(this.ChangeDetectorRef);\r\n }\n}\n","<div class=\"filter-view-margin\">\r\n <div class=\"filter-view-header\">\r\n <div class=\"filter-view-header-h1\">\r\n <h1>{{ TranslateService.GetActiveValue(\"Common\", \"Filters\") }}</h1>\r\n </div>\r\n <div class=\"filter-view-header-reset\" (click)=\"ResetAllFilters()\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Reset filters\") }}\r\n </div>\r\n </div>\r\n\r\n <app-fab-filter *ngFor=\"let filterviewmodel of FabrikantenService.FabrikantenViewModel.filters\" [filter]=\"filterviewmodel\"></app-fab-filter>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport { FabrikantenBCBProductAfbeeldingViewModel } from '../swagger/SwaggerClient';\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { TranslateService } from './translate.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PhotoService {\r\n\r\n\r\n constructor(\r\n private FabrikantenService: FabrikantenService,\r\n private TranslateService: TranslateService\r\n ) {\r\n }\r\n\r\n public Left(): void {\r\n this.FabrikantenService.SelectedPhoto--;\r\n }\r\n\r\n public Right(): void {\r\n this.FabrikantenService.SelectedPhoto++;\r\n }\r\n\r\n public GetSelectedPhoto(): string {\r\n var array = this.GetPhotoArray();\r\n\r\n if (array.length == 0) {\r\n return \"\";\r\n }\r\n else {\r\n return this.FabrikantenService.FabrikantenViewModel?.bcbWebserviceURLBase as string + array[this.FabrikantenService.SelectedPhoto].url;\r\n }\r\n }\r\n\r\n public GetSelectedDescription(): string {\r\n var array = this.GetPhotoArray();\r\n\r\n if (array.length == 0) {\r\n return \"\";\r\n }\r\n else {\r\n return this.TranslateService.GetActiveValueAfbeelding(array[this.FabrikantenService.SelectedPhoto].id) + \" (\" + (this.FabrikantenService.SelectedPhoto + 1) + \"/\" + array.length + \")\";\r\n }\r\n }\r\n\r\n public ShouldDisplayLeft(): boolean {\r\n return this.FabrikantenService.SelectedPhoto != 0;\r\n }\r\n\r\n public ShouldDisplayRight(): boolean {\r\n var array = this.GetPhotoArray();\r\n\r\n return array.length != (this.FabrikantenService.SelectedPhoto + 1);\r\n }\r\n\r\n public GetPhotoCount(): number {\r\n var array = this.GetPhotoArray();\r\n\r\n return array.length;\r\n }\r\n\r\n public GetPhotoArray(): Array<FabrikantenBCBProductAfbeeldingViewModel> {\r\n var array = new Array<FabrikantenBCBProductAfbeeldingViewModel>();\r\n var bcbproducts = this.FabrikantenService.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n var afbeeldingen = bcbproducts[i].bcbProductAfbeeldingen;\r\n\r\n if (afbeeldingen != null)\r\n for (var j = 0; j < afbeeldingen.length; j++) {\r\n\r\n if (afbeeldingen[j].url != null) {\r\n var url = afbeeldingen[j].url as string;\r\n\r\n var contains = false;\r\n\r\n for (var p = 0; p < array.length; p++) {\r\n if (array[p].url == url) {\r\n contains = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!contains) {\r\n array.push(afbeeldingen[j]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { PhotoService } from '../../../../services/photo.service';\r\n\n@Component({\n selector: 'app-fab-product-info-photo-dialog',\n templateUrl: './fab-product-info-photo-dialog.component.html',\n styleUrls: ['./fab-product-info-photo-dialog.component.scss']\n})\nexport class FabProductInfoPhotoDialogComponent implements OnInit {\n\n constructor(public dialogRef: MatDialogRef<FabProductInfoPhotoDialogComponent>, public PhotoService: PhotoService) { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"image-container\">\n <div class=\"image-toolbar\">\n <div *ngIf=\"PhotoService.ShouldDisplayLeft()\" (click)=\"PhotoService.Left()\" class=\"arrow\">\n <mat-icon>arrow_back</mat-icon>\n </div>\n <div class=\"filler\">\n {{ PhotoService.GetSelectedDescription() }}\n </div>\n <div *ngIf=\"PhotoService.ShouldDisplayRight()\" (click)=\"PhotoService.Right()\" class=\"arrow\">\n <mat-icon>arrow_forward</mat-icon>\n </div>\n </div>\n\n <img class=\"image\" src=\"{{ PhotoService.GetSelectedPhoto() }}\" />\n</div>\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { PhotoService } from '../../../../services/photo.service';\r\nimport { FabProductInfoPhotoDialogComponent } from '../fab-product-info-photo-dialog/fab-product-info-photo-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-fab-product-info-photo',\r\n templateUrl: './fab-product-info-photo.component.html',\r\n styleUrls: ['./fab-product-info-photo.component.scss']\r\n})\r\nexport class FabProductInfoPhotoComponent implements OnInit {\r\n constructor(public PhotoService: PhotoService, public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Open(): void {\r\n const mdc = new MatDialogConfig();\r\n\r\n mdc.position = {\r\n 'top': '100px',\r\n };\r\n\r\n var dialogRef = this.dialog.open(FabProductInfoPhotoDialogComponent, mdc);\r\n }\r\n}\r\n","<div class=\"image-container\">\n <div class=\"image-toolbar\">\n <div *ngIf=\"PhotoService.ShouldDisplayLeft()\" (click)=\"PhotoService.Left()\" class=\"arrow\">\n <mat-icon>arrow_back</mat-icon>\n </div>\n <div class=\"filler\">\n {{ PhotoService.GetSelectedDescription() }}\n </div>\n <div *ngIf=\"PhotoService.ShouldDisplayRight()\" (click)=\"PhotoService.Right()\" class=\"arrow\">\n <mat-icon>arrow_forward</mat-icon>\n </div>\n </div>\n\n <img class=\"image\" src=\"{{ PhotoService.GetSelectedPhoto() }}\" (click)=\"Open()\" />\n</div>\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { FabrikantenService } from '../../../services/fabrikanten.service';\r\nimport { MobileService } from '../../../services/mobile.service';\r\nimport { TranslateService } from '../../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'app-fab-product-info',\r\n templateUrl: './fab-product-info.component.html',\r\n styleUrls: ['./fab-product-info.component.scss']\r\n})\r\nexport class FabProductInfoComponent implements OnInit {\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public TranslateService: TranslateService,\r\n private FabrikantenService: FabrikantenService) { }\r\n\r\n ngOnInit() {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\r\n\r\n public GetDescription(): string {\r\n var bcbproducts = this.FabrikantenService.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n if (bcbproducts[i].description != null)\r\n return this.TranslateService.GetActiveValueDescription(bcbproducts[i].id);\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n}\r\n","<div class=\"description-normal\" *ngIf=\"!MobileService.MobileInterface\">\n <div class=\"text\" [innerHTML]=\"GetDescription()\">\n\n </div>\n <div class=\"photo\">\n <app-fab-product-info-photo></app-fab-product-info-photo>\n </div>\n</div>\n\n<div class=\"mobile\" *ngIf=\"MobileService.MobileInterface\">\n <div class=\"photo\">\n <app-fab-product-info-photo></app-fab-product-info-photo>\n </div>\n <div class=\"text\" [innerHTML]=\"GetDescription()\">\n\n </div>\n</div>\n","import { Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\r\nimport { BestekService } from '../../../services/bestek.service';\r\nimport { FabrikantenService } from '../../../services/fabrikanten.service';\r\nimport { MobileService } from '../../../services/mobile.service';\r\nimport { TranslateService } from '../../../services/translate.service';\r\n\r\nimport {\r\n FabrikantenBCBProductViewModel\r\n} from '../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-fab-product-bestek',\r\n templateUrl: './fab-product-bestek.component.html',\r\n styleUrls: ['./fab-product-bestek.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FabProductBestekComponent implements OnInit {\r\n\r\n @ViewChild('fabProductBestek') fabProductBestek: ElementRef;\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public TranslateService: TranslateService,\r\n public BestekService: BestekService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public CopyToClipBoard(): void {\r\n this.BestekService.CopyToClipboard(this.fabProductBestek.nativeElement.innerText);\r\n }\r\n\r\n public DownloadBestek(): void {\r\n this.BestekService.DownloadBestek(this.fabProductBestek.nativeElement.innerText);\r\n }\r\n\r\n public OpenBCBLink(): void {\r\n this.FabrikantenService.OpenBCBLink(this.BestekService.FabrikantenBestekViewModel.wuid + \"\");\r\n }\r\n\r\n public Select(bcbproduct: FabrikantenBCBProductViewModel) {\r\n\r\n }\r\n\r\n public SelectedTabChange(event: MatButtonToggleChange) {\r\n this.BestekService.TypeBestek = event.value;\r\n }\r\n\r\n public ShowBestek(): boolean {\r\n if (!this.FabrikantenService.ShowVariants()) {\r\n if (this.BestekService.FabrikantenBestekViewModel != undefined) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public ShowSTABU(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.stabu != '' && this.BestekService.FabrikantenBestekViewModel?.stabu != undefined;\r\n }\r\n\r\n public ShowSUF(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.suf != '' && this.BestekService.FabrikantenBestekViewModel?.suf != undefined;\r\n }\r\n\r\n public ShowOSF(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.osfhtml != '' && this.BestekService.FabrikantenBestekViewModel?.osfhtml != undefined;\r\n }\r\n\r\n public ShowVrij(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.vrijBestekHTML != '' && this.BestekService.FabrikantenBestekViewModel?.vrijBestekHTML != undefined;\r\n }\r\n}\r\n","<div class=\"main-window\">\n <div *ngIf=\"FabrikantenService.ShowVariants()\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\n <div>\n <ul>\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\n {{ bcbproduct.name }}\n </li>\n </ul>\n </div>\n </div>\n <app-fab-loader *ngIf=\"BestekService.Loading\"></app-fab-loader>\n <div *ngIf=\"ShowBestek()\">\n <div *ngIf=\"!BestekService.Loading\">\n <div [ngClass]=\"{ 'toolbar': !MobileService.MobileInterface, 'toolbar-mobile': MobileService.MobileInterface }\">\n <div class=\"toolbar-actions\">\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"CopyToClipBoard()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">content_copy</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Clipboard\") }}\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"DownloadBestek()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Download\") }}\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">open_in_new</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\n </div>\n </div>\n </button>\n </div>\n <div class=\"bestek-type-select\" [ngClass]=\"{ 'bestek-type-select-mobile': MobileService.MobileInterface }\">\n <mat-button-toggle-group [value]=\"BestekService.TypeBestek\" (change)=\"SelectedTabChange($event)\" appearance=\"legacy\">\n <mat-button-toggle *ngIf=\"ShowSTABU()\" value=\"STABU\">{{ TranslateService.GetActiveValue(\"Common\", \"STABU\") }}</mat-button-toggle>\n <mat-button-toggle *ngIf=\"ShowOSF()\" value=\"OSF\">{{ TranslateService.GetActiveValue(\"Common\", \"OSF\") }}</mat-button-toggle>\n <mat-button-toggle *ngIf=\"ShowVrij()\" value=\"Vrij\">{{ TranslateService.GetActiveValue(\"Common\", \"Specification text\") }}</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n <div class=\"bestek-viewer\" #fabProductBestek [innerHTML]=\"BestekService.GetBestekTekst()\">\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectorRef, Component, HostListener, Input, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenCategoryViewModel } from '../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-fab-breadcrumb',\n templateUrl: './fab-breadcrumb.component.html',\n styleUrls: ['./fab-breadcrumb.component.scss']\n})\nexport class FabBreadcrumbComponent implements OnInit {\n\n @Input() showfiltermenubutton: boolean;\n\n constructor(\n public MobileService: MobileService,\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\n\n public Back(): void {\n if (this.FabrikantenService.FabrikantenViewModel.selectedProduct != null) {\n this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);\r\n }\n else {\n var array = this.GetSteps();\n if (array.length > 0) {\n this.UndoStep(array[array.length - 1]);\r\n }\r\n }\r\n }\n\n public UndoStep(category: FabrikantenCategoryViewModel): void {\n this.FabrikantenService.ResetSelectionCategory(category, this.ChangeDetectorRef);\r\n }\n\n public ShowBack(): boolean {\n var array = this.FabrikantenService.FabrikantenViewModel?.categoryLayers;\n\n if (array != null) {\n if (array.length > 0) {\r\n if (array[0].selectedOption == 0) {\r\n return false;\r\n }\r\n }\r\n }\n\n return true;\r\n }\n\n public GetSteps(): Array<FabrikantenCategoryViewModel> {\n var returnarray = new Array<FabrikantenCategoryViewModel>();\n\n var array = this.FabrikantenService.FabrikantenViewModel?.categoryLayers;\n\n if (array != null) {\n for (var i = 0; i < array.length; i++) {\r\n if (array[i].selectedOption != 0) {\r\n var options = array[i].categories;\r\n\r\n if (options != null) {\r\n for (var j = 0; j < options.length; j++) {\r\n if (options[j].id === array[i].selectedOption) {\r\n returnarray.push(options[j]);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\n\n return returnarray;\r\n }\n\n}\n","<div class=\"header\" *ngIf=\"ShowBack()\">\n <div>\n <button class=\"buttonsize\" mat-stroked-button (click)=\"Back()\">\n <div class=\"header\">\n <div class=\"header-back\">\n <mat-icon class=\"icon\">arrow_back</mat-icon>\n </div>\n <div class=\"header-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Back\") }}\n </div>\n </div>\n </button>\n </div>\n <ng-container *ngIf=\"!MobileService.MobileInterface\">\n <ng-container *ngFor=\"let step of GetSteps()\">\n <div class=\"stepicon\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n <div class=\"step\" (click)=\"UndoStep(step)\">\n {{ TranslateService.GetActiveValueCategory(step.id) }}\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"this.FabrikantenService.FabrikantenViewModel?.selectedProduct != null\">\n <div class=\"stepicon\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n <div class=\"step\" (click)=\"Back()\">\n <span *ngIf=\"GetSteps().length == 0\">Productconfiguratie: </span>{{ TranslateService.GetActiveValueProduct(FabrikantenService.FabrikantenViewModel?.selectedProduct?.id) }}\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"MobileService.MobileInterface && showfiltermenubutton\">\n <button class=\"open-filters-button buttonsize\" mat-stroked-button (click)=\"MobileService.OpenNav()\">\n <div class=\"header\">\n <div class=\"header-back\">\n <mat-icon class=\"icon\">menu</mat-icon>\n </div>\n <div class=\"header-title\">\n Filtermenu\n </div>\n </div>\n </button>\n </ng-container>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'fab-flag',\n templateUrl: './fab-flag.component.html',\n styleUrls: ['./fab-flag.component.scss']\n})\nexport class FabFlagComponent implements OnInit {\n\n @Input() country: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<span class=\"fi fi-{{ country }}\"></span>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { TranslateService } from '../../services/translate.service';\r\nimport { LanguageViewModel } from '../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-fab-language-select',\n templateUrl: './fab-language-select.component.html',\n styleUrls: ['./fab-language-select.component.scss']\n})\nexport class FabLanguageSelectComponent implements OnInit {\n\n constructor(public TranslateService: TranslateService, private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n public SelectLanguage(language: LanguageViewModel) {\n this.TranslateService.SelectLanguage(language, this.ChangeDetectorRef);\r\n }\n}\n","<div class=\"row\" *ngIf=\"!TranslateService.Loading\">\n <div class=\"item\" (click)=\"SelectLanguage(language)\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\n <fab-flag [country]=\"language.flag\"></fab-flag>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fab-header',\n templateUrl: './fab-header.component.html',\n styleUrls: ['./fab-header.component.scss']\n})\nexport class FabHeaderComponent implements OnInit {\n\n @Input() showfiltermenubutton: boolean;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"header-row\">\r\n <app-fab-breadcrumb [showfiltermenubutton]=\"showfiltermenubutton\"></app-fab-breadcrumb>\r\n <app-fab-language-select></app-fab-language-select>\r\n</div>\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, DoCheck, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { WebGLService } from '../../services/webgl.service';\r\nimport { FabrikantenApiClient, FabrikantenFileRequestModel, FabrikantenFileViewModel } from '../../swagger/SwaggerClient';\r\n\ndeclare var ModuleViewer3DLight: any;\n\n@Component({\n selector: 'app-fab-webgl-viewer',\n templateUrl: './fab-webgl-viewer.component.html',\n styleUrls: ['./fab-webgl-viewer.component.scss']\n})\nexport class FabWebglViewerComponent implements OnInit, AfterViewInit, DoCheck {\n\n public viewerInitialised: boolean = false;\n private timeoutId: any;\n\n @ViewChild('header') header: ElementRef;\n @ViewChild('viewercontainer') viewercontainer: ElementRef;\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public WebGLService: WebGLService,\n public TranslateService: TranslateService,\n public MobileService: MobileService,\n private ChangeDetectorRef: ChangeDetectorRef\n ) {\n this.WebGLService.FabWebglViewerComponent = this;\n\n this.RefreshViewerSize();\n }\n\n ngOnInit(): void {\n this.RefreshViewerSize();\n }\n\n ngAfterViewInit(): void {\n this.RefreshViewerSize();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\n\n ngDoCheck(): void {\n this.RefreshViewerSize();\r\n }\n\n public OpenBCBLink(): void {\r\n this.FabrikantenService.OpenBCBLink(this.WebGLService.Fabrikanten3DViewModel.wuid + \"\");\r\n }\n\n public ShowWebGL(): boolean {\r\n if (!this.FabrikantenService.ShowVariants()) {\r\n if (this.WebGLService.Fabrikanten3DViewModel != undefined) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\n\n public RefreshViewer(): void {\r\n if (!this.WebGLService.Loading && this.WebGLService.Fabrikanten3DViewModel != null) {\r\n var viewer = ModuleViewer3DLight.get(\"viewerCanvas\");\r\n\r\n if (viewer != null) {\r\n if (this.viewerInitialised) {\r\n var belichting = viewer.belichting;\r\n belichting.toonSlagschaduw = true;\r\n belichting.slagschaduwVerzadiging = 0.5;\r\n belichting.lichtbronSterkte = 0.4;\r\n belichting.lichtSchittering = 0.333;\r\n belichting.isCameraLicht = false;\r\n belichting.omgevinglichtSterkte = 0.8;\r\n belichting.lichtval = [-1.0, 0.5, -1.2];\r\n viewer.orthografischeProjectie = false;\r\n viewer.kijkrichting = [0.56777614549287847, 0.69328989820855813, -0.44382357491599833];\r\n\r\n this.viewerInitialised = true;\r\n }\r\n\r\n viewer.clear();\r\n viewer.add(this.WebGLService.Fabrikanten3DViewModel.webGLJSON, function () {\r\n viewer.zetZoomGeheel();\r\n viewer.toonModel();\r\n });\r\n }\r\n\r\n console.log(\"refresh viewer\");\r\n }\r\n }\n\n public GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\n\n private RefreshViewerSize(): void {\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n\r\n if (this.viewercontainer != undefined) {\r\n\r\n var width = this.viewercontainer.nativeElement.offsetWidth - 6;\r\n var height = this.viewercontainer.nativeElement.offsetHeight - 6;\r\n\r\n if (this.WebGLService.ViewerWidth != width || this.WebGLService.ViewerHeight != height) {\r\n clearTimeout(this.timeoutId);\r\n\r\n this.WebGLService.ViewerWidth = width;\r\n this.WebGLService.ViewerHeight = height;\r\n this.ChangeDetectorRef.detectChanges();\r\n\r\n console.log(\"width:\" + width + \" height: \" + height);\r\n\r\n this.timeoutId = setTimeout(() => {\r\n this.RefreshViewer();\r\n }, 300);\r\n }\r\n }\r\n }\n}\n","<div class=\"loader\" *ngIf=\"WebGLService.Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div class=\"main-window\">\n <div *ngIf=\"FabrikantenService.ShowVariants()\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\n <div>\n <ul>\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\n {{ bcbproduct.name }}\n </li>\n </ul>\n </div>\n </div>\n <div *ngIf=\"ShowWebGL()\" class=\"main-window\">\n <div #header [ngClass]=\"{ 'toolbar': !MobileService.MobileInterface, 'toolbar-mobile': MobileService.MobileInterface }\">\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"WebGLService.HasNativeRFA()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\n </div>\n </div>\n </button>\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit (plugin)\") }}</span>\n </div>\n </div>\n </button>-->\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D Dxf\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">open_in_new</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\n </div>\n </div>\n </button>\n </div>\n\n <div #viewercontainer class=\"viewer-container\" [style.height]=\"GetHeight()\">\n <canvas id=\"viewerCanvas\" class=\"viewer-canvas\" [attr.width]=\"WebGLService.ViewerWidth\" [attr.height]=\"WebGLService.ViewerHeight\"></canvas>\n </div>\n </div>\n</div>\n\n\n","import { AfterViewInit, ChangeDetectorRef, Component, DoCheck, ElementRef, OnChanges, OnInit, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { SVGService } from '../../services/svg.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'app-fab-svg-viewer',\n templateUrl: './fab-svg-viewer.component.html',\n styleUrls: ['./fab-svg-viewer.component.scss']\n})\nexport class FabSvgViewerComponent implements OnInit, AfterViewInit, DoCheck {\n\n @ViewChild('header') header: ElementRef;\n @ViewChild('svgcontainer') svgcontainer: ElementRef;\n\n private timeoutId: any;\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public SVGService: SVGService,\n public TranslateService: TranslateService,\n private sanitization: DomSanitizer,\n public MobileService: MobileService,\n private ChangeDetectorRef: ChangeDetectorRef) {\n this.UpdateSize();\n }\n\n ngOnInit(): void {\n this.UpdateSize();\n }\n\n ngAfterViewInit(): void {\n this.UpdateSize();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\n\n ngDoCheck(): void {\n this.UpdateSize();\r\n }\n\n public ShowSVG(): boolean {\r\n if (!this.FabrikantenService.ShowVariants()) {\r\n if (this.SVGService.FabrikantenSVGViewModel != undefined) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\n\n public GetSafeURL(): SafeResourceUrl {\r\n return this.sanitization.bypassSecurityTrustResourceUrl(this.SVGService.FabrikantenSVGViewModel.svg + \"\");\r\n }\n\n public OpenBCBLink(): void {\r\n this.FabrikantenService.OpenBCBLink(this.SVGService.FabrikantenSVGViewModel.wuid + \"\");\r\n }\n\n public UpdateSize(): void {\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n\r\n if (this.svgcontainer != undefined) {\r\n\r\n var width = this.svgcontainer.nativeElement.offsetWidth - 6;\r\n var height = this.svgcontainer.nativeElement.offsetHeight - 6;\r\n\r\n if (this.SVGService.ViewerWidth != width || this.SVGService.ViewerHeight != height) {\r\n clearTimeout(this.timeoutId);\r\n\r\n this.timeoutId = setTimeout(() => {\r\n this.SVGService.UpdateViewerSize(width, height, this.ChangeDetectorRef);\r\n }, 300);\r\n }\r\n }\r\n }\n\n public GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\n}\n","<div class=\"loader\" *ngIf=\"SVGService.Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div class=\"main-window\">\n <div *ngIf=\"FabrikantenService.ShowVariants()\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\n <div>\n <ul>\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\n {{ bcbproduct.name }}\n </li>\n </ul>\n </div>\n </div>\n \n <div class=\"main-window\" *ngIf=\"ShowSVG()\">\n <div #header [ngClass]=\"{ 'toolbar': !MobileService.MobileInterface, 'toolbar-mobile': MobileService.MobileInterface }\">\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"SVGService.HasNativeRFA()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" (click)=\"FabrikantenService.Download2DAutoCADDwg()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D AutoCAD Dwg\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" (click)=\"FabrikantenService.Download2DDxf()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D Dxf\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">open_in_new</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\n </div>\n </div>\n </button>\n </div>\n\n <div #svgcontainer class=\"svg-container\" [style.height]=\"GetHeight()\">\n <object class=\"svg-object\" *ngIf=\"ShowSVG()\" type=\"image/svg+xml\" [attr.data]=\"GetSafeURL()\"></object>\n </div>\n </div>\n</div>\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatTabChangeEvent } from '@angular/material/tabs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BestekService } from '../../services/bestek.service';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'app-fab-product',\r\n templateUrl: './fab-product.component.html',\r\n styleUrls: ['./fab-product.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FabProductComponent implements OnInit, AfterViewInit {\r\n\r\n public Height: string = \"100%\";\r\n\r\n @ViewChild('header') header: ElementRef;\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public BestekService: BestekService,\r\n public TranslateService: TranslateService,\r\n private ActivatedRoute: ActivatedRoute,\r\n private ChangeDetectorRef: ChangeDetectorRef\r\n ) {\r\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.Height = this.GetHeight();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\r\n\r\n public Back(): void {\r\n this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);\r\n }\r\n\r\n public SelectedTabChange(event: MatTabChangeEvent) {\r\n this.FabrikantenService.TabSelectionChanged(event.tab.textLabel, this.ChangeDetectorRef);\r\n }\r\n\r\n private GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\r\n}\r\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *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 #header>\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenProductViewModel } from '../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-fab-product-tile',\r\n templateUrl: './fab-product-tile.component.html',\r\n styleUrls: ['./fab-product-tile.component.scss']\r\n})\r\nexport class FabProductTileComponent implements OnInit {\r\n\r\n @Input() product: FabrikantenProductViewModel;\r\n\r\n constructor(\r\n public FabrikantenService: FabrikantenService,\r\n public TranslateService: TranslateService,\r\n private sanitization: DomSanitizer,\r\n private ChangeDetectorRef: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Select(): void {\r\n this.FabrikantenService.SelectProduct(this.product, this.ChangeDetectorRef);\r\n }\r\n\r\n public GetPhoto(): string {\r\n var bcbproducts = this.product?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n var afbeeldingen = bcbproducts[i].bcbProductAfbeeldingen;\r\n\r\n if (afbeeldingen != null)\r\n for (var j = 0; j < afbeeldingen.length; j++) {\r\n if (afbeeldingen[j].url != null) {\r\n var url = this.FabrikantenService.FabrikantenViewModel?.bcbWebserviceURLBase + (afbeeldingen[j].url as string);\r\n\r\n return url;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public getSafeUrl() {\r\n return this.sanitization.bypassSecurityTrustStyle('url(\\'' + this.GetPhoto() + '\\')');\r\n }\r\n\r\n}\r\n","<mat-card class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\r\n <mat-card-title class=\"title\">\r\n {{ TranslateService.GetActiveValueProduct(product.id) }}\r\n </mat-card-title>\r\n</mat-card>\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BestekService } from '../../services/bestek.service';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'app-fab-product-select',\r\n templateUrl: './fab-product-select.component.html',\r\n styleUrls: ['./fab-product-select.component.scss']\r\n})\r\nexport class FabProductSelectComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('header') header: ElementRef;\r\n @ViewChild('info') info: ElementRef;\r\n\r\n public Height: string = \"100%\";\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public BestekService: BestekService,\r\n public TranslateService: TranslateService,\r\n private ActivatedRoute: ActivatedRoute,\r\n private ChangeDetectorRef: ChangeDetectorRef\r\n ) {\r\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\r\n\r\n this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.Height = this.GetHeight();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\r\n\r\n public GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n if (this.info != undefined) {\r\n height += this.info.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\r\n}\r\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *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 #header>\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div #info class=\"header\">\r\n <div class=\"title\">\r\n <h1>{{ TranslateService.GetActiveValue(\"Common\", \"Product selection\") }}</h1>\r\n </div>\r\n <div class=\"subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Product selection info\") }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-window\" [style.height]=\"Height\">\r\n <app-fab-product-tile *ngFor=\"let product of FabrikantenService.FabrikantenViewModel.products\" [product]=\"product\"></app-fab-product-tile>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\n\n@Component({\n selector: 'fab-filters-overview',\n templateUrl: './fab-filters-overview.component.html',\n styleUrls: ['./fab-filters-overview.component.scss']\n})\nexport class FabFiltersOverviewComponent implements OnInit {\n\n constructor(public FabrikantenService: FabrikantenService) { }\n\n ngOnInit(): void {\n }\n\n public ShowProductSelect(): boolean {\n if (this.FabrikantenService.FabrikantenViewModel?.selectedProduct != undefined) {\n return false;\n }\n\n return true;\n }\n\n public ShowProduct(): boolean {\n if (this.FabrikantenService.FabrikantenViewModel?.selectedProduct != undefined) {\n return true;\n }\n\n return false;\n }\n\n}\n","<div>\r\n <app-fab-product-select *ngIf=\"ShowProductSelect()\"></app-fab-product-select>\r\n <app-fab-product *ngIf=\"ShowProduct()\"></app-fab-product>\r\n</div>\r\n","import { ChangeDetectorRef, Component, HostListener, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BestekService } from '../../services/bestek.service';\r\n\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'fab-filters',\r\n templateUrl: './fab-filters.component.html',\r\n styleUrls: ['./fab-filters.component.scss']\r\n})\r\n\r\nexport class FabFiltersComponent {\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public BestekService: BestekService,\r\n public TranslateService: TranslateService,\r\n private ActivatedRoute: ActivatedRoute,\r\n private ChangeDetectorRef: ChangeDetectorRef) {\r\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\r\n }\r\n\r\n ngOnInit() {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\r\n\r\n public IsLoading(): boolean {\r\n return this.FabrikantenService.Loading || this.TranslateService.Loading;\r\n }\r\n}\r\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *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","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport { ProjectSettingApiClient, ProjectSettingsViewModel, ProjectSettingPipelineStepViewModel, ProjectSettingViewModel, SetProjectSettingRequestModel, SetProjectSettingResponseModel } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProjectSettingService {\r\n\r\n private Init: boolean = false;\r\n\r\n public Loading: boolean = true;\r\n public ProjectSettingsViewModel: ProjectSettingsViewModel;\r\n\r\n public ChangeDetectorRef: ChangeDetectorRef | null = null;\r\n \r\n constructor(private projectSettingApiClient: ProjectSettingApiClient) {\r\n //this.LoadProjectSettings();\r\n }\r\n \r\n public Save(projectsetting: ProjectSettingViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = projectsetting.defaultValue;\r\n request.pipelineStep = \"Default\";\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public SavePipelineStep(projectsetting: ProjectSettingViewModel, projectsettingpipe: ProjectSettingPipelineStepViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = projectsettingpipe.value;\r\n request.pipelineStep = projectsettingpipe.pipelineStep;\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public Reset(projectsetting: ProjectSettingViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = \"\";\r\n request.pipelineStep = \"Default\";\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public ResetPipelineStep(projectsetting: ProjectSettingViewModel, projectsettingpipe: ProjectSettingPipelineStepViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = \"\";\r\n request.pipelineStep = projectsettingpipe.pipelineStep;\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public LoadProjectSettings(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (!this.Init) {\r\n this.Init = true;\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n this.projectSettingApiClient.getProjectSettingsViewModel().subscribe((model: ProjectSettingsViewModel) => {\r\n this.ProjectSettingsViewModel = model;\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n private DetectChanges(): void {\r\n if (this.ChangeDetectorRef != null) {\r\n this.ChangeDetectorRef.detectChanges();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport { ProductsApiClient, ProductsViewModel, ResetImportRequestModel, BCBProductViewModel, SaveProductViewModel, BCBImportSetsViewModel, ImportApiClient, ProductViewModel } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProductsService {\r\n\r\n private LoadingProducts: boolean = true;\r\n\r\n public ProductsViewModel: ProductsViewModel;\r\n\r\n public BCBProductViewModel?: BCBProductViewModel = undefined;\r\n public ProductViewModel?: ProductViewModel = undefined;\r\n\r\n public ProductSelected: number;\r\n public BCBProductSelected: number;\r\n\r\n constructor(private ProductsApiClient: ProductsApiClient) {\r\n }\r\n\r\n public Loading(): boolean {\r\n return this.LoadingProducts;\r\n }\r\n\r\n public GetBCBProductsSelected(): Array<BCBProductViewModel> {\r\n var arraytemp = this.ProductsViewModel?.productViewModels;\r\n\r\n if (this.ProductSelected != null && arraytemp != null) {\r\n for (var i = 0; i < arraytemp.length; i++) {\r\n if (arraytemp[i].id == this.ProductSelected) {\r\n var arraytemp2 = arraytemp[i].bcbProductViewModels;\r\n if (arraytemp2 != null) {\r\n return arraytemp2;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return new Array<BCBProductViewModel>();\r\n }\r\n\r\n public Reload(): void {\r\n this.LoadProducts();\r\n }\r\n\r\n public SaveProductViewModel(product: ProductViewModel) {\r\n var model = new SaveProductViewModel();\r\n model.id = product.id;\r\n model.name = product.name;\r\n model.position = product.position;\r\n model.importSetId = parseInt(product.importSetId.toString());\r\n\r\n this.LoadingProducts = true;\r\n\r\n this.ProductsApiClient.saveProduct(model).subscribe(() => {\r\n this.LoadProducts();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingProducts = false;\r\n });\r\n }\r\n\r\n public ResetImport(productid: number, bcbproductid: number) {\r\n var model = new ResetImportRequestModel();\r\n model.productId = productid;\r\n model.bcbProductId = bcbproductid;\r\n\r\n this.LoadingProducts = true;\r\n\r\n this.ProductsApiClient.resetImport(model).subscribe(() => {\r\n this.LoadProducts();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingProducts = false;\r\n });\r\n }\r\n\r\n private LoadProducts(): void {\r\n this.LoadingProducts = true;\r\n\r\n this.ProductsApiClient.getProductsViewModel().subscribe((model: ProductsViewModel) => {\r\n this.ProductsViewModel = model;\r\n\r\n var array = this.ProductsViewModel.productViewModels;\r\n\r\n if (array != null) {\r\n if (array.length > 0) {\r\n this.ProductSelected = array[0].id;\r\n\r\n var array2 = array[0].bcbProductViewModels;\r\n\r\n if (array2 != null && array2.length > 0) {\r\n this.BCBProductSelected = array2[0].id;\r\n }\r\n }\r\n\r\n if (this.BCBProductViewModel != undefined || this.ProductViewModel != undefined) {\r\n for (var i = 0; i < array.length; i++) {\r\n var arrayinner = array[i].bcbProductViewModels;\r\n\r\n if (this.ProductViewModel != undefined) {\r\n if (array[i].id == this.ProductViewModel.id) {\r\n this.ProductViewModel = array[i];\r\n }\r\n }\r\n\r\n if (this.BCBProductViewModel != undefined) {\r\n if (arrayinner != null) {\r\n for (var j = 0; j < arrayinner.length; j++) {\r\n if (arrayinner[j].id == this.BCBProductViewModel.id) {\r\n this.BCBProductViewModel = arrayinner[j];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.LoadingProducts = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingProducts = false;\r\n });\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport { BCBImportEigenschap, BCBImportOpenRequest, BCBImportOpenResponse, BCBImportSetsViewModel, BCBImportSetViewModel, ChangeImportSetRequest, ImportApiClient } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ImportSetsService {\r\n public LoadingImportSets: boolean = true;\r\n public LoadingOpen: boolean = false;\r\n\r\n public BCBImportSetsViewModel: BCBImportSetsViewModel;\r\n public BCBImportOpenResponse: BCBImportOpenResponse;\r\n\r\n public BCBImportSetSelected: number;\r\n\r\n constructor(private ImportApiClient: ImportApiClient) {\r\n this.LoadImportSets();\r\n }\r\n\r\n public ChangeImportSetValue(value: string, enabled: boolean): void {\r\n this.LoadingImportSets = true;\r\n\r\n var model = new ChangeImportSetRequest();\r\n\r\n model.importSetId = this.BCBImportSetSelected;\r\n model.value = value;\r\n model.enabled = enabled;\r\n\r\n this.ImportApiClient.changeImportSet(model).subscribe(() => {\r\n this.LoadImportSets();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingImportSets = false;\r\n });\r\n }\r\n\r\n public Open(id: number): void {\r\n this.LoadingOpen = true;\r\n var request = new BCBImportOpenRequest();\r\n\r\n request.bcbeboId = id;\r\n\r\n this.ImportApiClient.openBCBProduct(request).subscribe((model: BCBImportOpenResponse) => {\r\n this.BCBImportOpenResponse = model;\r\n this.RefreshBCBImportOpenResponse();\r\n this.LoadingOpen = false;\r\n });\r\n }\r\n\r\n public GetActiveImportSet(): BCBImportSetViewModel {\r\n var array = this.BCBImportSetsViewModel?.bcbImportSetViewModels;\r\n if (array != null) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (array[i].id == this.BCBImportSetSelected) {\r\n return array[i];\r\n }\r\n }\r\n }\r\n\r\n return new BCBImportSetViewModel();\r\n }\r\n\r\n private LoadImportSets(): void {\r\n this.LoadingImportSets = true;\r\n\r\n this.ImportApiClient.getBCBImportSetsViewModel().subscribe((model: BCBImportSetsViewModel) => {\r\n this.BCBImportSetsViewModel = model;\r\n if (this.BCBImportSetsViewModel?.bcbImportSetViewModels != null) {\r\n this.BCBImportSetSelected = this.BCBImportSetsViewModel.bcbImportSetViewModels[0].id;\r\n }\r\n this.RefreshBCBImportOpenResponse();\r\n this.LoadingImportSets = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingImportSets = false;\r\n });\r\n }\r\n\r\n private RefreshBCBImportOpenResponse(): void {\r\n var arrayeigenschappen = this.BCBImportOpenResponse?.bcbImportEigenschappen;\r\n if (arrayeigenschappen != null) {\r\n for (var i = 0; i < arrayeigenschappen.length; i++) {\r\n arrayeigenschappen[i].selected = this.IsValueInSelectedImportSet(arrayeigenschappen[i].name + \"\");\r\n }\r\n }\r\n\r\n var arrayopbouw = this.BCBImportOpenResponse?.bcbImportOpbouwen;\r\n if (arrayopbouw != null) {\r\n for (var i = 0; i < arrayopbouw.length; i++) {\r\n arrayopbouw[i].selected = this.IsValueInSelectedImportSet(arrayopbouw[i].name + \"\");\r\n }\r\n }\r\n }\r\n\r\n private IsValueInSelectedImportSet(value: string): boolean {\r\n var importset = this.GetActiveImportSet()?.bcbImportSetValueViewModels;\r\n\r\n if (importset != null) {\r\n for (var i = 0; i < importset.length; i++) {\r\n if ((importset[i].value + \"\").toLowerCase() == value.toLowerCase()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-beheer-users',\n templateUrl: './beheer-users.component.html',\n styleUrls: ['./beheer-users.component.scss']\n})\nexport class BeheerUsersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ProductsService } from '../../../../services/products.service';\r\nimport { ProductViewModel } from '../../../../swagger/SwaggerClient';\n\n@Component({\n selector: 'app-beheer-products-product',\n templateUrl: './beheer-products-product.component.html',\n styleUrls: ['./beheer-products-product.component.scss']\n})\nexport class BeheerProductsProductComponent implements OnInit {\n\n @Input() ProductViewModel: ProductViewModel;\n\n constructor(public ProductsService: ProductsService) { }\n\n public ResetImport(): void {\n this.ProductsService.ResetImport(this.ProductViewModel.id, -1);\r\n }\n\n ngOnInit(): void {\n }\n\n}\n","<mat-card>\r\n <div class=\"product-bar\">\r\n <div class=\"product-first block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"ProductViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Opslaan\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Verwijderen\r\n </button>\r\n </div>\r\n </div>\r\n</mat-card>\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CategoriesApiClient, CategoriesViewModel, CreateCategoryRequest, CreateCategoryResponse } from '../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-connect-category-dialog',\n templateUrl: './beheer-connect-category-dialog.component.html',\n styleUrls: ['./beheer-connect-category-dialog.component.scss']\n})\nexport class BeheerConnectCategoryDialogComponent implements OnInit {\n\n public Loading: boolean = true;\n\n public DOType: string = \"DOType\";\n public DONaam: string = \"DONaam\";\n\n public CategoryName: string = \"\";\n\n public CategorySelected: number;\n\n public CategoriesViewModel: CategoriesViewModel;\n\n constructor(public dialogRef: MatDialogRef<BeheerConnectCategoryDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any, private CategoriesApiClient: CategoriesApiClient) {\n this.DOType = data.dotype;\n this.DONaam = data.donaam;\n\n this.CategoryName = data.donaam;\n }\n\n ngOnInit(): void {\n this.LoadCategories();\n }\n\n public Nieuw(): void {\n this.Loading = true;\r\n\r\n var requestcategory: CreateCategoryRequest = new CreateCategoryRequest();\r\n\r\n requestcategory.name = this.CategoryName;\r\n\r\n this.CategoriesApiClient.createCategory(requestcategory).subscribe((model: CreateCategoryResponse) => {\r\n\r\n this.Loading = false;\r\n\r\n this.dialogRef.close(model.id);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n\n public Bestaand(): void {\n this.dialogRef.close(this.CategorySelected);\r\n }\n\n private LoadCategories(): void {\r\n this.Loading = true;\r\n\r\n this.CategoriesApiClient.getCategoriesViewModel().subscribe((model: CategoriesViewModel) => {\r\n this.CategoriesViewModel = model;\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { FiltersApiClient, FiltersViewModel, FilterOptionViewModel, CreateFilterOptionRequest, CreateFilterOptionResponse, CreateFilterRequest, CreateFilterResponse } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-products-koppel-filteroption-dailog',\n templateUrl: './beheer-products-koppel-filteroption-dailog.component.html',\n styleUrls: ['./beheer-products-koppel-filteroption-dailog.component.scss']\n})\nexport class BeheerProductsKoppelFilteroptionDailogComponent implements OnInit {\n\n public FiltersViewModel: FiltersViewModel;\n\n public FilterNaamNieuw: string = \"\";\n public FilterOptionNaamNieuw: string = \"\";\n\n public Loading: boolean = true;\n public FilterSelected: number;\n public FilterOptionSelected: number;\n\n constructor(public dialogRef: MatDialogRef<BeheerProductsKoppelFilteroptionDailogComponent>, private FiltersApiClient: FiltersApiClient) {\n\n }\n\n ngOnInit(): void {\r\n this.LoadFilters();\r\n }\r\n\r\n public handleKeyUpFilter(e: any) {\r\n if (e.keyCode === 13) {\r\n this.NieuwFilterToevoegen();\r\n }\r\n }\r\n\r\n public handleKeyUpFilterOption(e: any) {\r\n if (e.keyCode === 13) {\r\n this.NieuwFilterOptionToevoegen();\r\n }\r\n }\r\n\n public NieuwFilterToevoegen(): void {\n this.Loading = true;\r\n\r\n var requestfilter: CreateFilterRequest = new CreateFilterRequest();\r\n\r\n requestfilter.name = this.FilterNaamNieuw;\r\n\r\n this.FiltersApiClient.createFilter(requestfilter).subscribe((model: CreateFilterResponse) => {\r\n this.Loading = false;\r\n\r\n var requestfilteroption = new CreateFilterOptionRequest();\r\n\r\n requestfilteroption.filterId = model.id;\r\n requestfilteroption.name = this.FilterOptionNaamNieuw;\r\n\r\n this.FiltersApiClient.createFilterOption(requestfilteroption).subscribe((model: CreateFilterOptionResponse) => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close({ filter: null, filteroption: model.id });\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n\n public NieuwFilterOptionToevoegen(): void {\n this.Loading = true;\r\n\r\n var requestfilteroption = new CreateFilterOptionRequest();\r\n\r\n requestfilteroption.filterId = this.FilterSelected;\r\n requestfilteroption.name = this.FilterOptionNaamNieuw;\r\n\r\n this.FiltersApiClient.createFilterOption(requestfilteroption).subscribe((model: CreateFilterOptionResponse) => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close({ filter: null, filteroption: model.id });\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n\n public BestaandToevoegen(): void {\n this.dialogRef.close({ filter: null, filteroption: this.FilterOptionSelected });\r\n }\n\n public GetSelectedFiltersOptions(): Array<FilterOptionViewModel> {\n var array = new Array<FilterOptionViewModel>();\r\n\r\n var temparray = this.FiltersViewModel?.filterViewModels;\r\n\r\n if (temparray != null) {\r\n for (var i = 0; i < temparray.length; i++) {\r\n if (temparray[i].id == this.FilterSelected) {\r\n return temparray[i].filterOptionViewModels as Array<FilterOptionViewModel>;\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\n\n public KoppelManyName(): void {\n this.dialogRef.close({ filter: this.FilterSelected, filteroption: null });\r\n }\n\n private LoadFilters(): void {\r\n this.Loading = true;\r\n\r\n this.FiltersApiClient.getFiltersViewModel().subscribe((model: FiltersViewModel) => {\r\n this.FiltersViewModel = model;\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuwe filter\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <input matInput [(ngModel)]=\"FilterNaamNieuw\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilter($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Nieuwe optie\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilterOption($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterOptionToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <mat-select [(ngModel)]=\"FilterOptionSelected\">\r\n <mat-option *ngFor=\"let filteroption of GetSelectedFiltersOptions()\" [value]=\"filteroption.id\">\r\n {{filteroption.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Many Name\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"KoppelManyName()\">Koppel</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ProductsService } from '../../../../services/products.service';\r\nimport { BCBProductEigenschapViewModel, ProductsApiClient, ConnectBCBEigenschapOptieCategoryRequest, KoppelManyNameRequest, KoppelManyNameResponse, KoppelEigenschapOptieRequest, KoppelEigenschapOptieResponse } from '../../../../swagger/SwaggerClient';\r\nimport { BeheerConnectCategoryDialogComponent } from '../../beheer-connect-category-dialog/beheer-connect-category-dialog.component';\r\nimport { BeheerProductsKoppelFilteroptionDailogComponent } from './../beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-products-eigenschap',\r\n templateUrl: './beheer-products-eigenschap.component.html',\r\n styleUrls: ['./beheer-products-eigenschap.component.scss']\r\n})\r\nexport class BeheerProductsEigenschapComponent implements OnInit {\r\n\r\n @Input() eigenschap: BCBProductEigenschapViewModel;\r\n\r\n constructor(public ProductsService: ProductsService, public dialog: MatDialog, private ProductsApiClient: ProductsApiClient) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Toggle(): void {\r\n this.eigenschap.open = !this.eigenschap.open;\r\n }\r\n\r\n public Connect(id: number): void {\r\n var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null) {\r\n if (result.filteroption != null && result.filteroption > 0) {\r\n var request = new KoppelEigenschapOptieRequest();\r\n\r\n request.bcbProductEigenschapOptieId = id;\r\n request.filterOptionId = result.filteroption;\r\n\r\n this.ProductsApiClient.connectBCBEigenschapOptieFilterOption(request).subscribe((model: KoppelEigenschapOptieResponse) => {\r\n this.ProductsService.Reload();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n else if (result.filter != null) {\r\n var request2 = new KoppelManyNameRequest();\r\n\r\n request2.bcbProductEigenschapOptieId = id;\r\n request2.filterId = result.filter;\r\n\r\n this.ProductsApiClient.koppelManyName(request2).subscribe((model: KoppelManyNameResponse) => {\r\n this.ProductsService.Reload();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public ConnectCategory(id: number, dotype: string, donaam: string): void {\r\n var dialogRef = this.dialog.open(BeheerConnectCategoryDialogComponent, {\r\n data: {\r\n dotype: dotype,\r\n donaam: donaam\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null && result > 0) {\r\n var request = new ConnectBCBEigenschapOptieCategoryRequest();\r\n\r\n request.bcbProductEigenschapOptieId = id;\r\n request.categoryId = result;\r\n\r\n this.ProductsApiClient.connectBCBEigenschapOptieCategory(request).subscribe(() => {\r\n this.ProductsService.Reload();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n });\r\n }\r\n\r\n public ShowArrow(): boolean {\r\n if (this.eigenschap?.bcbProductEigenschapOptieViewModels?.length != null &&\r\n this.eigenschap?.bcbProductEigenschapOptieViewModels?.length > 0) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","<table class=\"full-width\">\r\n <tr class=\"row\" (click)=\"Toggle()\" [ngClass]=\"{'warning': !eigenschap.connected}\">\r\n <td class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && ShowArrow()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && ShowArrow()\">expand_less</mat-icon>\r\n </td>\r\n <td class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.bcbEigenschapViewModel.name}}\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"eigenschap.open\">\r\n <tr *ngFor=\"let optie of eigenschap.bcbProductEigenschapOptieViewModels\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <td></td>\r\n <td class=\"optiecel\">{{ optie.bcbEigenschapOptieViewModel.name }}</td>\r\n <td class=\"optiecel optiecellast\">\r\n <div *ngIf=\"!optie.connected\">\r\n <button mat-raised-button (click)=\"Connect(optie.id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(optie.id, eigenschap?.bcbEigenschapViewModel.name, optie.bcbEigenschapOptieViewModel.name)\">\r\n Category\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n</table>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProductsService } from '../../../../services/products.service';\r\nimport { BCBProductViewModel, BCBImportProductRequest, ImportApiClient, BCBImportProductResponse } from '../../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-products-bcbproduct',\r\n templateUrl: './beheer-products-bcbproduct.component.html',\r\n styleUrls: ['./beheer-products-bcbproduct.component.scss']\r\n})\r\nexport class BeheerProductsBcbproductComponent implements OnInit {\r\n\r\n @Input() BCBProductViewModel: BCBProductViewModel;\r\n\r\n constructor(private ImportApiClient: ImportApiClient, public ProductsService: ProductsService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public ResetImport(): void {\r\n this.ProductsService.ResetImport(-1, this.BCBProductViewModel.id);\r\n }\r\n\r\n public Import(): void {\r\n\r\n var request = new BCBImportProductRequest();\r\n\r\n request.bcbProductId = this.BCBProductViewModel.id;\r\n\r\n this.ImportApiClient.importBCBProduct(request).subscribe((model: BCBImportProductResponse) => {\r\n alert('success');\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","<mat-card>\r\n <div class=\"product-bar\">\r\n <div class=\"product-first block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"BCBProductViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Opslaan\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Verwijderen\r\n </button>\r\n </div>\r\n </div>\r\n</mat-card>\r\n<br />\r\n<mat-card>\r\n <mat-card-content>\r\n <b>Eigenschap</b>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of BCBProductViewModel.bcbProductEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { MatSelectionList } from '@angular/material/list';\r\nimport { ProductsService } from '../../../services/products.service';\r\nimport { ImportSetsService } from '../../../services/importsets.service';\r\nimport { ProductsApiClient, ProductsViewModel, BCBProductViewModel, ProductViewModel, BCBImportProductRequest, BCBImportProductResponse, ImportApiClient, BCBImportSetsViewModel } from '../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-products',\r\n templateUrl: './beheer-products.component.html',\r\n styleUrls: ['./beheer-products.component.scss']\r\n})\r\nexport class BeheerProductsComponent implements OnInit {\r\n\r\n\r\n public BCBImportSetsViewModel?: BCBImportSetsViewModel = undefined;\r\n\r\n constructor(public ProductsService: ProductsService, public ImportSetsService: ImportSetsService, private ImportApiClient: ImportApiClient, private ChangeDetectorRef: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.ProductsService.Reload();\r\n }\r\n\r\n public Import(): void {\r\n var products = this.ProductsService.ProductsViewModel?.productViewModels;\r\n\r\n if (products != null && products.length > 0) {\r\n for (var i = 0; i < products.length; i++) {\r\n var bcbproducts = products[i].bcbProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n products[i].importStatus = \"0/\" + bcbproducts.length;\r\n\r\n for (var j = 0; j < bcbproducts.length; j++) {\r\n bcbproducts[j].importStatus = \"X\";\r\n }\r\n }\r\n }\r\n\r\n var bcbproducts = products[0].bcbProductViewModels;\r\n\r\n if (bcbproducts != null && bcbproducts.length > 0) {\r\n this.ImportBCBProduct(bcbproducts[0]);\r\n }\r\n }\r\n }\r\n\r\n public ImportBCBProduct(bcbproduct: BCBProductViewModel): void {\r\n var request = new BCBImportProductRequest();\r\n\r\n request.bcbProductId = bcbproduct.id;\r\n\r\n this.ImportApiClient.importBCBProduct(request).subscribe((model: BCBImportProductResponse) => {\r\n if (!model.success) {\r\n alert(model.message);\r\n }\r\n else {\r\n bcbproduct.importStatus = \"V\";\r\n\r\n var next = this.GetNextBCBProduct(bcbproduct);\r\n\r\n if (next.importStatus == \"X\") {\r\n this.ImportBCBProduct(next);\r\n }\r\n else {\r\n this.ProductsService.Reload();\r\n }\r\n }\r\n }, (error: Response) => {\r\n alert(\"import failed for id: \" + bcbproduct.id);\r\n\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public ResetImport(): void {\r\n this.ProductsService.ResetImport(-1, -1);\r\n }\r\n\r\n public ShowBCBProducts(product: ProductViewModel): boolean {\r\n if (this.ProductsService.ProductViewModel == product) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public SelectProduct(product: ProductViewModel) {\r\n if (this.ProductsService.ProductViewModel != product) {\r\n this.ProductsService.ProductViewModel = product;\r\n this.ProductsService.BCBProductViewModel = undefined;\r\n }\r\n }\r\n\r\n public SaveProduct(product: ProductViewModel) {\r\n this.ProductsService.SaveProductViewModel(product);\r\n }\r\n\r\n public SelectBCBProduct(bcbproduct: BCBProductViewModel) {\r\n if (this.ProductsService.BCBProductViewModel != bcbproduct) {\r\n this.ProductsService.BCBProductViewModel = bcbproduct;\r\n }\r\n else {\r\n this.ProductsService.BCBProductViewModel = undefined;\r\n }\r\n }\r\n\r\n public GetImportStatus(product: ProductViewModel): string {\r\n var text = \"\";\r\n var active = false;\r\n\r\n var bcbproducts = product.bcbProductViewModels;\r\n if (bcbproducts != null && bcbproducts.length > 0) {\r\n var count = 0;\r\n\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n if (bcbproducts[i].importStatus != \"\") {\r\n active = true;\r\n\r\n if (bcbproducts[i].importStatus != \"X\") {\r\n count++;\r\n }\r\n }\r\n }\r\n\r\n if (active) {\r\n text = count + \"/\" + bcbproducts.length;\r\n }\r\n }\r\n\r\n return text;\r\n }\r\n\r\n public GetNextBCBProduct(bcbproduct: BCBProductViewModel): BCBProductViewModel {\r\n var products = this.ProductsService.ProductsViewModel?.productViewModels;\r\n var next: BCBProductViewModel = bcbproduct;\r\n var found = false;\r\n\r\n if (products != null && products.length > 0) {\r\n for (var i = 0; i < products.length; i++) {\r\n var bcbproducts = products[i].bcbProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var j = 0; j < bcbproducts.length; j++) {\r\n if (found) {\r\n return bcbproducts[j];\r\n }\r\n\r\n if (bcbproducts[j] == bcbproduct) {\r\n found = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return next;\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-beheer-filters',\n templateUrl: './beheer-filters.component.html',\n styleUrls: ['./beheer-filters.component.scss']\n})\nexport class BeheerFiltersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProjectSettingService } from '../../../../services/projectsetting.service';\r\nimport { ProjectSettingViewModel } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-settings-options',\n templateUrl: './beheer-settings-options.component.html',\n styleUrls: ['./beheer-settings-options.component.scss']\n})\nexport class BeheerSettingsOptionsComponent implements OnInit {\n\n @Input() projectsetting: ProjectSettingViewModel; \n\n constructor(public projectsettingservice: ProjectSettingService) { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"row\" *ngIf=\"projectsetting != null\">\r\n <div *ngIf=\"!projectsetting.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.Reset(projectsetting)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>Default</mat-label>\r\n <mat-select [(value)]=\"projectsetting.defaultValue\" [disabled]=\"!projectsetting.default\" (selectionChange)=\"projectsettingservice.Save(projectsetting)\">\r\n <mat-option value=\"{{ option }}\" *ngFor=\"let option of projectsetting.options\">\r\n {{ option }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n<div *ngIf=\"projectsetting != null && projectsetting.pipelineSteps != null && projectsetting.pipelineSteps.length > 0\">\r\n <div *ngFor=\"let pipeline of projectsetting.pipelineSteps\">\r\n <div class=\"row\">\r\n <div *ngIf=\"!pipeline.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.ResetPipelineStep(projectsetting, pipeline)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>{{ pipeline.pipelineStep }}</mat-label>\r\n <mat-select [(value)]=\"pipeline.value\" [disabled]=\"!pipeline.default\" (selectionChange)=\"projectsettingservice.SavePipelineStep(projectsetting, pipeline)\">\r\n <mat-option value=\"{{ option }}\" *ngFor=\"let option of projectsetting.options\">\r\n {{ option }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProjectSettingService } from '../../../../services/projectsetting.service';\r\nimport { ProjectSettingViewModel } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-settings-string',\n templateUrl: './beheer-settings-string.component.html',\n styleUrls: ['./beheer-settings-string.component.scss']\n})\nexport class BeheerSettingsStringComponent implements OnInit {\n\n @Input() projectsetting: ProjectSettingViewModel;\n\n constructor(public projectsettingservice: ProjectSettingService) { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"row\" *ngIf=\"projectsetting != null\">\r\n <div *ngIf=\"!projectsetting.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.Reset(projectsetting)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>Default</mat-label>\r\n <input matInput [(ngModel)]=\"projectsetting.defaultValue\" [disabled]=\"!projectsetting.default\">\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"projectsetting.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.Save(projectsetting)\">\r\n Save\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"projectsetting != null && projectsetting.pipelineSteps != null && projectsetting.pipelineSteps.length > 0\">\r\n <div *ngFor=\"let pipeline of projectsetting.pipelineSteps\">\r\n <div class=\"row\">\r\n <div *ngIf=\"!pipeline.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.ResetPipelineStep(projectsetting, pipeline)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>{{ pipeline.pipelineStep }}</mat-label>\r\n <input matInput [(ngModel)]=\"pipeline.value\" [disabled]=\"!pipeline.default\">\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"pipeline.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.SavePipelineStep(projectsetting, pipeline)\">\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ProjectSettingService } from '../../../services/projectsetting.service';\r\n\r\n@Component({\r\n selector: 'app-beheer-settings',\r\n templateUrl: './beheer-settings.component.html',\r\n styleUrls: ['./beheer-settings.component.scss']\r\n})\r\nexport class BeheerSettingsComponent implements OnInit {\r\n\r\n constructor(public projectsettingservice: ProjectSettingService, private ChangeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.projectsettingservice.LoadProjectSettings(this.ChangeDetectorRef);\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"projectsettingservice.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!projectsettingservice.Loading\">\r\n <div class=\"pipeline-row\">\r\n <div class=\"pipeline-block\">\r\n Pipeline step: <span class=\"pipeline-info\">{{ projectsettingservice.ProjectSettingsViewModel.pipelineStep }}</span>\r\n </div>\r\n </div>\r\n\r\n <mat-accordion>\r\n <mat-expansion-panel *ngFor=\"let projectsetting of projectsettingservice.ProjectSettingsViewModel.projectSettingViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ projectsetting.name }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ projectsetting.activeValue }}\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <app-beheer-settings-string *ngIf=\"projectsetting.projectSettingType == 1\" [projectsetting]=\"projectsetting\"></app-beheer-settings-string>\r\n <app-beheer-settings-options *ngIf=\"projectsetting.projectSettingType == 2\" [projectsetting]=\"projectsetting\"></app-beheer-settings-options>\r\n \r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n\r\n</div>\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SearchProductsApiClient, NewProductRequestModel, GetProductsViewModel } from '../../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-searchproducts-koppel-dialog',\r\n templateUrl: './beheer-searchproducts-koppel-dialog.component.html',\r\n styleUrls: ['./beheer-searchproducts-koppel-dialog.component.scss']\r\n})\r\nexport class BeheerSearchproductsKoppelDialogComponent implements OnInit {\r\n public Loading: boolean = false;\r\n public NaamNieuw: string = \"\";\r\n public Suggestion: Array<string>;\r\n public GetProductsViewModel: GetProductsViewModel;\r\n public ProductSelected: number = -1;\r\n\r\n constructor(public dialogRef: MatDialogRef<BeheerSearchproductsKoppelDialogComponent>, private SearchProductsApiClient: SearchProductsApiClient, @Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.Suggestion = data.suggestion;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.LoadProducts();\r\n }\r\n\r\n public BestaandToevoegen(): void {\r\n this.dialogRef.close(this.ProductSelected);\r\n }\r\n\r\n public NieuwToevoegen(): void {\r\n this.Loading = true;\r\n\r\n var model: NewProductRequestModel = new NewProductRequestModel();\r\n\r\n model.productName = this.NaamNieuw;\r\n\r\n this.SearchProductsApiClient.addNewProduct(model).subscribe(model => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close(model.productId);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n\r\n public LosKenmerk(): void {\r\n this.dialogRef.close(-2);\r\n }\r\n\r\n public handleKeyUp(e: any) {\r\n if (e.keyCode === 13) {\r\n this.NieuwToevoegen();\r\n }\r\n }\r\n\r\n private LoadProducts(): void {\r\n this.Loading = true;\r\n\r\n this.SearchProductsApiClient.getProductsViewModel().subscribe(model => {\r\n this.GetProductsViewModel = model;\r\n\r\n var array = this.GetProductsViewModel?.productViewModels;\r\n\r\n if (array != null && array.length > 0) {\r\n var id = array[0].id;\r\n if (id != null) {\r\n this.ProductSelected = id;\r\n }\r\n }\r\n\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n}\r\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\" *ngIf=\"Suggestion.length > 0\">\r\n <button *ngFor=\"let sugg of Suggestion\" mat-raised-button (click)=\"NaamNieuw = sugg;\">{{ sugg }}</button>\r\n </div>\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput (keyup)=\"handleKeyUp($event)\" [(ngModel)]=\"NaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Product</mat-label>\r\n <mat-select [(ngModel)]=\"ProductSelected\">\r\n <mat-option *ngFor=\"let product of GetProductsViewModel.productViewModels\" [value]=\"product.id\">\r\n {{product.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Los\">\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"LosKenmerk()\">Kenmerk</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\nimport { SearchProductsApiClient, SearchProductsRequestModel, SearchProductsResponseModel, WizardEBOViewModel, KoppelProductsRequestModel } from '../../../swagger/SwaggerClient';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { BeheerSearchproductsKoppelDialogComponent } from './beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-searchproducts',\r\n templateUrl: './beheer-searchproducts.component.html',\r\n styleUrls: ['./beheer-searchproducts.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BeheerSearchProductsComponent implements OnInit {\r\n\r\n public Loading: boolean = false;\r\n public ZoekTerm: string = \"\";\r\n public Primary: ThemePalette = \"primary\";\r\n public SelectProducts: boolean = false;\r\n\r\n public BOT: string = \"\";\r\n public DO1Type: string = \"\";\r\n public DO1Naam: string = \"\";\r\n public DO2Type: string = \"\";\r\n public DO2Naam: string = \"\";\r\n public DO3Type: string = \"\";\r\n public DO3Naam: string = \"\";\r\n public DO4Type: string = \"\";\r\n public DO4Naam: string = \"\";\r\n public Kenmerk: string = \"\";\r\n\r\n public SearchProductsResponseModel: SearchProductsResponseModel;\r\n\r\n constructor(public dialog: MatDialog, private SearchProductsApiClient: SearchProductsApiClient, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public GetEbos(inuse: boolean): Array<WizardEBOViewModel> {\r\n if (this.SearchProductsResponseModel != null && this.SearchProductsResponseModel.eboViewModels != null) {\r\n var list = new Array<WizardEBOViewModel>();\r\n\r\n var temp = this.SearchProductsResponseModel.eboViewModels as Array<WizardEBOViewModel>;\r\n for (var i = 0; i < this.SearchProductsResponseModel.eboViewModels.length; i++) {\r\n var add = true;\r\n\r\n if (inuse) {\r\n if (this.SearchProductsResponseModel.eboViewModels[i].inUseBy == \"\") {\r\n add = false;\r\n }\r\n }\r\n else {\r\n if (this.SearchProductsResponseModel.eboViewModels[i].inUseBy != \"\") {\r\n add = false;\r\n }\r\n }\r\n\r\n if (add) {\r\n var array = this.SearchProductsResponseModel.eboViewModels[i].dOs;\r\n\r\n if (array != null) {\r\n for (var j = 0; j < array.length; j++) {\r\n var dotype = array[j].doType?.toLowerCase() + \"\";\r\n var donaam = array[j].doNaam?.toLowerCase() + \"\";\r\n\r\n if (dotype == 'bot') {\r\n if (this.BOT != \"\" && donaam.indexOf(this.BOT.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (dotype == 'kenmerk') {\r\n if (this.Kenmerk != \"\" && donaam.indexOf(this.Kenmerk.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 1) {\r\n if (this.DO1Naam != \"\" && donaam.indexOf(this.DO1Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO1Type != \"\" && dotype.indexOf(this.DO1Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 2) {\r\n if (this.DO2Naam != \"\" && donaam.indexOf(this.DO2Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO2Type != \"\" && dotype.indexOf(this.DO2Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 3) {\r\n if (this.DO3Naam != \"\" && donaam.indexOf(this.DO3Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO3Type != \"\" && dotype.indexOf(this.DO3Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 4) {\r\n if (this.DO4Naam != \"\" && donaam.indexOf(this.DO4Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO4Type != \"\" && dotype.indexOf(this.DO4Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (add) {\r\n list.push(this.SearchProductsResponseModel.eboViewModels[i]);\r\n }\r\n\r\n }\r\n\r\n return list;\r\n }\r\n\r\n return new Array<WizardEBOViewModel>();\r\n }\r\n\r\n public Zoek(): void {\r\n this.Loading = true;\r\n this.SelectProducts = false;\r\n\r\n var model: SearchProductsRequestModel = new SearchProductsRequestModel();\r\n\r\n model.value = this.ZoekTerm;\r\n\r\n this.SearchProductsApiClient.getSearchResults(model).subscribe(model => {\r\n this.SearchProductsResponseModel = model;\r\n this.Loading = false;\r\n this.UpdateSnackBar();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n this.UpdateSnackBar();\r\n });\r\n }\r\n\r\n public UpdateSnackBar(): void {\r\n var count = this.GetSelectedCount();\r\n\r\n if (count > 0) {\r\n var snack = this.snackBar.open(count + \" product(en) geselecteerd.\", \"Koppel\");\r\n\r\n snack.onAction().subscribe(() => {\r\n this.Koppel();\r\n });\r\n }\r\n else {\r\n this.snackBar.dismiss();\r\n }\r\n }\r\n\r\n public handleKeyUp(e: any) {\r\n if (e.keyCode === 13) {\r\n this.Zoek();\r\n }\r\n }\r\n\r\n public SelectProductsClick(): void {\r\n if (this.SearchProductsResponseModel?.eboViewModels != null) {\r\n if (this.SelectProducts) {\r\n for (var i = 0; i < this.SearchProductsResponseModel.eboViewModels.length; i++) {\r\n this.SearchProductsResponseModel.eboViewModels[i].selected = true;\r\n }\r\n } else {\r\n for (var i = 0; i < this.SearchProductsResponseModel.eboViewModels.length; i++) {\r\n this.SearchProductsResponseModel.eboViewModels[i].selected = false;\r\n }\r\n }\r\n\r\n this.UpdateSnackBar();\r\n }\r\n }\r\n\r\n public Koppel(): void {\r\n var dialogRef = this.dialog.open(BeheerSearchproductsKoppelDialogComponent, {\r\n data: {\r\n suggestion: this.GetSuggestion()\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n if (result > 0) {\r\n this.Loading = true;\r\n\r\n var model: KoppelProductsRequestModel = new KoppelProductsRequestModel();\r\n\r\n model.productId = result;\r\n model.searchProductEBOModels = new Array<WizardEBOViewModel>();\r\n\r\n var products = this.GetEbos(false);\r\n\r\n for (var i = 0; i < products.length; i++) {\r\n if (products[i].selected) {\r\n model.searchProductEBOModels.push(products[i]);\r\n }\r\n }\r\n\r\n this.SearchProductsApiClient.koppelProducts(model).subscribe(() => {\r\n this.Zoek();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Zoek();\r\n });\r\n }\r\n else if (result == -2) {\r\n this.Loading = true;\r\n\r\n var model: KoppelProductsRequestModel = new KoppelProductsRequestModel();\r\n\r\n model.productId = 0;\r\n model.searchProductEBOModels = new Array<WizardEBOViewModel>();\r\n\r\n var products = this.GetEbos(false);\r\n\r\n for (var i = 0; i < products.length; i++) {\r\n if (products[i].selected) {\r\n model.searchProductEBOModels.push(products[i]);\r\n }\r\n }\r\n\r\n this.SearchProductsApiClient.koppelProductsKenmerk(model).subscribe(() => {\r\n this.Zoek();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Zoek();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public SelectAll(): void {\r\n var ebos = this.GetEbos(false);\r\n\r\n for (var i = 0; i < ebos.length; i++) {\r\n ebos[i].selected = true;\r\n }\r\n\r\n this.UpdateSnackBar();\r\n }\r\n\r\n public SelectRow(row: any): void {\r\n if (row.inUseBy == '') {\r\n row.selected = !row.selected;\r\n this.UpdateSnackBar();\r\n }\r\n }\r\n\r\n public ShowCell(doType: string): boolean {\r\n if (doType.toLowerCase() == 'bot') {\r\n return false;\r\n }\r\n\r\n if (doType.toLowerCase() == 'kenmerk') {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private GetSelectedCount(): number {\r\n var count = 0;\r\n var ebos = this.GetEbos(false);\r\n\r\n for (var i = 0; i < ebos.length; i++) {\r\n if (ebos[i].selected) {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n private GetSuggestion(): Array<string> {\r\n var merkserie = \"\";\r\n var array = new Array<string>();\r\n var arraykenmerk = new Array<string>();\r\n var count = 0;\r\n var ebos = this.GetEbos(false);\r\n\r\n for (var i = 0; i < ebos.length; i++) {\r\n if (ebos[i].selected) {\r\n var arraytemp = ebos[i].dOs;\r\n if (arraytemp != undefined) {\r\n for (var j = 0; j < arraytemp.length; j++) {\r\n if (arraytemp[j].doType?.toLowerCase() == \"merk serie\") {\r\n merkserie = arraytemp[j].doNaam as string;\r\n }\r\n\r\n if (arraytemp[j].doType?.toLowerCase() == \"kenmerk\") {\r\n arraykenmerk.push(arraytemp[j].doNaam as string);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n array.push(merkserie);\r\n\r\n for (var i = 0; i < arraykenmerk.length && i < 3; i++) {\r\n array.push(arraykenmerk[i]);\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div class=\"main-window\">\r\n <div>\r\n <mat-card>\r\n <div class=\"main-block-search\">\r\n <div class=\"block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Zoekterm</mat-label>\r\n <input matInput placeholder=\"bv. Merk Serie\" (keyup)=\"handleKeyUp($event)\" [(ngModel)]=\"ZoekTerm\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"zoeken-block\">\r\n <button mat-raised-button (click)=\"Zoek()\" [disabled]=\"Loading\">Zoeken</button>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n <div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n\r\n <div *ngIf=\"!Loading\" class=\"resultblock\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"ebo-table\">\r\n <tr>\r\n <td>\r\n <button mat-raised-button (click)=\"SelectAll()\" class=\"selectall\">V</button>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>BOT</mat-label>\r\n <input matInput [(ngModel)]=\"BOT\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO1Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO1Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO1Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO1Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO2Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO2Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO2Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO2Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO3Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO3Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO3Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO3Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO4Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO4Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO4Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO4Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Kenmerk</mat-label>\r\n <input matInput [(ngModel)]=\"Kenmerk\">\r\n </mat-form-field>\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let ebo of GetEbos(false)\" class=\"table-row\" (click)=\"SelectRow(ebo)\">\r\n <td>\r\n <div *ngIf=\"ebo.inUseBy == ''\">\r\n <mat-checkbox class=\"row-check\" [(ngModel)]=\"ebo.selected\" [color]=\"Primary\" (change)=\"UpdateSnackBar()\"></mat-checkbox>\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let do of ebo.dOs\">\r\n <td *ngIf=\"ShowCell(do.doType)\">{{ do.doType }}</td>\r\n <td>{{ do.doNaam }}</td>\r\n </ng-container>\r\n </tr>\r\n <tr *ngFor=\"let ebo of GetEbos(true)\" class=\"table-row\" (click)=\"SelectRow(ebo)\">\r\n <td>\r\n <div *ngIf=\"ebo.inUseBy == ''\">\r\n <mat-checkbox class=\"row-check\" [(ngModel)]=\"ebo.selected\" [color]=\"Primary\" (change)=\"UpdateSnackBar()\"></mat-checkbox>\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let do of ebo.dOs\">\r\n <td *ngIf=\"ShowCell(do.doType)\">{{ do.doType }}</td>\r\n <td>{{ do.doNaam }}</td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SaveImportSetRequest, ImportApiClient } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-import-sets-dialog',\n templateUrl: './beheer-import-sets-dialog.component.html',\n styleUrls: ['./beheer-import-sets-dialog.component.scss']\n})\nexport class BeheerImportSetsDialogComponent implements OnInit {\n\n public id: number;\n public name: string;\n\n public Loading: boolean = false;\n\n constructor(public dialogRef: MatDialogRef<BeheerImportSetsDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any, private ImportApiClient: ImportApiClient) {\n this.id = data.id;\n this.name = data.name;\n }\n\n ngOnInit(): void {\n }\n\n public Opslaan(): void {\n this.Loading = true;\r\n\r\n var model: SaveImportSetRequest = new SaveImportSetRequest();\r\n\r\n model.id = this.id;\r\n model.name = this.name;\r\n\r\n this.ImportApiClient.saveImportSet(model).subscribe(() => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"name\">\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"Opslaan()\">Opslaan</button>\r\n</div>\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { WizardEBOViewModel } from '../../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-import-sets-ebo',\r\n templateUrl: './beheer-import-sets-ebo.component.html',\r\n styleUrls: ['./beheer-import-sets-ebo.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BeheerImportSetsEboComponent implements OnInit {\r\n\r\n @Input() ebo: WizardEBOViewModel; \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<mat-card>\n <div class=\"row\">\n <div class=\"icon-div\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n <div class=\"text-div\">\n <div class=\"row\">\n <div class=\"flex-auto text-box\" *ngFor=\"let do of ebo.dOs\">\n <mat-form-field class=\"full-width\" appearance=\"fill\">\n <mat-label>{{ do.doType }}</mat-label>\n <input matInput value=\"{{do.doNaam}}\" [readonly]=\"true\">\n </mat-form-field>\n </div>\n </div>\n </div>\n </div>\n <div>\n\n </div>\n</mat-card>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ImportSetsService } from '../../../../services/importsets.service';\r\nimport { BCBImportOpbouw } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-import-sets-opbouw',\n templateUrl: './beheer-import-sets-opbouw.component.html',\n styleUrls: ['./beheer-import-sets-opbouw.component.scss']\n})\nexport class BeheerImportSetsOpbouwComponent implements OnInit {\n\n @Input() opbouw: BCBImportOpbouw; \n\n constructor(private ImportSetsService: ImportSetsService) { }\n\n ngOnInit(): void {\n }\n\n public Toggle(): void {\r\n if (this.opbouw.wizardEBOViewModels != null && this.opbouw.wizardEBOViewModels.length > 0) {\r\n this.opbouw.open = !this.opbouw.open;\r\n }\r\n else {\r\n this.UpdateSelected();\r\n }\r\n }\n\n public UpdateSelected(): void {\n this.opbouw.selected = !this.opbouw.selected;\n this.ImportSetsService.ChangeImportSetValue(this.opbouw.value + \"\", this.opbouw.selected);\r\n }\n}\n","<mat-card class=\"card\">\n <div class=\"top-row\">\n <div class=\"icon-div\" (click)=\"Toggle()\">\n <mat-icon *ngIf=\"opbouw.wizardEBOViewModels != null && opbouw.wizardEBOViewModels.length > 0\">chevron_right</mat-icon>\n </div>\n <div class=\"text-div flexauto\" (click)=\"Toggle()\">\n {{ opbouw.name }}\n </div>\n <div class=\"check-div\">\n <mat-checkbox [checked]=\"opbouw.selected\" (change)=\"UpdateSelected()\"></mat-checkbox>\n </div>\n </div>\n <div class=\"top-row\" *ngIf=\"opbouw.open\">\n <br />\n <app-beheer-import-sets-ebo class=\"flexauto\" [ebo]=\"ebo\" *ngFor=\"let ebo of opbouw.wizardEBOViewModels\"></app-beheer-import-sets-ebo>\n </div>\n</mat-card>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ImportSetsService } from '../../../../services/importsets.service';\r\nimport { BCBImportEigenschap } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-import-sets-eigenschap',\n templateUrl: './beheer-import-sets-eigenschap.component.html',\n styleUrls: ['./beheer-import-sets-eigenschap.component.scss']\n})\nexport class BeheerImportSetsEigenschapComponent implements OnInit {\n\n @Input() eigenschap: BCBImportEigenschap; \n\n constructor(private ImportSetsService: ImportSetsService) { }\n\n ngOnInit(): void {\n }\n\n public UpdateSelected(): void {\n this.eigenschap.selected = !this.eigenschap.selected;\n this.ImportSetsService.ChangeImportSetValue(this.eigenschap.value + \"\", this.eigenschap.selected);\r\n }\n\n}\n","<mat-card class=\"card\">\n <div class=\"top-row\">\n <div class=\"text-div flexauto\" (click)=\"UpdateSelected()\">\n {{ eigenschap.name }}\n </div>\n <div class=\"check-div\">\n <mat-checkbox [checked]=\"eigenschap.selected\" (change)=\"UpdateSelected()\"></mat-checkbox>\n </div>\n </div>\n</mat-card>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ImportSetsService } from '../../../services/importsets.service';\r\nimport { ProductsService } from '../../../services/products.service';\r\nimport { ImportApiClient, BCBImportSetsViewModel, BCBImportSetViewModel, ProductViewModel, BCBProductViewModel, BCBImportOpenRequest, BCBImportOpenResponse } from '../../../swagger/SwaggerClient';\r\nimport { BeheerImportSetsDialogComponent } from './beheer-import-sets-dialog/beheer-import-sets-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-import-sets',\r\n templateUrl: './beheer-import-sets.component.html',\r\n styleUrls: ['./beheer-import-sets.component.scss']\r\n})\r\nexport class BeheerImportSetsComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog, public ProductsService: ProductsService, public ImportSetsService: ImportSetsService, public ImportApiClient: ImportApiClient, private ChangeDetectorRef: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Wijzig(): void {\r\n var dialogRef = this.dialog.open(BeheerImportSetsDialogComponent, {\r\n data: {\r\n id: this.ImportSetsService.GetActiveImportSet().id,\r\n name: this.ImportSetsService.GetActiveImportSet().name\r\n }\r\n });\r\n }\r\n\r\n public Toevoegen(): void {\r\n var dialogRef = this.dialog.open(BeheerImportSetsDialogComponent, {\r\n data: {\r\n id: -1,\r\n name: \"\"\r\n }\r\n });\r\n }\r\n\r\n public Loading(): boolean {\r\n return this.ProductsService.Loading() || this.ImportSetsService.LoadingImportSets;\r\n }\r\n\r\n public Open(): void {\r\n this.ImportSetsService.Open(this.ProductsService.BCBProductSelected);\r\n }\r\n\r\n public GetProducts(): Array<ProductViewModel> {\r\n var array = new Array<ProductViewModel>();\r\n\r\n var products = this.ProductsService.ProductsViewModel.productViewModels;\r\n\r\n if (products != null) {\r\n for (var i = 0; i < products.length; i++) {\r\n if (products[i].importSetId == this.ImportSetsService.GetActiveImportSet().id) {\r\n array.push(products[i]);\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading() && ImportSetsService.BCBImportSetsViewModel != null && ProductsService.ProductsViewModel != null\" class=\"main-content\">\r\n <mat-card>\r\n <div class=\"toolbar\">\r\n <div class=\"toolbar-item\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"\">\r\n <button mat-raised-button (click)=\"Wijzig()\">\r\n Wijzig\r\n </button>\r\n </div>\r\n <div class=\"\">\r\n <button mat-raised-button (click)=\"Toevoegen()\">\r\n Toevoegen\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"toolbar\" *ngIf=\"GetProducts().length > 0\">\r\n <div class=\"toolbar-item\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Product</mat-label>\r\n <mat-select [(ngModel)]=\"ProductsService.ProductSelected\">\r\n <mat-option *ngFor=\"let product of GetProducts()\" [value]=\"product.id\">\r\n {{product.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"toolbar-item flex-auto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>BCBProduct</mat-label>\r\n <mat-select [(ngModel)]=\"ProductsService.BCBProductSelected\">\r\n <mat-option *ngFor=\"let product of ProductsService.GetBCBProductsSelected()\" [value]=\"product.id\">\r\n {{product.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"\">\r\n <button mat-raised-button (click)=\"Open()\">\r\n Open\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n <div class=\"main-block\">\r\n <div class=\"flex-auto block\">\r\n <mat-card>\r\n <mat-card-title>\r\n {{ ImportSetsService.BCBImportOpenResponse?.bcbeboViewModel?.name }}\r\n </mat-card-title>\r\n <mat-card-content>\r\n <div *ngIf=\"ImportSetsService.LoadingOpen\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <div *ngIf=\"!ImportSetsService.LoadingOpen && ImportSetsService.BCBImportOpenResponse != null\">\r\n <mat-card class=\"card\">\r\n <mat-card-title>Opbouw</mat-card-title>\r\n <mat-card-content>\r\n <app-beheer-import-sets-opbouw *ngFor=\"let opbouw of ImportSetsService.BCBImportOpenResponse.bcbImportOpbouwen\" [opbouw]=\"opbouw\"></app-beheer-import-sets-opbouw>\r\n </mat-card-content>\r\n </mat-card>\r\n <mat-card class=\"card\">\r\n <mat-card-title>Eigenschap</mat-card-title>\r\n <mat-card-content>\r\n <app-beheer-import-sets-eigenschap *ngFor=\"let eigenschap of ImportSetsService.BCBImportOpenResponse.bcbImportEigenschappen\" [eigenschap]=\"eigenschap\"></app-beheer-import-sets-eigenschap>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n </div>\r\n <div class=\"importset-block block\">\r\n <mat-card>\r\n <mat-card-title>{{ ImportSetsService.GetActiveImportSet().name }}</mat-card-title>\r\n <mat-card-content>\r\n <mat-card class=\"value-block\" *ngFor=\"let value of ImportSetsService.GetActiveImportSet().bcbImportSetValueViewModels\">\r\n <mat-card-content>\r\n {{ value.value }}\r\n </mat-card-content>\r\n </mat-card>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fab-bcb-product',\n templateUrl: './fab-bcb-product.component.html',\n styleUrls: ['./fab-bcb-product.component.scss']\n})\nexport class FabBcbProductComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<p>fab-bcb-product works!</p>\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { EBOKoppelApiClient, EBOKoppelViewModel, KoppelEBOOptieRequest, KoppelEBOOptieResponse, ConnectEBODOCategoryRequest, ConnectEBODOCategoryResponse } from '../../../../swagger/SwaggerClient';\r\nimport { BeheerConnectCategoryDialogComponent } from '../../beheer-connect-category-dialog/beheer-connect-category-dialog.component';\r\nimport { BeheerProductsKoppelFilteroptionDailogComponent } from '../../beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-ebo-koppel',\r\n templateUrl: './beheer-ebo-koppel.component.html',\r\n styleUrls: ['./beheer-ebo-koppel.component.scss']\r\n})\r\nexport class BeheerEboKoppelComponent implements OnInit {\r\n\r\n public EBOKoppelViewModel: EBOKoppelViewModel;\r\n\r\n public Loading: boolean = true;\r\n\r\n constructor(private EBOKoppelApiClient: EBOKoppelApiClient, public dialog: MatDialog) {\r\n this.LoadModel();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Connect(id: number): void {\r\n var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null) {\r\n if (result.filteroption != null && result.filteroption > 0) {\r\n this.Loading = true;\r\n var request = new KoppelEBOOptieRequest();\r\n\r\n request.bcbebodoId = id;\r\n request.filterOptionId = result.filteroption;\r\n request.bcbImportSetId = -1;\r\n\r\n this.EBOKoppelApiClient.koppelEBOOptie(request).subscribe((model: KoppelEBOOptieResponse) => {\r\n this.LoadModel();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n else if (result.filter != null) {\r\n //var request2 = new KoppelManyNameRequest();\r\n\r\n //request2.bcbProductEigenschapOptieId = id;\r\n //request2.filterId = result.filter;\r\n\r\n //this.ProductsApiClient.koppelManyName(request2).subscribe((model: KoppelManyNameResponse) => {\r\n // this.ProductsService.Reload();\r\n //}, (error: Response) => {\r\n // alert(error);\r\n //});\r\n alert(\"todo\");\r\n }\r\n }\r\n //if (result != null && result > 0) {\r\n\r\n //}\r\n });\r\n }\r\n\r\n public ConnectCategory(id: number, dotype: string, donaam: string): void {\r\n var dialogRef = this.dialog.open(BeheerConnectCategoryDialogComponent, {\r\n data: {\r\n dotype: dotype,\r\n donaam: donaam\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null && result > 0) {\r\n this.Loading = true;\r\n var request = new ConnectEBODOCategoryRequest();\r\n\r\n request.bcbebodoId = id;\r\n request.categoryId = result;\r\n\r\n this.EBOKoppelApiClient.connectEBODOCategory(request).subscribe((model: ConnectEBODOCategoryResponse) => {\r\n this.LoadModel();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n });\r\n }\r\n\r\n private LoadModel(): void {\r\n this.Loading = true;\r\n this.EBOKoppelApiClient.getEBOKoppelViewModel().subscribe((model: EBOKoppelViewModel) => {\r\n this.EBOKoppelViewModel = model;\r\n this.Loading = false;\r\n });\r\n }\r\n\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading\">\r\n <mat-accordion>\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }} EBO(s)\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let do of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ do.doNaam }}\r\n </div>\r\n <div *ngIf=\"!do.connected\">\r\n <button mat-raised-button (click)=\"Connect(do.id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(do.id, do.doType, do.doNaam)\">\r\n Category\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\nimport { CategoriesApiClient, CategoriesOverviewViewModel } from '../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-categories',\n templateUrl: './beheer-categories.component.html',\n styleUrls: ['./beheer-categories.component.scss']\n})\nexport class BeheerCategoriesComponent implements OnInit {\n\n public Loading: boolean = true;\n\n public CategoriesOverviewViewModel: CategoriesOverviewViewModel;\n\n constructor(private CategoriesApiClient: CategoriesApiClient) { }\n\n ngOnInit(): void {\n this.LoadCategories();\n }\n\n private LoadCategories(): void {\r\n this.Loading = true;\r\n\r\n this.CategoriesApiClient.getCategoriesOverview().subscribe((model: CategoriesOverviewViewModel) => {\r\n this.CategoriesOverviewViewModel = model;\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading\">\n <mat-card>\n <mat-card-content>\n <table class=\"fullwidth\">\n <ng-container *ngFor=\"let categorie of CategoriesOverviewViewModel.categories\">\n <tr class=\"header\">\n <td colspan=\"3\">{{ categorie.name }}</td>\n </tr>\n <ng-container *ngFor=\"let subcategorie of categorie.subCategories\">\n <tr class=\"header2\">\n <td>&nbsp;</td>\n <td colspan=\"2\">{{ subcategorie.name }}</td>\n </tr>\n <tr *ngFor=\"let product of subcategorie.products\">\n <td>&nbsp;</td>\n <td>&nbsp;</td>\n <td>{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of categorie.products\">\n <td></td>\n <td colspan=\"2\">{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of CategoriesOverviewViewModel.products\">\n <td colspan=\"3\">{{ product.name }}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n \n</div>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'app-fab-start',\n templateUrl: './fab-start.component.html',\n styleUrls: ['./fab-start.component.scss']\n})\nexport class FabStartComponent implements OnInit {\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n}\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\n <mat-card class=\"loader-card\">\n <mat-card-content>\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\n </mat-card-content>\n </mat-card>\n</div>\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenCategoryViewModel } from '../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'fab-category-tile',\n templateUrl: './fab-category-tile.component.html',\n styleUrls: ['./fab-category-tile.component.scss']\n})\nexport class FabCategoryTileComponent implements OnInit {\n\n @Input() category: FabrikantenCategoryViewModel;\n\n constructor(\n public FabrikantenService: FabrikantenService,\n private sanitization: DomSanitizer,\n private ChangeDetectorRef: ChangeDetectorRef,\n public TranslateService: TranslateService) { }\n\n ngOnInit(): void {\n }\n\n public Select(): void {\n this.FabrikantenService.SelectCategory(this.category, this.ChangeDetectorRef);\r\n }\n\n public DisplayNoPhoto(): boolean {\n var path = this.category.imagePath as string;\r\n\r\n return path == \"\";\r\n }\n\n public getSafeUrl() {\r\n\r\n var path = this.category.imagePath as string;\r\n\r\n if (path != \"\") {\r\n return this.sanitization.bypassSecurityTrustStyle('url(\\'' + (this.category.imagePath as string) + '\\')');\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\n}\n","<mat-card *ngIf=\"!DisplayNoPhoto()\" class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n<mat-card *ngIf=\"DisplayNoPhoto()\" class=\"tile no-photo\" (click)=\"Select()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'fab-categories',\n templateUrl: './fab-categories.component.html',\n styleUrls: ['./fab-categories.component.scss']\n})\nexport class FabCategoriesComponent implements OnInit {\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n private ActivatedRoute: ActivatedRoute,\n private ChangeDetectorRef: ChangeDetectorRef) {\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\n\n if (!this.FabrikantenService.ShowCategories()) {\n this.FabrikantenService.ResetAllCategories(this.ChangeDetectorRef);\r\n }\n }\n\n ngOnInit(): void {\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n}\n","\n\n<app-fab-header [showfiltermenubutton]=\"false\"></app-fab-header>\n\n<div *ngIf=\"FabrikantenService.GetFirstOpenCategoryLayer() != null\" class=\"main-block\">\n <fab-category-tile *ngFor=\"let category of FabrikantenService.GetFirstOpenCategoryLayer().categories\" [category]=\"category\"></fab-category-tile>\n</div>\n\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { TranslateService } from '../../../services/translate.service';\r\nimport { CreateExportRequest, CreateExportResponse, ReadExportRequest, TranslateEntryProductViewModel, TranslateEntryCategoryViewModel, TranslateEntryDescriptionViewModel, TranslateEntryFilterViewModel, TranslateEntryFilterOptionViewModel, TranslateApiClient, TranslateEntryAfbeeldingViewModel } from '../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-translate',\n templateUrl: './beheer-translate.component.html',\n styleUrls: ['./beheer-translate.component.scss']\n})\nexport class BeheerTranslateComponent implements OnInit {\n\n constructor(\n public TranslateService: TranslateService,\n private TranslateApiClient: TranslateApiClient,\n private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n public GetCategoryEntries(): Array<TranslateEntryCategoryViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].categoryEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].categoryEntries;\r\n }\n else {\r\n return new Array<TranslateEntryCategoryViewModel>();;\r\n }\r\n }\n\n public GetProductEntries(): Array<TranslateEntryProductViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].productEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].productEntries;\r\n }\n else {\r\n return new Array<TranslateEntryProductViewModel>();\r\n }\r\n }\n\n public GetFilterEntries(): Array<TranslateEntryFilterViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].filterEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].filterEntries;\r\n }\n else {\r\n return new Array<TranslateEntryFilterViewModel>();\r\n }\r\n }\n\n public GetFilterOptionEntries(filterid: number): Array<TranslateEntryFilterOptionViewModel> {\n var array = new Array<TranslateEntryFilterOptionViewModel>();\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries != null) {\n for (var i = 0; i < this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries.length; i++) {\r\n if (this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries[i].filterId == filterid) {\r\n array.push(this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries[i]);\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\n\n public GetDescriptionEntries(): Array<TranslateEntryDescriptionViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].descriptionEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].descriptionEntries;\r\n }\n else {\r\n return new Array<TranslateEntryDescriptionViewModel>();\r\n }\r\n }\n\n public GetAfbeeldingEntries(): Array<TranslateEntryAfbeeldingViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].afbeeldingEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].afbeeldingEntries;\r\n }\n else {\r\n return new Array<TranslateEntryAfbeeldingViewModel>();\r\n }\r\n }\n\n public Export(): void {\n var request = new CreateExportRequest();\r\n this.TranslateService.Loading = true;\r\n\r\n this.TranslateApiClient.createExport(request).subscribe((model: CreateExportResponse) => {\r\n alert(model.url);\r\n this.TranslateService.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n alert(error.json());\r\n else {\r\n alert('An unexpected error occured');\r\n alert(error);\r\n }\r\n });\r\n }\n\n public Import(): void {\n var request = new ReadExportRequest();\r\n this.TranslateService.Loading = true;\r\n\r\n this.TranslateApiClient.readExport(request).subscribe(() => {\r\n this.TranslateService.Loading = false;\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n alert(error.json());\r\n else {\r\n alert('An unexpected error occured');\r\n alert(error);\r\n }\r\n });\r\n }\n\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<app-fab-loader *ngIf=\"TranslateService.Loading\"></app-fab-loader>\r\n\r\n<div *ngIf=\"!TranslateService.Loading\">\r\n <mat-card class=\"main-bar\">\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"TranslateService.SelectedCategory\">\r\n <mat-option *ngFor=\"let cat of TranslateService.Categories\" [value]=\"cat\">\r\n {{cat}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-raised-button (click)=\"Export()\">\r\n Export\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <mat-card class=\"main\">\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <ng-container *ngIf=\"TranslateService.GetActiveCategorie() != null\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n {{ TranslateService.GetActiveCategorie().name }}\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let key of TranslateService.GetActiveCategorie().keys\">\r\n <td>{{ key.id }}</td>\r\n <td>{{ key.name }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValue(language, TranslateService.GetActiveCategorie().name, key.name) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Categories'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Categories\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let cat of GetCategoryEntries()\">\r\n <td>{{ cat.categoryId }}</td>\r\n <td>{{ cat.categoryName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueCategory(language, cat.categoryId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Products'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Products\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let prod of GetProductEntries()\">\r\n <td>{{ prod.productId }}</td>\r\n <td>{{ prod.productName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueProduct(language, prod.productId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Filter'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Filters\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <ng-container *ngFor=\"let filter of GetFilterEntries()\">\r\n <tr>\r\n <td class=\"cat-row\">{{ filter.filterId }}</td>\r\n <td class=\"cat-row\">{{ filter.filterName }}</td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueFilter(language, filter.filterId) }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let option of GetFilterOptionEntries(filter.filterId)\">\r\n <td>{{ option.filterOptionId }}</td>\r\n <td>{{ option.filterOptionName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueFilterOption(language, option.filterOptionId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Description'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Description\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let description of GetDescriptionEntries()\">\r\n <td>{{ description.bcbProductId }}</td>\r\n <td>{{ description.productName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueDescription(language, description.bcbProductId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Afbeelding'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Afbeelding\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let afbeelding of GetAfbeeldingEntries()\">\r\n <td>{{ afbeelding.bcbProductAfbeeldingId }}</td>\r\n <td>{{ afbeelding.productName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueAfbeelding(language, afbeelding.bcbProductAfbeeldingId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n FiltersApiClient,\r\n ProjectSettingApiClient,\r\n SecurityApiClient,\r\n SearchProductsApiClient,\r\n ProductsApiClient,\r\n ImportApiClient,\r\n FabrikantenApiClient,\r\n EBOKoppelApiClient,\r\n CategoriesApiClient,\r\n TranslateApiClient\r\n} from './swagger/SwaggerClient';\r\n\r\n// Auth components\r\nimport { BasicAuthInterceptor } from './helpers/basic-auth.interceptor';\r\nimport { ErrorInterceptor } from './helpers/error.interceptor';\r\nimport { AuthGuard } from './helpers/auth.guard';\r\n\r\n// Beheer\r\nimport { BeheerMainComponent } from './beheer/components/beheer-main/beheer-main.component';\r\nimport { BeheerInlogComponent } from './beheer/components/beheer-inlog/beheer-inlog.component';\r\n\r\n// Main\r\nimport { FabFiltersComponent } from './components/fab-filters/fab-filters.component';\r\n\r\n// Services\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { ProjectSettingService } from './services/projectsetting.service';\r\nimport { ProductsService } from './services/products.service';\r\nimport { ImportSetsService } from './services/importsets.service';\r\nimport { FabrikantenService } from './services/fabrikanten.service';\r\nimport { PhotoService } from './services/photo.service';\r\nimport { BestekService } from './services/bestek.service';\r\nimport { MobileService } from './services/mobile.service';\r\n\r\n// Material\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\n\r\n//\r\nimport { BeheerNavComponent } from './beheer/components/beheer-nav/beheer-nav.component';\r\nimport { BeheerUsersComponent } from './beheer/components/beheer-users/beheer-users.component';\r\nimport { BeheerProductsComponent } from './beheer/components/beheer-products/beheer-products.component';\r\nimport { BeheerFiltersComponent } from './beheer/components/beheer-filters/beheer-filters.component';\r\nimport { BeheerSettingsComponent } from './beheer/components/beheer-settings/beheer-settings.component';\r\nimport { FabLoaderComponent } from './components/fab-loader/fab-loader.component';\r\nimport { BeheerSearchProductsComponent } from './beheer/components/beheer-searchproducts/beheer-searchproducts.component';\r\nimport { BeheerSearchproductsKoppelDialogComponent } from './beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component';\r\nimport { BeheerProductsProductComponent } from './beheer/components/beheer-products/beheer-products-product/beheer-products-product.component';\r\nimport { BeheerProductsBcbproductComponent } from './beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component';\r\nimport { BeheerImportSetsComponent } from './beheer/components/beheer-import-sets/beheer-import-sets.component';\r\nimport { BeheerImportSetsOpbouwComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-opbouw/beheer-import-sets-opbouw.component';\r\nimport { BeheerImportSetsEigenschapComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component';\r\nimport { BeheerImportSetsEboComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component';\r\nimport { BeheerProductsEigenschapComponent } from './beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component';\r\nimport { BeheerProductsKoppelFilteroptionDailogComponent } from './beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';\r\nimport { FabFilterComponent } from './components/fab-filter/fab-filter.component';\r\nimport { FabProductComponent } from './components/fab-product/fab-product.component';\r\nimport { FabBcbProductComponent } from './components/fab-bcb-product/fab-bcb-product.component';\r\nimport { FabProductSelectComponent } from './components/fab-product-select/fab-product-select.component';\r\nimport { FabProductTileComponent } from './components/fab-product-tile/fab-product-tile.component';\r\nimport { FabProductInfoComponent } from './components/fab-product/fab-product-info/fab-product-info.component';\r\nimport { FabProductBestekComponent } from './components/fab-product/fab-product-bestek/fab-product-bestek.component';\r\nimport { FabProductInfoPhotoComponent } from './components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component';\r\nimport { FabProductInfoPhotoDialogComponent } from './components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component';\r\nimport { BeheerEboKoppelComponent } from './beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component';\r\nimport { BeheerSettingsOptionsComponent } from './beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component';\r\nimport { BeheerSettingsStringComponent } from './beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component';\nimport { BeheerImportSetsDialogComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component';\nimport { BeheerCategoriesComponent } from './beheer/components/beheer-categories/beheer-categories.component';\nimport { BeheerConnectCategoryDialogComponent } from './beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component';\nimport { FabStartComponent } from './components/fab-start/fab-start.component';\nimport { FabCategoriesComponent } from './components/fab-categories/fab-categories.component';\nimport { FabCategoryTileComponent } from './components/fab-category-tile/fab-category-tile.component';\nimport { FabBreadcrumbComponent } from './components/fab-breadcrumb/fab-breadcrumb.component';\nimport { FabFiltersInputComponent } from './components/fab-filters-input/fab-filters-input.component';\nimport { FabFiltersOverviewComponent } from './components/fab-filters-overview/fab-filters-overview.component';\nimport { FabFlagComponent } from './components/fab-flag/fab-flag.component';\nimport { BeheerTranslateComponent } from './beheer/components/beheer-translate/beheer-translate.component';\nimport { FabLanguageSelectComponent } from './components/fab-language-select/fab-language-select.component';\r\nimport { TranslateService } from './services/translate.service';\nimport { FabHeaderComponent } from './components/fab-header/fab-header.component';\r\nimport { NavigateService } from './services/navigate.service';\nimport { FabWebglViewerComponent } from './components/fab-webgl-viewer/fab-webgl-viewer.component';\r\nimport { WebGLService } from './services/webgl.service';\r\nimport { SVGService } from './services/svg.service';\nimport { FabSvgViewerComponent } from './components/fab-svg-viewer/fab-svg-viewer.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'beheer', children: [\r\n { path: 'inloggen', component: BeheerInlogComponent },\r\n { path: 'overview', component: BeheerMainComponent, canActivate: [AuthGuard] },\r\n { path: 'products', component: BeheerProductsComponent, canActivate: [AuthGuard] },\r\n { path: 'importsets', component: BeheerImportSetsComponent, canActivate: [AuthGuard] },\r\n { path: 'filters', component: BeheerFiltersComponent, canActivate: [AuthGuard] },\r\n { path: 'users', component: BeheerUsersComponent, canActivate: [AuthGuard] },\r\n { path: 'settings', component: BeheerSettingsComponent, canActivate: [AuthGuard] },\r\n { path: 'searchproducts', component: BeheerSearchProductsComponent, canActivate: [AuthGuard] },\r\n { path: 'ebokoppel', component: BeheerEboKoppelComponent, canActivate: [AuthGuard] },\r\n { path: 'categories', component: BeheerCategoriesComponent, canActivate: [AuthGuard] },\r\n { path: 'translate', component: BeheerTranslateComponent, canActivate: [AuthGuard] },\r\n { path: '', component: BeheerMainComponent, pathMatch: 'full', canActivate: [AuthGuard] }\r\n ]\r\n },\r\n { path: '', component: FabStartComponent },\r\n { path: 'categories', component: FabCategoriesComponent },\r\n { path: ':language/categories', component: FabCategoriesComponent },\r\n { path: 'products', component: FabProductSelectComponent },\r\n { path: ':language/products', component: FabProductSelectComponent },\r\n { path: 'product', component: FabProductComponent },\r\n { path: ':language/product', component: FabProductComponent },\r\n { path: '**', pathMatch: 'full', component: FabFiltersComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatTreeModule,\r\n MatSidenavModule,\r\n MatTableModule,\r\n MatButtonToggleModule,\r\n MatCheckboxModule,\r\n MatDividerModule,\r\n MatTabsModule,\r\n MatProgressSpinnerModule,\r\n MatSelectModule,\r\n MatSnackBarModule,\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: 'enabled',\r\n anchorScrolling: 'enabled',\r\n }),\t\r\n ],\r\n declarations: [\r\n FabFiltersComponent,\r\n BeheerMainComponent,\r\n BeheerInlogComponent,\r\n BeheerNavComponent,\r\n BeheerUsersComponent,\r\n BeheerProductsComponent,\r\n BeheerFiltersComponent,\r\n BeheerSettingsComponent,\r\n FabLoaderComponent,\r\n BeheerSearchProductsComponent,\r\n BeheerSearchproductsKoppelDialogComponent,\r\n BeheerProductsProductComponent,\r\n BeheerProductsBcbproductComponent,\r\n BeheerImportSetsComponent,\r\n BeheerImportSetsOpbouwComponent,\r\n BeheerImportSetsEigenschapComponent,\r\n BeheerImportSetsEboComponent,\r\n BeheerProductsEigenschapComponent,\r\n BeheerProductsKoppelFilteroptionDailogComponent,\r\n FabFilterComponent,\r\n FabProductComponent,\r\n FabBcbProductComponent,\r\n FabProductSelectComponent,\r\n FabProductTileComponent,\r\n FabProductInfoComponent,\r\n FabProductBestekComponent,\r\n FabProductInfoPhotoComponent,\r\n FabProductInfoPhotoDialogComponent,\r\n BeheerEboKoppelComponent,\r\n BeheerSettingsOptionsComponent,\r\n BeheerSettingsStringComponent,\r\n BeheerImportSetsDialogComponent,\r\n BeheerCategoriesComponent,\r\n BeheerConnectCategoryDialogComponent,\r\n FabStartComponent,\r\n FabCategoriesComponent,\r\n FabCategoryTileComponent,\r\n FabBreadcrumbComponent,\r\n FabFiltersInputComponent,\r\n FabFiltersOverviewComponent,\r\n FabFlagComponent,\r\n BeheerTranslateComponent,\r\n FabLanguageSelectComponent,\r\n FabHeaderComponent,\r\n FabWebglViewerComponent,\r\n FabSvgViewerComponent\r\n ],\r\n providers: [\r\n NavigateService,\r\n AuthenticationService,\r\n ProjectSettingService,\r\n ProductsService,\r\n PhotoService,\r\n BestekService,\r\n WebGLService,\r\n SVGService,\r\n MobileService,\r\n TranslateService,\r\n FabrikantenService,\r\n ImportSetsService,\r\n FiltersApiClient,\r\n FabrikantenApiClient,\r\n CategoriesApiClient,\r\n TranslateApiClient,\r\n EBOKoppelApiClient,\r\n SecurityApiClient,\r\n SearchProductsApiClient,\r\n ImportApiClient,\r\n ProductsApiClient,\r\n ProjectSettingApiClient,\r\n { provide: HTTP_INTERCEPTORS, useClass: BasicAuthInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n ],\r\n exports: [\r\n FabFiltersComponent\r\n ]\r\n})\r\n\r\nexport class FabrikantenCoreModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_observableMergeMap","_observableCatch","_observableThrow","_observableOf","i1.SecurityApiClient","i1.AuthenticationService","i1","i2.AuthenticationService","i2","i3.FabrikantenApiClient","i4","i1.BeheerNavComponent","i3.SecurityApiClient","i5","i6","i7","i8","i9.FabLoaderComponent","i2.FabrikantenApiClient","i1.TranslateApiClient","i2.NavigateService","i1.FabrikantenApiClient","i2.BestekService","i3.TranslateService","i4.WebGLService","i5.SVGService","i6.NavigateService","i1.FabrikantenService","i2.TranslateService","i4.FabFilterComponent","i2.PhotoService","i1.PhotoService","i1.MobileService","i3.FabrikantenService","i5.FabProductInfoPhotoComponent","i2.FabrikantenService","i4.BestekService","i1.TranslateService","i3.FabFlagComponent","i1.FabBreadcrumbComponent","i2.FabLanguageSelectComponent","i2.WebGLService","i4.MobileService","i8.FabLoaderComponent","i2.SVGService","i5.MobileService","i3.BestekService","i4.TranslateService","i9","i10","i11.FabProductInfoComponent","i12.FabProductBestekComponent","i13.FabFiltersInputComponent","i14.FabHeaderComponent","i15.FabWebglViewerComponent","i16.FabSvgViewerComponent","i3","i10.FabProductTileComponent","i11.FabFiltersInputComponent","i12.FabHeaderComponent","i3.FabProductComponent","i4.FabProductSelectComponent","i10.FabFiltersInputComponent","i11.FabFiltersOverviewComponent","i1.ProjectSettingApiClient","i1.ProductsApiClient","i1.ImportApiClient","i1.ProductsService","i2.CategoriesApiClient","i11.FabLoaderComponent","i2.FiltersApiClient","i3.ProductsApiClient","i2.ProductsService","i9.BeheerProductsEigenschapComponent","i2.ImportSetsService","i3.ImportApiClient","i8.BeheerNavComponent","i10.BeheerProductsProductComponent","i11.BeheerProductsBcbproductComponent","i1.ProjectSettingService","i4.BeheerNavComponent","i5.FabLoaderComponent","i6.BeheerSettingsOptionsComponent","i7.BeheerSettingsStringComponent","i2.SearchProductsApiClient","i11.BeheerNavComponent","i12.FabLoaderComponent","i2.ImportApiClient","i1.ImportSetsService","i6.BeheerImportSetsEboComponent","i3.ImportSetsService","i4.ImportApiClient","i11","i12.BeheerNavComponent","i13.FabLoaderComponent","i14.BeheerImportSetsOpbouwComponent","i15.BeheerImportSetsEigenschapComponent","i1.EBOKoppelApiClient","i7.BeheerNavComponent","i1.CategoriesApiClient","i5.FabCategoryTileComponent","i6.FabHeaderComponent","i2.TranslateApiClient","i10.BeheerNavComponent","i12.FabFlagComponent"],"mappings":"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"}
1
+ {"version":3,"file":"fabrikantencore.mjs","sources":["../../src/app/modules/fabrikantencore/swagger/SwaggerClient.ts","../../src/app/modules/fabrikantencore/services/authentication.service.ts","../../src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.ts","../../src/app/modules/fabrikantencore/helpers/error.interceptor.ts","../../src/app/modules/fabrikantencore/helpers/auth.guard.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.html","../../src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.ts","../../src/app/modules/fabrikantencore/components/fab-loader/fab-loader.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.html","../../src/app/modules/fabrikantencore/services/mobile.service.ts","../../src/app/modules/fabrikantencore/services/bestek.service.ts","../../src/app/modules/fabrikantencore/services/navigate.service.ts","../../src/app/modules/fabrikantencore/services/translate.service.ts","../../src/app/modules/fabrikantencore/services/webgl.service.ts","../../src/app/modules/fabrikantencore/services/svg.service.ts","../../src/app/modules/fabrikantencore/services/fabrikanten.service.ts","../../src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.ts","../../src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.html","../../src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.html","../../src/app/modules/fabrikantencore/services/photo.service.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.html","../../src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.ts","../../src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.html","../../src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.ts","../../src/app/modules/fabrikantencore/components/fab-flag/fab-flag.component.html","../../src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.ts","../../src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.html","../../src/app/modules/fabrikantencore/components/fab-header/fab-header.component.ts","../../src/app/modules/fabrikantencore/components/fab-header/fab-header.component.html","../../src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.ts","../../src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.html","../../src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.ts","../../src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.html","../../src/app/modules/fabrikantencore/components/fab-product/fab-product.component.ts","../../src/app/modules/fabrikantencore/components/fab-product/fab-product.component.html","../../src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.ts","../../src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.html","../../src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.ts","../../src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.html","../../src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters-overview/fab-filters-overview.component.html","../../src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.html","../../src/app/modules/fabrikantencore/services/projectsetting.service.ts","../../src/app/modules/fabrikantencore/services/products.service.ts","../../src/app/modules/fabrikantencore/services/importsets.service.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-searchproducts/beheer-searchproducts.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-opbouw/beheer-import-sets-opbouw.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-opbouw/beheer-import-sets-opbouw.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.html","../../src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.ts","../../src/app/modules/fabrikantencore/components/fab-bcb-product/fab-bcb-product.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-categories/beheer-categories.component.html","../../src/app/modules/fabrikantencore/components/fab-start/fab-start.component.ts","../../src/app/modules/fabrikantencore/components/fab-start/fab-start.component.html","../../src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.ts","../../src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.html","../../src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.ts","../../src/app/modules/fabrikantencore/components/fab-categories/fab-categories.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.html","../../src/app/modules/fabrikantencore/fabrikantencore.module.ts","../../fabrikantencore.ts"],"sourcesContent":["//----------------------\r\n// <auto-generated>\r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken<string>('API_BASE_URL');\r\n\r\n@Injectable()\r\nexport class CategoriesApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getCategoriesViewModel(): Observable<CategoriesViewModel> {\r\n let url_ = this.baseUrl + \"/api/categories/getcategoriesviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCategoriesViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCategoriesViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CategoriesViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CategoriesViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetCategoriesViewModel(response: HttpResponseBase): Observable<CategoriesViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CategoriesViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getCategoriesOverview(): Observable<CategoriesOverviewViewModel> {\r\n let url_ = this.baseUrl + \"/api/categories/getcategoriesoverview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetCategoriesOverview(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetCategoriesOverview(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CategoriesOverviewViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CategoriesOverviewViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetCategoriesOverview(response: HttpResponseBase): Observable<CategoriesOverviewViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CategoriesOverviewViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createCategory(pCreateCategoryRequest: CreateCategoryRequest): Observable<CreateCategoryResponse> {\r\n let url_ = this.baseUrl + \"/api/categories/createcategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateCategoryResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateCategoryResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateCategory(response: HttpResponseBase): Observable<CreateCategoryResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateCategoryResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class EBOKoppelApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getEBOKoppelViewModel(): Observable<EBOKoppelViewModel> {\r\n let url_ = this.baseUrl + \"/api/ebokoppel/getebokoppelviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetEBOKoppelViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetEBOKoppelViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<EBOKoppelViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<EBOKoppelViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetEBOKoppelViewModel(response: HttpResponseBase): Observable<EBOKoppelViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EBOKoppelViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelEBOOptie(pKoppelEBOOptieRequest: KoppelEBOOptieRequest): Observable<KoppelEBOOptieResponse> {\r\n let url_ = this.baseUrl + \"/api/ebokoppel/koppelebooptie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelEBOOptieRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelEBOOptie(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelEBOOptie(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<KoppelEBOOptieResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<KoppelEBOOptieResponse>;\r\n }));\r\n }\r\n\r\n protected processKoppelEBOOptie(response: HttpResponseBase): Observable<KoppelEBOOptieResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KoppelEBOOptieResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connectEBODOCategory(pConnectEBOCategoryRequest: ConnectEBODOCategoryRequest): Observable<ConnectEBODOCategoryResponse> {\r\n let url_ = this.baseUrl + \"/api/ebokoppel/connectebodocategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pConnectEBOCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processConnectEBODOCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectEBODOCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<ConnectEBODOCategoryResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<ConnectEBODOCategoryResponse>;\r\n }));\r\n }\r\n\r\n protected processConnectEBODOCategory(response: HttpResponseBase): Observable<ConnectEBODOCategoryResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ConnectEBODOCategoryResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class FabrikantenApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFabrikantenViewModel(pFabrikantenRequestModel: FabrikantenRequestModel): Observable<FabrikantenViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantenviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenViewModel(response: HttpResponseBase): Observable<FabrikantenViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikantenBestekViewModel(pFabrikantenBestekRequestModel: FabrikantenBestekRequestModel): Observable<FabrikantenBestekViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantenbestekviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenBestekRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenBestekViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenBestekViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenBestekViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenBestekViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenBestekViewModel(response: HttpResponseBase): Observable<FabrikantenBestekViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenBestekViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikanten3DViewModel(pFabrikanten3DRequestModel: Fabrikanten3DRequestModel): Observable<Fabrikanten3DViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikanten3dviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikanten3DRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikanten3DViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikanten3DViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<Fabrikanten3DViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<Fabrikanten3DViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikanten3DViewModel(response: HttpResponseBase): Observable<Fabrikanten3DViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = Fabrikanten3DViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikantenSVGViewModel(pFabrikantenSVGRequestModel: FabrikantenSVGRequestModel): Observable<FabrikantenSVGViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantensvgviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenSVGRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenSVGViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenSVGViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenSVGViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenSVGViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenSVGViewModel(response: HttpResponseBase): Observable<FabrikantenSVGViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenSVGViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFabrikantenFileViewModel(pFabrikantenFileRequestModel: FabrikantenFileRequestModel): Observable<FabrikantenFileViewModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getfabrikantenfileviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pFabrikantenFileRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFabrikantenFileViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFabrikantenFileViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FabrikantenFileViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FabrikantenFileViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFabrikantenFileViewModel(response: HttpResponseBase): Observable<FabrikantenFileViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FabrikantenFileViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getBCBLink(pBCBLinkRequestModel: BCBLinkRequestModel): Observable<BCBLinkResponseModel> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/getbcblink\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pBCBLinkRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBCBLink(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBCBLink(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBLinkResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBLinkResponseModel>;\r\n }));\r\n }\r\n\r\n protected processGetBCBLink(response: HttpResponseBase): Observable<BCBLinkResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBLinkResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetCache(): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetcache\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetCache(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetCache(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetCache(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n selectFilterOption(pSelectFilterOptionRequest: SelectFilterOptionRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/selectfilteroption\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSelectFilterOptionRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectFilterOption(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectFilterOption(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSelectFilterOption(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n selectCategory(pSelectCategoryRequest: SelectCategoryRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/selectcategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSelectCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSelectCategory(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetFilterSelection(pResetFilterRequest: ResetFilterRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetfilterselection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetFilterRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetFilterSelection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetFilterSelection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetFilterSelection(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetCategoryLayerSelection(pResetCategoryLayerRequest: ResetCategoryLayerRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetcategorylayerselection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetCategoryLayerRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetCategoryLayerSelection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetCategoryLayerSelection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetCategoryLayerSelection(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetAllFilters(pResetAllFiltersRequest: ResetAllFiltersRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetallfilters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetAllFiltersRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetAllFilters(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetAllFilters(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetAllFilters(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetAllCategories(pResetAllCategoriesRequest: ResetAllCategoriesRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/resetallcategories\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetAllCategoriesRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetAllCategories(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetAllCategories(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetAllCategories(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n selectProduct(pSelectProductRequest: SelectProductRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/selectproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSelectProductRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSelectProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSelectProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSelectProduct(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n removeProductSelection(pRemoveProductSelectionRequest: RemoveProductSelectionRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/fabrikanten/removeproductselection\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pRemoveProductSelectionRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRemoveProductSelection(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRemoveProductSelection(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processRemoveProductSelection(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class FiltersApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFiltersViewModel(): Observable<FiltersViewModel> {\r\n let url_ = this.baseUrl + \"/api/filters/getfiltersviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFiltersViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFiltersViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FiltersViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FiltersViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFiltersViewModel(response: HttpResponseBase): Observable<FiltersViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FiltersViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createFilter(pCreateFilterRequest: CreateFilterRequest): Observable<CreateFilterResponse> {\r\n let url_ = this.baseUrl + \"/api/filters/createfilter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateFilterRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateFilter(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateFilter(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateFilterResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateFilterResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateFilter(response: HttpResponseBase): Observable<CreateFilterResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateFilterResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createFilterOption(pCreateFilterOptionRequest: CreateFilterOptionRequest): Observable<CreateFilterOptionResponse> {\r\n let url_ = this.baseUrl + \"/api/filters/createfilteroption\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateFilterOptionRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateFilterOption(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateFilterOption(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateFilterOptionResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateFilterOptionResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateFilterOption(response: HttpResponseBase): Observable<CreateFilterOptionResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateFilterOptionResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ImportApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getBCBImportSetsViewModel(): Observable<BCBImportSetsViewModel> {\r\n let url_ = this.baseUrl + \"/api/import/getbcbimportsetsviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetBCBImportSetsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetBCBImportSetsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBImportSetsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBImportSetsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetBCBImportSetsViewModel(response: HttpResponseBase): Observable<BCBImportSetsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBImportSetsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n openBCBProduct(pBCBImportOpenRequest: BCBImportOpenRequest): Observable<BCBImportOpenResponse> {\r\n let url_ = this.baseUrl + \"/api/import/openbcbproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pBCBImportOpenRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processOpenBCBProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processOpenBCBProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBImportOpenResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBImportOpenResponse>;\r\n }));\r\n }\r\n\r\n protected processOpenBCBProduct(response: HttpResponseBase): Observable<BCBImportOpenResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBImportOpenResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n importBCBProduct(pBCBImportProductRequest: BCBImportProductRequest): Observable<BCBImportProductResponse> {\r\n let url_ = this.baseUrl + \"/api/import/importbcbproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pBCBImportProductRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processImportBCBProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processImportBCBProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<BCBImportProductResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<BCBImportProductResponse>;\r\n }));\r\n }\r\n\r\n protected processImportBCBProduct(response: HttpResponseBase): Observable<BCBImportProductResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BCBImportProductResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveImportSet(pSaveImportSetRequest: SaveImportSetRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/import/saveimportset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSaveImportSetRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSaveImportSet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveImportSet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSaveImportSet(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n changeImportSet(pChangeImportSetRequest: ChangeImportSetRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/import/changeimportset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pChangeImportSetRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processChangeImportSet(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processChangeImportSet(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processChangeImportSet(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ProductsApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getProductsViewModel(): Observable<ProductsViewModel> {\r\n let url_ = this.baseUrl + \"/api/products/getproductsviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetProductsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProductsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<ProductsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<ProductsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetProductsViewModel(response: HttpResponseBase): Observable<ProductsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ProductsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n saveProduct(pSaveProductViewModel: SaveProductViewModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/products/saveproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSaveProductViewModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSaveProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSaveProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSaveProduct(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n resetImport(pResetImportRequestModel: ResetImportRequestModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/products/resetimport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pResetImportRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processResetImport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processResetImport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processResetImport(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connectBCBEigenschapOptieFilterOption(pKoppelEigenschapOptieRequest: KoppelEigenschapOptieRequest): Observable<KoppelEigenschapOptieResponse> {\r\n let url_ = this.baseUrl + \"/api/products/connectbcbeigenschapoptiefilteroption\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelEigenschapOptieRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processConnectBCBEigenschapOptieFilterOption(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectBCBEigenschapOptieFilterOption(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<KoppelEigenschapOptieResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<KoppelEigenschapOptieResponse>;\r\n }));\r\n }\r\n\r\n protected processConnectBCBEigenschapOptieFilterOption(response: HttpResponseBase): Observable<KoppelEigenschapOptieResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KoppelEigenschapOptieResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n connectBCBEigenschapOptieCategory(pConnectBCBEigenschapOptieCategoryRequest: ConnectBCBEigenschapOptieCategoryRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/products/connectbcbeigenschapoptiecategory\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pConnectBCBEigenschapOptieCategoryRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processConnectBCBEigenschapOptieCategory(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processConnectBCBEigenschapOptieCategory(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processConnectBCBEigenschapOptieCategory(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelManyName(pKoppelManyNameRequest: KoppelManyNameRequest): Observable<KoppelManyNameResponse> {\r\n let url_ = this.baseUrl + \"/api/products/koppelmanyname\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelManyNameRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelManyName(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelManyName(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<KoppelManyNameResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<KoppelManyNameResponse>;\r\n }));\r\n }\r\n\r\n protected processKoppelManyName(response: HttpResponseBase): Observable<KoppelManyNameResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = KoppelManyNameResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ProjectSettingApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getProjectSettingsViewModel(): Observable<ProjectSettingsViewModel> {\r\n let url_ = this.baseUrl + \"/api/projectsettings/getprojectsettingsviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetProjectSettingsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProjectSettingsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<ProjectSettingsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<ProjectSettingsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetProjectSettingsViewModel(response: HttpResponseBase): Observable<ProjectSettingsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ProjectSettingsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n setProjectSettingModel(pSetProjectSettingRequestModel: SetProjectSettingRequestModel): Observable<SetProjectSettingResponseModel> {\r\n let url_ = this.baseUrl + \"/api/projectsettings/setprojectsettingmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSetProjectSettingRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSetProjectSettingModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSetProjectSettingModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<SetProjectSettingResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<SetProjectSettingResponseModel>;\r\n }));\r\n }\r\n\r\n protected processSetProjectSettingModel(response: HttpResponseBase): Observable<SetProjectSettingResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SetProjectSettingResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SearchProductsApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getSearchResults(pSearchProductsRequestModel: SearchProductsRequestModel): Observable<SearchProductsResponseModel> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/getsearchresults\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pSearchProductsRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetSearchResults(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetSearchResults(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<SearchProductsResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<SearchProductsResponseModel>;\r\n }));\r\n }\r\n\r\n protected processGetSearchResults(response: HttpResponseBase): Observable<SearchProductsResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchProductsResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n addNewProduct(pNewProductRequestModel: NewProductRequestModel): Observable<NewProductResponseModel> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/addnewproduct\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pNewProductRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAddNewProduct(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAddNewProduct(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<NewProductResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<NewProductResponseModel>;\r\n }));\r\n }\r\n\r\n protected processAddNewProduct(response: HttpResponseBase): Observable<NewProductResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = NewProductResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getProductsViewModel(): Observable<GetProductsViewModel> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/getproducts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetProductsViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetProductsViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<GetProductsViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<GetProductsViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetProductsViewModel(response: HttpResponseBase): Observable<GetProductsViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = GetProductsViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelProducts(pKoppelProductsRequestModel: KoppelProductsRequestModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/koppelproducts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelProductsRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelProducts(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelProducts(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processKoppelProducts(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n koppelProductsKenmerk(pKoppelProductsRequestModel: KoppelProductsRequestModel): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/searchproducts/koppelproductskenmerk\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pKoppelProductsRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processKoppelProductsKenmerk(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processKoppelProductsKenmerk(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processKoppelProductsKenmerk(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SecurityApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n authenticateUser(pLoginRequestModel: LoginRequestModel): Observable<LoginResponseModel> {\r\n let url_ = this.baseUrl + \"/api/security/authenticateuser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pLoginRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAuthenticateUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAuthenticateUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LoginResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LoginResponseModel>;\r\n }));\r\n }\r\n\r\n protected processAuthenticateUser(response: HttpResponseBase): Observable<LoginResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoginResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getLoginIPResponseModel(): Observable<LoginIPResponseModel> {\r\n let url_ = this.baseUrl + \"/api/security/getloginipresponsemodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetLoginIPResponseModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLoginIPResponseModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LoginIPResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LoginIPResponseModel>;\r\n }));\r\n }\r\n\r\n protected processGetLoginIPResponseModel(response: HttpResponseBase): Observable<LoginIPResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoginIPResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class TranslateApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getLanguagesViewModel(): Observable<LanguagesViewModel> {\r\n let url_ = this.baseUrl + \"/api/translate/getlanguagesviewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetLanguagesViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetLanguagesViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LanguagesViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LanguagesViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetLanguagesViewModel(response: HttpResponseBase): Observable<LanguagesViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LanguagesViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createLanguage(pCreateLanguageRequest: CreateLanguageRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/translate/createlanguage\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateLanguageRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateLanguage(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateLanguage(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processCreateLanguage(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n createExport(pCreateExportRequest: CreateExportRequest): Observable<CreateExportResponse> {\r\n let url_ = this.baseUrl + \"/api/translate/createexport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pCreateExportRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processCreateExport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processCreateExport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<CreateExportResponse>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<CreateExportResponse>;\r\n }));\r\n }\r\n\r\n protected processCreateExport(response: HttpResponseBase): Observable<CreateExportResponse> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateExportResponse.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n readExport(pReadExportRequest: ReadExportRequest): Observable<void> {\r\n let url_ = this.baseUrl + \"/api/translate/readexport\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pReadExportRequest);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processReadExport(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processReadExport(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processReadExport(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return _observableOf(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class CategoriesViewModel implements ICategoriesViewModel {\r\n categories?: CategoryViewModel[] | undefined;\r\n\r\n constructor(data?: ICategoriesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(CategoryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoriesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoriesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoriesViewModel {\r\n categories?: CategoryViewModel[] | undefined;\r\n}\r\n\r\nexport class CategoryViewModel implements ICategoryViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n layer!: number;\r\n imagePath?: string | undefined;\r\n\r\n constructor(data?: ICategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.layer = _data[\"layer\"];\r\n this.imagePath = _data[\"imagePath\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"layer\"] = this.layer;\r\n data[\"imagePath\"] = this.imagePath;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoryViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n layer: number;\r\n imagePath?: string | undefined;\r\n}\r\n\r\nexport class CategoriesOverviewViewModel implements ICategoriesOverviewViewModel {\r\n categories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n\r\n constructor(data?: ICategoriesOverviewViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(CategoriesOverviewCategorieViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"products\"])) {\r\n this.products = [] as any;\r\n for (let item of _data[\"products\"])\r\n this.products!.push(ProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoriesOverviewViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoriesOverviewViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.products)) {\r\n data[\"products\"] = [];\r\n for (let item of this.products)\r\n data[\"products\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoriesOverviewViewModel {\r\n categories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n}\r\n\r\nexport class CategoriesOverviewCategorieViewModel implements ICategoriesOverviewCategorieViewModel {\r\n id!: number;\r\n layer!: number;\r\n name?: string | undefined;\r\n subCategories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n\r\n constructor(data?: ICategoriesOverviewCategorieViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.layer = _data[\"layer\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"subCategories\"])) {\r\n this.subCategories = [] as any;\r\n for (let item of _data[\"subCategories\"])\r\n this.subCategories!.push(CategoriesOverviewCategorieViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"products\"])) {\r\n this.products = [] as any;\r\n for (let item of _data[\"products\"])\r\n this.products!.push(ProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CategoriesOverviewCategorieViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CategoriesOverviewCategorieViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"layer\"] = this.layer;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.subCategories)) {\r\n data[\"subCategories\"] = [];\r\n for (let item of this.subCategories)\r\n data[\"subCategories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.products)) {\r\n data[\"products\"] = [];\r\n for (let item of this.products)\r\n data[\"products\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICategoriesOverviewCategorieViewModel {\r\n id: number;\r\n layer: number;\r\n name?: string | undefined;\r\n subCategories?: CategoriesOverviewCategorieViewModel[] | undefined;\r\n products?: ProductViewModel[] | undefined;\r\n}\r\n\r\nexport class ProductViewModel implements IProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n position!: number;\r\n importSetId!: number;\r\n connected!: boolean;\r\n imported!: boolean;\r\n importStatus?: string | undefined;\r\n bcbProductViewModels?: BCBProductViewModel[] | undefined;\r\n\r\n constructor(data?: IProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.position = _data[\"position\"];\r\n this.importSetId = _data[\"importSetId\"];\r\n this.connected = _data[\"connected\"];\r\n this.imported = _data[\"imported\"];\r\n this.importStatus = _data[\"importStatus\"];\r\n if (Array.isArray(_data[\"bcbProductViewModels\"])) {\r\n this.bcbProductViewModels = [] as any;\r\n for (let item of _data[\"bcbProductViewModels\"])\r\n this.bcbProductViewModels!.push(BCBProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"position\"] = this.position;\r\n data[\"importSetId\"] = this.importSetId;\r\n data[\"connected\"] = this.connected;\r\n data[\"imported\"] = this.imported;\r\n data[\"importStatus\"] = this.importStatus;\r\n if (Array.isArray(this.bcbProductViewModels)) {\r\n data[\"bcbProductViewModels\"] = [];\r\n for (let item of this.bcbProductViewModels)\r\n data[\"bcbProductViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n position: number;\r\n importSetId: number;\r\n connected: boolean;\r\n imported: boolean;\r\n importStatus?: string | undefined;\r\n bcbProductViewModels?: BCBProductViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBProductViewModel implements IBCBProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n imported!: boolean;\r\n connected!: boolean;\r\n importStatus?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductEigenschapViewModels?: BCBProductEigenschapViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.imported = _data[\"imported\"];\r\n this.connected = _data[\"connected\"];\r\n this.importStatus = _data[\"importStatus\"];\r\n this.bcbeboViewModel = _data[\"bcbeboViewModel\"] ? BCBEBOViewModel.fromJS(_data[\"bcbeboViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbProductEigenschapViewModels\"])) {\r\n this.bcbProductEigenschapViewModels = [] as any;\r\n for (let item of _data[\"bcbProductEigenschapViewModels\"])\r\n this.bcbProductEigenschapViewModels!.push(BCBProductEigenschapViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"imported\"] = this.imported;\r\n data[\"connected\"] = this.connected;\r\n data[\"importStatus\"] = this.importStatus;\r\n data[\"bcbeboViewModel\"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbProductEigenschapViewModels)) {\r\n data[\"bcbProductEigenschapViewModels\"] = [];\r\n for (let item of this.bcbProductEigenschapViewModels)\r\n data[\"bcbProductEigenschapViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n imported: boolean;\r\n connected: boolean;\r\n importStatus?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductEigenschapViewModels?: BCBProductEigenschapViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEBOViewModel implements IBCBEBOViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n dOs?: BCBEBODOViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBEBOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"dOs\"])) {\r\n this.dOs = [] as any;\r\n for (let item of _data[\"dOs\"])\r\n this.dOs!.push(BCBEBODOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEBOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEBOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.dOs)) {\r\n data[\"dOs\"] = [];\r\n for (let item of this.dOs)\r\n data[\"dOs\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEBOViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n dOs?: BCBEBODOViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEBODOViewModel implements IBCBEBODOViewModel {\r\n id!: number;\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n connected!: boolean;\r\n\r\n constructor(data?: IBCBEBODOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.doType = _data[\"doType\"];\r\n this.doNaam = _data[\"doNaam\"];\r\n this.connected = _data[\"connected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEBODOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEBODOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"doType\"] = this.doType;\r\n data[\"doNaam\"] = this.doNaam;\r\n data[\"connected\"] = this.connected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEBODOViewModel {\r\n id: number;\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n connected: boolean;\r\n}\r\n\r\nexport class BCBProductEigenschapViewModel implements IBCBProductEigenschapViewModel {\r\n id!: number;\r\n connected!: boolean;\r\n open!: boolean;\r\n bcbEigenschapViewModel?: BCBEigenschapViewModel | undefined;\r\n bcbProductEigenschapOptieViewModels?: BCBProductEigenschapOptieViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBProductEigenschapViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.connected = _data[\"connected\"];\r\n this.open = _data[\"open\"];\r\n this.bcbEigenschapViewModel = _data[\"bcbEigenschapViewModel\"] ? BCBEigenschapViewModel.fromJS(_data[\"bcbEigenschapViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbProductEigenschapOptieViewModels\"])) {\r\n this.bcbProductEigenschapOptieViewModels = [] as any;\r\n for (let item of _data[\"bcbProductEigenschapOptieViewModels\"])\r\n this.bcbProductEigenschapOptieViewModels!.push(BCBProductEigenschapOptieViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBProductEigenschapViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBProductEigenschapViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"connected\"] = this.connected;\r\n data[\"open\"] = this.open;\r\n data[\"bcbEigenschapViewModel\"] = this.bcbEigenschapViewModel ? this.bcbEigenschapViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbProductEigenschapOptieViewModels)) {\r\n data[\"bcbProductEigenschapOptieViewModels\"] = [];\r\n for (let item of this.bcbProductEigenschapOptieViewModels)\r\n data[\"bcbProductEigenschapOptieViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBProductEigenschapViewModel {\r\n id: number;\r\n connected: boolean;\r\n open: boolean;\r\n bcbEigenschapViewModel?: BCBEigenschapViewModel | undefined;\r\n bcbProductEigenschapOptieViewModels?: BCBProductEigenschapOptieViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEigenschapViewModel implements IBCBEigenschapViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IBCBEigenschapViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class BCBProductEigenschapOptieViewModel implements IBCBProductEigenschapOptieViewModel {\r\n id!: number;\r\n bcbEigenschapOptieViewModel?: BCBEigenschapOptieViewModel | undefined;\r\n connected!: boolean;\r\n\r\n constructor(data?: IBCBProductEigenschapOptieViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bcbEigenschapOptieViewModel = _data[\"bcbEigenschapOptieViewModel\"] ? BCBEigenschapOptieViewModel.fromJS(_data[\"bcbEigenschapOptieViewModel\"]) : <any>undefined;\r\n this.connected = _data[\"connected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBProductEigenschapOptieViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBProductEigenschapOptieViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bcbEigenschapOptieViewModel\"] = this.bcbEigenschapOptieViewModel ? this.bcbEigenschapOptieViewModel.toJSON() : <any>undefined;\r\n data[\"connected\"] = this.connected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBProductEigenschapOptieViewModel {\r\n id: number;\r\n bcbEigenschapOptieViewModel?: BCBEigenschapOptieViewModel | undefined;\r\n connected: boolean;\r\n}\r\n\r\nexport class BCBEigenschapOptieViewModel implements IBCBEigenschapOptieViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n connected!: boolean;\r\n bcbEigenschapOptieFilterOptionViewModels?: BCBEigenschapOptieFilterOptionViewModel[] | undefined;\r\n bcbEigenschapOptieCategoryViewModels?: BCBEigenschapOptieCategoryViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBEigenschapOptieViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.connected = _data[\"connected\"];\r\n if (Array.isArray(_data[\"bcbEigenschapOptieFilterOptionViewModels\"])) {\r\n this.bcbEigenschapOptieFilterOptionViewModels = [] as any;\r\n for (let item of _data[\"bcbEigenschapOptieFilterOptionViewModels\"])\r\n this.bcbEigenschapOptieFilterOptionViewModels!.push(BCBEigenschapOptieFilterOptionViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"bcbEigenschapOptieCategoryViewModels\"])) {\r\n this.bcbEigenschapOptieCategoryViewModels = [] as any;\r\n for (let item of _data[\"bcbEigenschapOptieCategoryViewModels\"])\r\n this.bcbEigenschapOptieCategoryViewModels!.push(BCBEigenschapOptieCategoryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapOptieViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapOptieViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"connected\"] = this.connected;\r\n if (Array.isArray(this.bcbEigenschapOptieFilterOptionViewModels)) {\r\n data[\"bcbEigenschapOptieFilterOptionViewModels\"] = [];\r\n for (let item of this.bcbEigenschapOptieFilterOptionViewModels)\r\n data[\"bcbEigenschapOptieFilterOptionViewModels\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.bcbEigenschapOptieCategoryViewModels)) {\r\n data[\"bcbEigenschapOptieCategoryViewModels\"] = [];\r\n for (let item of this.bcbEigenschapOptieCategoryViewModels)\r\n data[\"bcbEigenschapOptieCategoryViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapOptieViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n connected: boolean;\r\n bcbEigenschapOptieFilterOptionViewModels?: BCBEigenschapOptieFilterOptionViewModel[] | undefined;\r\n bcbEigenschapOptieCategoryViewModels?: BCBEigenschapOptieCategoryViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBEigenschapOptieFilterOptionViewModel implements IBCBEigenschapOptieFilterOptionViewModel {\r\n id!: number;\r\n filterOptionViewModel?: FilterOptionViewModel | undefined;\r\n\r\n constructor(data?: IBCBEigenschapOptieFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filterOptionViewModel = _data[\"filterOptionViewModel\"] ? FilterOptionViewModel.fromJS(_data[\"filterOptionViewModel\"]) : <any>undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapOptieFilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapOptieFilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filterOptionViewModel\"] = this.filterOptionViewModel ? this.filterOptionViewModel.toJSON() : <any>undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapOptieFilterOptionViewModel {\r\n id: number;\r\n filterOptionViewModel?: FilterOptionViewModel | undefined;\r\n}\r\n\r\nexport class FilterOptionViewModel implements IFilterOptionViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n filterName?: string | undefined;\r\n\r\n constructor(data?: IFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.colour = _data[\"colour\"];\r\n this.filterName = _data[\"filterName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"colour\"] = this.colour;\r\n data[\"filterName\"] = this.filterName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterOptionViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n filterName?: string | undefined;\r\n}\r\n\r\nexport class BCBEigenschapOptieCategoryViewModel implements IBCBEigenschapOptieCategoryViewModel {\r\n id!: number;\r\n categoryViewModel?: CategoryViewModel | undefined;\r\n\r\n constructor(data?: IBCBEigenschapOptieCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.categoryViewModel = _data[\"categoryViewModel\"] ? CategoryViewModel.fromJS(_data[\"categoryViewModel\"]) : <any>undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBEigenschapOptieCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBEigenschapOptieCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"categoryViewModel\"] = this.categoryViewModel ? this.categoryViewModel.toJSON() : <any>undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBEigenschapOptieCategoryViewModel {\r\n id: number;\r\n categoryViewModel?: CategoryViewModel | undefined;\r\n}\r\n\r\nexport class CreateCategoryResponse implements ICreateCategoryResponse {\r\n success!: boolean;\r\n id!: number;\r\n\r\n constructor(data?: ICreateCategoryResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCategoryResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCategoryResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCategoryResponse {\r\n success: boolean;\r\n id: number;\r\n}\r\n\r\nexport class CreateCategoryRequest implements ICreateCategoryRequest {\r\n name?: string | undefined;\r\n\r\n constructor(data?: ICreateCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCategoryRequest {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class EBOKoppelViewModel implements IEBOKoppelViewModel {\r\n eboKoppelTypeViewModels?: EBOKoppelTypeViewModel[] | undefined;\r\n\r\n constructor(data?: IEBOKoppelViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"eboKoppelTypeViewModels\"])) {\r\n this.eboKoppelTypeViewModels = [] as any;\r\n for (let item of _data[\"eboKoppelTypeViewModels\"])\r\n this.eboKoppelTypeViewModels!.push(EBOKoppelTypeViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EBOKoppelViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EBOKoppelViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.eboKoppelTypeViewModels)) {\r\n data[\"eboKoppelTypeViewModels\"] = [];\r\n for (let item of this.eboKoppelTypeViewModels)\r\n data[\"eboKoppelTypeViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEBOKoppelViewModel {\r\n eboKoppelTypeViewModels?: EBOKoppelTypeViewModel[] | undefined;\r\n}\r\n\r\nexport class EBOKoppelTypeViewModel implements IEBOKoppelTypeViewModel {\r\n type?: string | undefined;\r\n namen?: BCBEBODOViewModel[] | undefined;\r\n\r\n constructor(data?: IEBOKoppelTypeViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"namen\"])) {\r\n this.namen = [] as any;\r\n for (let item of _data[\"namen\"])\r\n this.namen!.push(BCBEBODOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EBOKoppelTypeViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EBOKoppelTypeViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.namen)) {\r\n data[\"namen\"] = [];\r\n for (let item of this.namen)\r\n data[\"namen\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEBOKoppelTypeViewModel {\r\n type?: string | undefined;\r\n namen?: BCBEBODOViewModel[] | undefined;\r\n}\r\n\r\nexport class KoppelEBOOptieResponse implements IKoppelEBOOptieResponse {\r\n\r\n constructor(data?: IKoppelEBOOptieResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): KoppelEBOOptieResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEBOOptieResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEBOOptieResponse {\r\n}\r\n\r\nexport class KoppelEBOOptieRequest implements IKoppelEBOOptieRequest {\r\n bcbImportSetId!: number;\r\n bcbebodoId!: number;\r\n filterOptionId!: number;\r\n\r\n constructor(data?: IKoppelEBOOptieRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbImportSetId = _data[\"bcbImportSetId\"];\r\n this.bcbebodoId = _data[\"bcbebodoId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelEBOOptieRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEBOOptieRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbImportSetId\"] = this.bcbImportSetId;\r\n data[\"bcbebodoId\"] = this.bcbebodoId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEBOOptieRequest {\r\n bcbImportSetId: number;\r\n bcbebodoId: number;\r\n filterOptionId: number;\r\n}\r\n\r\nexport class ConnectEBODOCategoryResponse implements IConnectEBODOCategoryResponse {\r\n\r\n constructor(data?: IConnectEBODOCategoryResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ConnectEBODOCategoryResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectEBODOCategoryResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectEBODOCategoryResponse {\r\n}\r\n\r\nexport class ConnectEBODOCategoryRequest implements IConnectEBODOCategoryRequest {\r\n bcbebodoId!: number;\r\n categoryId!: number;\r\n\r\n constructor(data?: IConnectEBODOCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbebodoId = _data[\"bcbebodoId\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectEBODOCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectEBODOCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbebodoId\"] = this.bcbebodoId;\r\n data[\"categoryId\"] = this.categoryId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectEBODOCategoryRequest {\r\n bcbebodoId: number;\r\n categoryId: number;\r\n}\r\n\r\nexport class FabrikantenViewModel implements IFabrikantenViewModel {\r\n sessionId?: string | undefined;\r\n bcbWebserviceURLBase?: string | undefined;\r\n categoryLayers?: FabrikantenCategoryLayerViewModel[] | undefined;\r\n filters?: FabrikantenFilterViewModel[] | undefined;\r\n products?: FabrikantenProductViewModel[] | undefined;\r\n selectedProduct?: FabrikantenProductViewModel | undefined;\r\n\r\n constructor(data?: IFabrikantenViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.bcbWebserviceURLBase = _data[\"bcbWebserviceURLBase\"];\r\n if (Array.isArray(_data[\"categoryLayers\"])) {\r\n this.categoryLayers = [] as any;\r\n for (let item of _data[\"categoryLayers\"])\r\n this.categoryLayers!.push(FabrikantenCategoryLayerViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"filters\"])) {\r\n this.filters = [] as any;\r\n for (let item of _data[\"filters\"])\r\n this.filters!.push(FabrikantenFilterViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"products\"])) {\r\n this.products = [] as any;\r\n for (let item of _data[\"products\"])\r\n this.products!.push(FabrikantenProductViewModel.fromJS(item));\r\n }\r\n this.selectedProduct = _data[\"selectedProduct\"] ? FabrikantenProductViewModel.fromJS(_data[\"selectedProduct\"]) : <any>undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"bcbWebserviceURLBase\"] = this.bcbWebserviceURLBase;\r\n if (Array.isArray(this.categoryLayers)) {\r\n data[\"categoryLayers\"] = [];\r\n for (let item of this.categoryLayers)\r\n data[\"categoryLayers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.filters)) {\r\n data[\"filters\"] = [];\r\n for (let item of this.filters)\r\n data[\"filters\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.products)) {\r\n data[\"products\"] = [];\r\n for (let item of this.products)\r\n data[\"products\"].push(item.toJSON());\r\n }\r\n data[\"selectedProduct\"] = this.selectedProduct ? this.selectedProduct.toJSON() : <any>undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenViewModel {\r\n sessionId?: string | undefined;\r\n bcbWebserviceURLBase?: string | undefined;\r\n categoryLayers?: FabrikantenCategoryLayerViewModel[] | undefined;\r\n filters?: FabrikantenFilterViewModel[] | undefined;\r\n products?: FabrikantenProductViewModel[] | undefined;\r\n selectedProduct?: FabrikantenProductViewModel | undefined;\r\n}\r\n\r\nexport class FabrikantenCategoryLayerViewModel implements IFabrikantenCategoryLayerViewModel {\r\n layer!: number;\r\n selectedOption!: number;\r\n categories?: FabrikantenCategoryViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenCategoryLayerViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.layer = _data[\"layer\"];\r\n this.selectedOption = _data[\"selectedOption\"];\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(FabrikantenCategoryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenCategoryLayerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenCategoryLayerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"layer\"] = this.layer;\r\n data[\"selectedOption\"] = this.selectedOption;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenCategoryLayerViewModel {\r\n layer: number;\r\n selectedOption: number;\r\n categories?: FabrikantenCategoryViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenCategoryViewModel implements IFabrikantenCategoryViewModel {\r\n id!: number;\r\n layer!: number;\r\n name?: string | undefined;\r\n imagePath?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.layer = _data[\"layer\"];\r\n this.name = _data[\"name\"];\r\n this.imagePath = _data[\"imagePath\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"layer\"] = this.layer;\r\n data[\"name\"] = this.name;\r\n data[\"imagePath\"] = this.imagePath;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenCategoryViewModel {\r\n id: number;\r\n layer: number;\r\n name?: string | undefined;\r\n imagePath?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenFilterViewModel implements IFabrikantenFilterViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n selectedOption!: number;\r\n options?: FabrikantenFilterOptionViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.selectedOption = _data[\"selectedOption\"];\r\n if (Array.isArray(_data[\"options\"])) {\r\n this.options = [] as any;\r\n for (let item of _data[\"options\"])\r\n this.options!.push(FabrikantenFilterOptionViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"selectedOption\"] = this.selectedOption;\r\n if (Array.isArray(this.options)) {\r\n data[\"options\"] = [];\r\n for (let item of this.options)\r\n data[\"options\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFilterViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n selectedOption: number;\r\n options?: FabrikantenFilterOptionViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenFilterOptionViewModel implements IFabrikantenFilterOptionViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.colour = _data[\"colour\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"colour\"] = this.colour;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFilterOptionViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n colour?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenProductViewModel implements IFabrikantenProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n fabrikantenBCBProductViewModels?: FabrikantenBCBProductViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"fabrikantenBCBProductViewModels\"])) {\r\n this.fabrikantenBCBProductViewModels = [] as any;\r\n for (let item of _data[\"fabrikantenBCBProductViewModels\"])\r\n this.fabrikantenBCBProductViewModels!.push(FabrikantenBCBProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.fabrikantenBCBProductViewModels)) {\r\n data[\"fabrikantenBCBProductViewModels\"] = [];\r\n for (let item of this.fabrikantenBCBProductViewModels)\r\n data[\"fabrikantenBCBProductViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n fabrikantenBCBProductViewModels?: FabrikantenBCBProductViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenBCBProductViewModel implements IFabrikantenBCBProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductAfbeeldingen?: FabrikantenBCBProductAfbeeldingViewModel[] | undefined;\r\n\r\n constructor(data?: IFabrikantenBCBProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.bcbeboViewModel = _data[\"bcbeboViewModel\"] ? BCBEBOViewModel.fromJS(_data[\"bcbeboViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbProductAfbeeldingen\"])) {\r\n this.bcbProductAfbeeldingen = [] as any;\r\n for (let item of _data[\"bcbProductAfbeeldingen\"])\r\n this.bcbProductAfbeeldingen!.push(FabrikantenBCBProductAfbeeldingViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBCBProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBCBProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"bcbeboViewModel\"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbProductAfbeeldingen)) {\r\n data[\"bcbProductAfbeeldingen\"] = [];\r\n for (let item of this.bcbProductAfbeeldingen)\r\n data[\"bcbProductAfbeeldingen\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBCBProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbProductAfbeeldingen?: FabrikantenBCBProductAfbeeldingViewModel[] | undefined;\r\n}\r\n\r\nexport class FabrikantenBCBProductAfbeeldingViewModel implements IFabrikantenBCBProductAfbeeldingViewModel {\r\n id!: number;\r\n description?: string | undefined;\r\n url?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenBCBProductAfbeeldingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBCBProductAfbeeldingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBCBProductAfbeeldingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBCBProductAfbeeldingViewModel {\r\n id: number;\r\n description?: string | undefined;\r\n url?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenRequestModel implements IFabrikantenRequestModel {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenRequestModel {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenBestekViewModel implements IFabrikantenBestekViewModel {\r\n bestandsnaam?: string | undefined;\r\n stabu?: string | undefined;\r\n suf?: string | undefined;\r\n osfhtml?: string | undefined;\r\n vrijBestekHTML?: string | undefined;\r\n wuid?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenBestekViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bestandsnaam = _data[\"bestandsnaam\"];\r\n this.stabu = _data[\"stabu\"];\r\n this.suf = _data[\"suf\"];\r\n this.osfhtml = _data[\"osfhtml\"];\r\n this.vrijBestekHTML = _data[\"vrijBestekHTML\"];\r\n this.wuid = _data[\"wuid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBestekViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBestekViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bestandsnaam\"] = this.bestandsnaam;\r\n data[\"stabu\"] = this.stabu;\r\n data[\"suf\"] = this.suf;\r\n data[\"osfhtml\"] = this.osfhtml;\r\n data[\"vrijBestekHTML\"] = this.vrijBestekHTML;\r\n data[\"wuid\"] = this.wuid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBestekViewModel {\r\n bestandsnaam?: string | undefined;\r\n stabu?: string | undefined;\r\n suf?: string | undefined;\r\n osfhtml?: string | undefined;\r\n vrijBestekHTML?: string | undefined;\r\n wuid?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenBestekRequestModel implements IFabrikantenBestekRequestModel {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenBestekRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenBestekRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenBestekRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenBestekRequestModel {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class Fabrikanten3DViewModel implements IFabrikanten3DViewModel {\r\n wuid?: string | undefined;\r\n webGLJSON?: string | undefined;\r\n nativeRFA!: boolean;\r\n\r\n constructor(data?: IFabrikanten3DViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.wuid = _data[\"wuid\"];\r\n this.webGLJSON = _data[\"webGLJSON\"];\r\n this.nativeRFA = _data[\"nativeRFA\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Fabrikanten3DViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Fabrikanten3DViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"wuid\"] = this.wuid;\r\n data[\"webGLJSON\"] = this.webGLJSON;\r\n data[\"nativeRFA\"] = this.nativeRFA;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikanten3DViewModel {\r\n wuid?: string | undefined;\r\n webGLJSON?: string | undefined;\r\n nativeRFA: boolean;\r\n}\r\n\r\nexport class Fabrikanten3DRequestModel implements IFabrikanten3DRequestModel {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikanten3DRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Fabrikanten3DRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Fabrikanten3DRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikanten3DRequestModel {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenSVGViewModel implements IFabrikantenSVGViewModel {\r\n wuid?: string | undefined;\r\n svg?: string | undefined;\r\n nativeRFA!: boolean;\r\n\r\n constructor(data?: IFabrikantenSVGViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.wuid = _data[\"wuid\"];\r\n this.svg = _data[\"svg\"];\r\n this.nativeRFA = _data[\"nativeRFA\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenSVGViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenSVGViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"wuid\"] = this.wuid;\r\n data[\"svg\"] = this.svg;\r\n data[\"nativeRFA\"] = this.nativeRFA;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenSVGViewModel {\r\n wuid?: string | undefined;\r\n svg?: string | undefined;\r\n nativeRFA: boolean;\r\n}\r\n\r\nexport class FabrikantenSVGRequestModel implements IFabrikantenSVGRequestModel {\r\n width!: number;\r\n height!: number;\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenSVGRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.width = _data[\"width\"];\r\n this.height = _data[\"height\"];\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenSVGRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenSVGRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"width\"] = this.width;\r\n data[\"height\"] = this.height;\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenSVGRequestModel {\r\n width: number;\r\n height: number;\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenFileViewModel implements IFabrikantenFileViewModel {\r\n file?: string | undefined;\r\n data?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenFileViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"file\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFileViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFileViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"file\"] = this.file;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFileViewModel {\r\n file?: string | undefined;\r\n data?: string | undefined;\r\n}\r\n\r\nexport class FabrikantenFileRequestModel implements IFabrikantenFileRequestModel {\r\n fileType?: string | undefined;\r\n model3D!: boolean;\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IFabrikantenFileRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileType = _data[\"fileType\"];\r\n this.model3D = _data[\"model3D\"];\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FabrikantenFileRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FabrikantenFileRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileType\"] = this.fileType;\r\n data[\"model3D\"] = this.model3D;\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFabrikantenFileRequestModel {\r\n fileType?: string | undefined;\r\n model3D: boolean;\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class BCBLinkResponseModel implements IBCBLinkResponseModel {\r\n url?: string | undefined;\r\n\r\n constructor(data?: IBCBLinkResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBLinkResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBLinkResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBLinkResponseModel {\r\n url?: string | undefined;\r\n}\r\n\r\nexport class BCBLinkRequestModel implements IBCBLinkRequestModel {\r\n wuid?: string | undefined;\r\n\r\n constructor(data?: IBCBLinkRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.wuid = _data[\"wuid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBLinkRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBLinkRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"wuid\"] = this.wuid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBLinkRequestModel {\r\n wuid?: string | undefined;\r\n}\r\n\r\nexport class SelectFilterOptionRequest implements ISelectFilterOptionRequest {\r\n sessionId?: string | undefined;\r\n filterId!: number;\r\n filterOptionId!: number;\r\n\r\n constructor(data?: ISelectFilterOptionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.filterId = _data[\"filterId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectFilterOptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectFilterOptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"filterId\"] = this.filterId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectFilterOptionRequest {\r\n sessionId?: string | undefined;\r\n filterId: number;\r\n filterOptionId: number;\r\n}\r\n\r\nexport class SelectCategoryRequest implements ISelectCategoryRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer!: number;\r\n categoryId!: number;\r\n\r\n constructor(data?: ISelectCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.categoryLayer = _data[\"categoryLayer\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"categoryLayer\"] = this.categoryLayer;\r\n data[\"categoryId\"] = this.categoryId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectCategoryRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer: number;\r\n categoryId: number;\r\n}\r\n\r\nexport class ResetFilterRequest implements IResetFilterRequest {\r\n sessionId?: string | undefined;\r\n filterId!: number;\r\n\r\n constructor(data?: IResetFilterRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.filterId = _data[\"filterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetFilterRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetFilterRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"filterId\"] = this.filterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetFilterRequest {\r\n sessionId?: string | undefined;\r\n filterId: number;\r\n}\r\n\r\nexport class ResetCategoryLayerRequest implements IResetCategoryLayerRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer!: number;\r\n\r\n constructor(data?: IResetCategoryLayerRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.categoryLayer = _data[\"categoryLayer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetCategoryLayerRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetCategoryLayerRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"categoryLayer\"] = this.categoryLayer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetCategoryLayerRequest {\r\n sessionId?: string | undefined;\r\n categoryLayer: number;\r\n}\r\n\r\nexport class ResetAllFiltersRequest implements IResetAllFiltersRequest {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IResetAllFiltersRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetAllFiltersRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetAllFiltersRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetAllFiltersRequest {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class ResetAllCategoriesRequest implements IResetAllCategoriesRequest {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IResetAllCategoriesRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetAllCategoriesRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetAllCategoriesRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetAllCategoriesRequest {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class SelectProductRequest implements ISelectProductRequest {\r\n sessionId?: string | undefined;\r\n productId!: number;\r\n\r\n constructor(data?: ISelectProductRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n this.productId = _data[\"productId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectProductRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectProductRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n data[\"productId\"] = this.productId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectProductRequest {\r\n sessionId?: string | undefined;\r\n productId: number;\r\n}\r\n\r\nexport class RemoveProductSelectionRequest implements IRemoveProductSelectionRequest {\r\n sessionId?: string | undefined;\r\n\r\n constructor(data?: IRemoveProductSelectionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sessionId = _data[\"sessionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RemoveProductSelectionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RemoveProductSelectionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sessionId\"] = this.sessionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRemoveProductSelectionRequest {\r\n sessionId?: string | undefined;\r\n}\r\n\r\nexport class FiltersViewModel implements IFiltersViewModel {\r\n filterViewModels?: FilterViewModel[] | undefined;\r\n\r\n constructor(data?: IFiltersViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"filterViewModels\"])) {\r\n this.filterViewModels = [] as any;\r\n for (let item of _data[\"filterViewModels\"])\r\n this.filterViewModels!.push(FilterViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FiltersViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FiltersViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.filterViewModels)) {\r\n data[\"filterViewModels\"] = [];\r\n for (let item of this.filterViewModels)\r\n data[\"filterViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFiltersViewModel {\r\n filterViewModels?: FilterViewModel[] | undefined;\r\n}\r\n\r\nexport class FilterViewModel implements IFilterViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n filterOptionViewModels?: FilterOptionViewModel[] | undefined;\r\n\r\n constructor(data?: IFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"filterOptionViewModels\"])) {\r\n this.filterOptionViewModels = [] as any;\r\n for (let item of _data[\"filterOptionViewModels\"])\r\n this.filterOptionViewModels!.push(FilterOptionViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.filterOptionViewModels)) {\r\n data[\"filterOptionViewModels\"] = [];\r\n for (let item of this.filterOptionViewModels)\r\n data[\"filterOptionViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n filterOptionViewModels?: FilterOptionViewModel[] | undefined;\r\n}\r\n\r\nexport class CreateFilterResponse implements ICreateFilterResponse {\r\n success!: boolean;\r\n id!: number;\r\n\r\n constructor(data?: ICreateFilterResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterResponse {\r\n success: boolean;\r\n id: number;\r\n}\r\n\r\nexport class CreateFilterRequest implements ICreateFilterRequest {\r\n name?: string | undefined;\r\n\r\n constructor(data?: ICreateFilterRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterRequest {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class CreateFilterOptionResponse implements ICreateFilterOptionResponse {\r\n success!: boolean;\r\n id!: number;\r\n\r\n constructor(data?: ICreateFilterOptionResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterOptionResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterOptionResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterOptionResponse {\r\n success: boolean;\r\n id: number;\r\n}\r\n\r\nexport class CreateFilterOptionRequest implements ICreateFilterOptionRequest {\r\n name?: string | undefined;\r\n filterId!: number;\r\n\r\n constructor(data?: ICreateFilterOptionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.filterId = _data[\"filterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateFilterOptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateFilterOptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"filterId\"] = this.filterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateFilterOptionRequest {\r\n name?: string | undefined;\r\n filterId: number;\r\n}\r\n\r\nexport class BCBImportSetsViewModel implements IBCBImportSetsViewModel {\r\n bcbImportSetViewModels?: BCBImportSetViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBImportSetsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"bcbImportSetViewModels\"])) {\r\n this.bcbImportSetViewModels = [] as any;\r\n for (let item of _data[\"bcbImportSetViewModels\"])\r\n this.bcbImportSetViewModels!.push(BCBImportSetViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportSetsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportSetsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.bcbImportSetViewModels)) {\r\n data[\"bcbImportSetViewModels\"] = [];\r\n for (let item of this.bcbImportSetViewModels)\r\n data[\"bcbImportSetViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportSetsViewModel {\r\n bcbImportSetViewModels?: BCBImportSetViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBImportSetViewModel implements IBCBImportSetViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n bcbImportSetValueViewModels?: BCBImportSetValueViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBImportSetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"bcbImportSetValueViewModels\"])) {\r\n this.bcbImportSetValueViewModels = [] as any;\r\n for (let item of _data[\"bcbImportSetValueViewModels\"])\r\n this.bcbImportSetValueViewModels!.push(BCBImportSetValueViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportSetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportSetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.bcbImportSetValueViewModels)) {\r\n data[\"bcbImportSetValueViewModels\"] = [];\r\n for (let item of this.bcbImportSetValueViewModels)\r\n data[\"bcbImportSetValueViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportSetViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n bcbImportSetValueViewModels?: BCBImportSetValueViewModel[] | undefined;\r\n}\r\n\r\nexport class BCBImportSetValueViewModel implements IBCBImportSetValueViewModel {\r\n id!: number;\r\n value?: string | undefined;\r\n\r\n constructor(data?: IBCBImportSetValueViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportSetValueViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportSetValueViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportSetValueViewModel {\r\n id: number;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class BCBImportOpenResponse implements IBCBImportOpenResponse {\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbImportOpbouwen?: BCBImportOpbouw[] | undefined;\r\n bcbImportEigenschappen?: BCBImportEigenschap[] | undefined;\r\n\r\n constructor(data?: IBCBImportOpenResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbeboViewModel = _data[\"bcbeboViewModel\"] ? BCBEBOViewModel.fromJS(_data[\"bcbeboViewModel\"]) : <any>undefined;\r\n if (Array.isArray(_data[\"bcbImportOpbouwen\"])) {\r\n this.bcbImportOpbouwen = [] as any;\r\n for (let item of _data[\"bcbImportOpbouwen\"])\r\n this.bcbImportOpbouwen!.push(BCBImportOpbouw.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"bcbImportEigenschappen\"])) {\r\n this.bcbImportEigenschappen = [] as any;\r\n for (let item of _data[\"bcbImportEigenschappen\"])\r\n this.bcbImportEigenschappen!.push(BCBImportEigenschap.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportOpenResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportOpenResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbeboViewModel\"] = this.bcbeboViewModel ? this.bcbeboViewModel.toJSON() : <any>undefined;\r\n if (Array.isArray(this.bcbImportOpbouwen)) {\r\n data[\"bcbImportOpbouwen\"] = [];\r\n for (let item of this.bcbImportOpbouwen)\r\n data[\"bcbImportOpbouwen\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.bcbImportEigenschappen)) {\r\n data[\"bcbImportEigenschappen\"] = [];\r\n for (let item of this.bcbImportEigenschappen)\r\n data[\"bcbImportEigenschappen\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportOpenResponse {\r\n bcbeboViewModel?: BCBEBOViewModel | undefined;\r\n bcbImportOpbouwen?: BCBImportOpbouw[] | undefined;\r\n bcbImportEigenschappen?: BCBImportEigenschap[] | undefined;\r\n}\r\n\r\nexport class BCBImportOpbouw implements IBCBImportOpbouw {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open!: boolean;\r\n selected!: boolean;\r\n wizardEBOViewModels?: WizardEBOViewModel[] | undefined;\r\n\r\n constructor(data?: IBCBImportOpbouw) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.open = _data[\"open\"];\r\n this.selected = _data[\"selected\"];\r\n if (Array.isArray(_data[\"wizardEBOViewModels\"])) {\r\n this.wizardEBOViewModels = [] as any;\r\n for (let item of _data[\"wizardEBOViewModels\"])\r\n this.wizardEBOViewModels!.push(WizardEBOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportOpbouw {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportOpbouw();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"open\"] = this.open;\r\n data[\"selected\"] = this.selected;\r\n if (Array.isArray(this.wizardEBOViewModels)) {\r\n data[\"wizardEBOViewModels\"] = [];\r\n for (let item of this.wizardEBOViewModels)\r\n data[\"wizardEBOViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportOpbouw {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open: boolean;\r\n selected: boolean;\r\n wizardEBOViewModels?: WizardEBOViewModel[] | undefined;\r\n}\r\n\r\nexport class WizardEBOViewModel implements IWizardEBOViewModel {\r\n dOs?: WizardEBODOViewModel[] | undefined;\r\n name?: string | undefined;\r\n selected!: boolean;\r\n open!: boolean;\r\n inUseBy?: string | undefined;\r\n\r\n constructor(data?: IWizardEBOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"dOs\"])) {\r\n this.dOs = [] as any;\r\n for (let item of _data[\"dOs\"])\r\n this.dOs!.push(WizardEBODOViewModel.fromJS(item));\r\n }\r\n this.name = _data[\"name\"];\r\n this.selected = _data[\"selected\"];\r\n this.open = _data[\"open\"];\r\n this.inUseBy = _data[\"inUseBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WizardEBOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WizardEBOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.dOs)) {\r\n data[\"dOs\"] = [];\r\n for (let item of this.dOs)\r\n data[\"dOs\"].push(item.toJSON());\r\n }\r\n data[\"name\"] = this.name;\r\n data[\"selected\"] = this.selected;\r\n data[\"open\"] = this.open;\r\n data[\"inUseBy\"] = this.inUseBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWizardEBOViewModel {\r\n dOs?: WizardEBODOViewModel[] | undefined;\r\n name?: string | undefined;\r\n selected: boolean;\r\n open: boolean;\r\n inUseBy?: string | undefined;\r\n}\r\n\r\nexport class WizardEBODOViewModel implements IWizardEBODOViewModel {\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n\r\n constructor(data?: IWizardEBODOViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.doType = _data[\"doType\"];\r\n this.doNaam = _data[\"doNaam\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WizardEBODOViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WizardEBODOViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"doType\"] = this.doType;\r\n data[\"doNaam\"] = this.doNaam;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWizardEBODOViewModel {\r\n doType?: string | undefined;\r\n doNaam?: string | undefined;\r\n}\r\n\r\nexport class BCBImportEigenschap implements IBCBImportEigenschap {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open!: boolean;\r\n selected!: boolean;\r\n\r\n constructor(data?: IBCBImportEigenschap) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.open = _data[\"open\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportEigenschap {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportEigenschap();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"open\"] = this.open;\r\n data[\"selected\"] = this.selected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportEigenschap {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n open: boolean;\r\n selected: boolean;\r\n}\r\n\r\nexport class BCBImportOpenRequest implements IBCBImportOpenRequest {\r\n bcbeboId!: number;\r\n\r\n constructor(data?: IBCBImportOpenRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbeboId = _data[\"bcbeboId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportOpenRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportOpenRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbeboId\"] = this.bcbeboId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportOpenRequest {\r\n bcbeboId: number;\r\n}\r\n\r\nexport class BCBImportProductResponse implements IBCBImportProductResponse {\r\n success!: boolean;\r\n message?: string | undefined;\r\n\r\n constructor(data?: IBCBImportProductResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportProductResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportProductResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportProductResponse {\r\n success: boolean;\r\n message?: string | undefined;\r\n}\r\n\r\nexport class BCBImportProductRequest implements IBCBImportProductRequest {\r\n bcbProductId!: number;\r\n\r\n constructor(data?: IBCBImportProductRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductId = _data[\"bcbProductId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BCBImportProductRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BCBImportProductRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductId\"] = this.bcbProductId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBCBImportProductRequest {\r\n bcbProductId: number;\r\n}\r\n\r\nexport class SaveImportSetRequest implements ISaveImportSetRequest {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: ISaveImportSetRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveImportSetRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveImportSetRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveImportSetRequest {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ChangeImportSetRequest implements IChangeImportSetRequest {\r\n importSetId!: number;\r\n value?: string | undefined;\r\n enabled!: boolean;\r\n\r\n constructor(data?: IChangeImportSetRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.importSetId = _data[\"importSetId\"];\r\n this.value = _data[\"value\"];\r\n this.enabled = _data[\"enabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeImportSetRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeImportSetRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"importSetId\"] = this.importSetId;\r\n data[\"value\"] = this.value;\r\n data[\"enabled\"] = this.enabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeImportSetRequest {\r\n importSetId: number;\r\n value?: string | undefined;\r\n enabled: boolean;\r\n}\r\n\r\nexport class ProductsViewModel implements IProductsViewModel {\r\n productViewModels?: ProductViewModel[] | undefined;\r\n\r\n constructor(data?: IProductsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"productViewModels\"])) {\r\n this.productViewModels = [] as any;\r\n for (let item of _data[\"productViewModels\"])\r\n this.productViewModels!.push(ProductViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProductsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProductsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.productViewModels)) {\r\n data[\"productViewModels\"] = [];\r\n for (let item of this.productViewModels)\r\n data[\"productViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProductsViewModel {\r\n productViewModels?: ProductViewModel[] | undefined;\r\n}\r\n\r\nexport class SaveProductViewModel implements ISaveProductViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n position!: number;\r\n importSetId!: number;\r\n\r\n constructor(data?: ISaveProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.position = _data[\"position\"];\r\n this.importSetId = _data[\"importSetId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"position\"] = this.position;\r\n data[\"importSetId\"] = this.importSetId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveProductViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n position: number;\r\n importSetId: number;\r\n}\r\n\r\nexport class ResetImportRequestModel implements IResetImportRequestModel {\r\n productId!: number;\r\n bcbProductId!: number;\r\n\r\n constructor(data?: IResetImportRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productId = _data[\"productId\"];\r\n this.bcbProductId = _data[\"bcbProductId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetImportRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetImportRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productId\"] = this.productId;\r\n data[\"bcbProductId\"] = this.bcbProductId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetImportRequestModel {\r\n productId: number;\r\n bcbProductId: number;\r\n}\r\n\r\nexport class KoppelEigenschapOptieResponse implements IKoppelEigenschapOptieResponse {\r\n success!: boolean;\r\n\r\n constructor(data?: IKoppelEigenschapOptieResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelEigenschapOptieResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEigenschapOptieResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEigenschapOptieResponse {\r\n success: boolean;\r\n}\r\n\r\nexport class KoppelEigenschapOptieRequest implements IKoppelEigenschapOptieRequest {\r\n bcbProductEigenschapOptieId!: number;\r\n filterOptionId!: number;\r\n\r\n constructor(data?: IKoppelEigenschapOptieRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductEigenschapOptieId = _data[\"bcbProductEigenschapOptieId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelEigenschapOptieRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelEigenschapOptieRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductEigenschapOptieId\"] = this.bcbProductEigenschapOptieId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelEigenschapOptieRequest {\r\n bcbProductEigenschapOptieId: number;\r\n filterOptionId: number;\r\n}\r\n\r\nexport class ConnectBCBEigenschapOptieCategoryRequest implements IConnectBCBEigenschapOptieCategoryRequest {\r\n bcbProductEigenschapOptieId!: number;\r\n categoryId!: number;\r\n\r\n constructor(data?: IConnectBCBEigenschapOptieCategoryRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductEigenschapOptieId = _data[\"bcbProductEigenschapOptieId\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectBCBEigenschapOptieCategoryRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectBCBEigenschapOptieCategoryRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductEigenschapOptieId\"] = this.bcbProductEigenschapOptieId;\r\n data[\"categoryId\"] = this.categoryId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectBCBEigenschapOptieCategoryRequest {\r\n bcbProductEigenschapOptieId: number;\r\n categoryId: number;\r\n}\r\n\r\nexport class KoppelManyNameResponse implements IKoppelManyNameResponse {\r\n success!: boolean;\r\n\r\n constructor(data?: IKoppelManyNameResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelManyNameResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelManyNameResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelManyNameResponse {\r\n success: boolean;\r\n}\r\n\r\nexport class KoppelManyNameRequest implements IKoppelManyNameRequest {\r\n bcbProductEigenschapOptieId!: number;\r\n filterId!: number;\r\n\r\n constructor(data?: IKoppelManyNameRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bcbProductEigenschapOptieId = _data[\"bcbProductEigenschapOptieId\"];\r\n this.filterId = _data[\"filterId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelManyNameRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelManyNameRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bcbProductEigenschapOptieId\"] = this.bcbProductEigenschapOptieId;\r\n data[\"filterId\"] = this.filterId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelManyNameRequest {\r\n bcbProductEigenschapOptieId: number;\r\n filterId: number;\r\n}\r\n\r\nexport class ProjectSettingsViewModel implements IProjectSettingsViewModel {\r\n pipelineStep?: string | undefined;\r\n pipelineSteps?: string[] | undefined;\r\n projectSettingViewModels?: ProjectSettingViewModel[] | undefined;\r\n\r\n constructor(data?: IProjectSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pipelineStep = _data[\"pipelineStep\"];\r\n if (Array.isArray(_data[\"pipelineSteps\"])) {\r\n this.pipelineSteps = [] as any;\r\n for (let item of _data[\"pipelineSteps\"])\r\n this.pipelineSteps!.push(item);\r\n }\r\n if (Array.isArray(_data[\"projectSettingViewModels\"])) {\r\n this.projectSettingViewModels = [] as any;\r\n for (let item of _data[\"projectSettingViewModels\"])\r\n this.projectSettingViewModels!.push(ProjectSettingViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pipelineStep\"] = this.pipelineStep;\r\n if (Array.isArray(this.pipelineSteps)) {\r\n data[\"pipelineSteps\"] = [];\r\n for (let item of this.pipelineSteps)\r\n data[\"pipelineSteps\"].push(item);\r\n }\r\n if (Array.isArray(this.projectSettingViewModels)) {\r\n data[\"projectSettingViewModels\"] = [];\r\n for (let item of this.projectSettingViewModels)\r\n data[\"projectSettingViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectSettingsViewModel {\r\n pipelineStep?: string | undefined;\r\n pipelineSteps?: string[] | undefined;\r\n projectSettingViewModels?: ProjectSettingViewModel[] | undefined;\r\n}\r\n\r\nexport class ProjectSettingViewModel implements IProjectSettingViewModel {\r\n name?: string | undefined;\r\n activeValue?: string | undefined;\r\n defaultValue?: string | undefined;\r\n default!: boolean;\r\n overruled!: boolean;\r\n projectSettingType!: ProjectSettingType;\r\n options?: string[] | undefined;\r\n pipelineSteps?: ProjectSettingPipelineStepViewModel[] | undefined;\r\n\r\n constructor(data?: IProjectSettingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.activeValue = _data[\"activeValue\"];\r\n this.defaultValue = _data[\"defaultValue\"];\r\n this.default = _data[\"default\"];\r\n this.overruled = _data[\"overruled\"];\r\n this.projectSettingType = _data[\"projectSettingType\"];\r\n if (Array.isArray(_data[\"options\"])) {\r\n this.options = [] as any;\r\n for (let item of _data[\"options\"])\r\n this.options!.push(item);\r\n }\r\n if (Array.isArray(_data[\"pipelineSteps\"])) {\r\n this.pipelineSteps = [] as any;\r\n for (let item of _data[\"pipelineSteps\"])\r\n this.pipelineSteps!.push(ProjectSettingPipelineStepViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectSettingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectSettingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"activeValue\"] = this.activeValue;\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"default\"] = this.default;\r\n data[\"overruled\"] = this.overruled;\r\n data[\"projectSettingType\"] = this.projectSettingType;\r\n if (Array.isArray(this.options)) {\r\n data[\"options\"] = [];\r\n for (let item of this.options)\r\n data[\"options\"].push(item);\r\n }\r\n if (Array.isArray(this.pipelineSteps)) {\r\n data[\"pipelineSteps\"] = [];\r\n for (let item of this.pipelineSteps)\r\n data[\"pipelineSteps\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectSettingViewModel {\r\n name?: string | undefined;\r\n activeValue?: string | undefined;\r\n defaultValue?: string | undefined;\r\n default: boolean;\r\n overruled: boolean;\r\n projectSettingType: ProjectSettingType;\r\n options?: string[] | undefined;\r\n pipelineSteps?: ProjectSettingPipelineStepViewModel[] | undefined;\r\n}\r\n\r\nexport enum ProjectSettingType {\r\n String = 1,\r\n Options = 2,\r\n}\r\n\r\nexport class ProjectSettingPipelineStepViewModel implements IProjectSettingPipelineStepViewModel {\r\n pipelineStep?: string | undefined;\r\n value?: string | undefined;\r\n default!: boolean;\r\n\r\n constructor(data?: IProjectSettingPipelineStepViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pipelineStep = _data[\"pipelineStep\"];\r\n this.value = _data[\"value\"];\r\n this.default = _data[\"default\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProjectSettingPipelineStepViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProjectSettingPipelineStepViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pipelineStep\"] = this.pipelineStep;\r\n data[\"value\"] = this.value;\r\n data[\"default\"] = this.default;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProjectSettingPipelineStepViewModel {\r\n pipelineStep?: string | undefined;\r\n value?: string | undefined;\r\n default: boolean;\r\n}\r\n\r\nexport class SetProjectSettingResponseModel implements ISetProjectSettingResponseModel {\r\n\r\n constructor(data?: ISetProjectSettingResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): SetProjectSettingResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetProjectSettingResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetProjectSettingResponseModel {\r\n}\r\n\r\nexport class SetProjectSettingRequestModel implements ISetProjectSettingRequestModel {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n pipelineStep?: string | undefined;\r\n\r\n constructor(data?: ISetProjectSettingRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.value = _data[\"value\"];\r\n this.pipelineStep = _data[\"pipelineStep\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SetProjectSettingRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetProjectSettingRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"value\"] = this.value;\r\n data[\"pipelineStep\"] = this.pipelineStep;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetProjectSettingRequestModel {\r\n name?: string | undefined;\r\n value?: string | undefined;\r\n pipelineStep?: string | undefined;\r\n}\r\n\r\nexport class SearchProductsResponseModel implements ISearchProductsResponseModel {\r\n eboViewModels?: WizardEBOViewModel[] | undefined;\r\n\r\n constructor(data?: ISearchProductsResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"eboViewModels\"])) {\r\n this.eboViewModels = [] as any;\r\n for (let item of _data[\"eboViewModels\"])\r\n this.eboViewModels!.push(WizardEBOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchProductsResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchProductsResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.eboViewModels)) {\r\n data[\"eboViewModels\"] = [];\r\n for (let item of this.eboViewModels)\r\n data[\"eboViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchProductsResponseModel {\r\n eboViewModels?: WizardEBOViewModel[] | undefined;\r\n}\r\n\r\nexport class SearchProductsRequestModel implements ISearchProductsRequestModel {\r\n value?: string | undefined;\r\n\r\n constructor(data?: ISearchProductsRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchProductsRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchProductsRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchProductsRequestModel {\r\n value?: string | undefined;\r\n}\r\n\r\nexport class NewProductResponseModel implements INewProductResponseModel {\r\n productId!: number;\r\n\r\n constructor(data?: INewProductResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productId = _data[\"productId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewProductResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewProductResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productId\"] = this.productId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewProductResponseModel {\r\n productId: number;\r\n}\r\n\r\nexport class NewProductRequestModel implements INewProductRequestModel {\r\n productName?: string | undefined;\r\n\r\n constructor(data?: INewProductRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productName = _data[\"productName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewProductRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewProductRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productName\"] = this.productName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewProductRequestModel {\r\n productName?: string | undefined;\r\n}\r\n\r\nexport class GetProductsViewModel implements IGetProductsViewModel {\r\n productViewModels?: ProductViewModel2[] | undefined;\r\n\r\n constructor(data?: IGetProductsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"productViewModels\"])) {\r\n this.productViewModels = [] as any;\r\n for (let item of _data[\"productViewModels\"])\r\n this.productViewModels!.push(ProductViewModel2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetProductsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetProductsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.productViewModels)) {\r\n data[\"productViewModels\"] = [];\r\n for (let item of this.productViewModels)\r\n data[\"productViewModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetProductsViewModel {\r\n productViewModels?: ProductViewModel2[] | undefined;\r\n}\r\n\r\nexport class ProductViewModel2 implements IProductViewModel2 {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IProductViewModel2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProductViewModel2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProductViewModel2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProductViewModel2 {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class KoppelProductsRequestModel implements IKoppelProductsRequestModel {\r\n productId!: number;\r\n searchProductEBOModels?: WizardEBOViewModel[] | undefined;\r\n\r\n constructor(data?: IKoppelProductsRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.productId = _data[\"productId\"];\r\n if (Array.isArray(_data[\"searchProductEBOModels\"])) {\r\n this.searchProductEBOModels = [] as any;\r\n for (let item of _data[\"searchProductEBOModels\"])\r\n this.searchProductEBOModels!.push(WizardEBOViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): KoppelProductsRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KoppelProductsRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"productId\"] = this.productId;\r\n if (Array.isArray(this.searchProductEBOModels)) {\r\n data[\"searchProductEBOModels\"] = [];\r\n for (let item of this.searchProductEBOModels)\r\n data[\"searchProductEBOModels\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKoppelProductsRequestModel {\r\n productId: number;\r\n searchProductEBOModels?: WizardEBOViewModel[] | undefined;\r\n}\r\n\r\nexport class LoginResponseModel implements ILoginResponseModel {\r\n userId!: number;\r\n userName?: string | undefined;\r\n roles?: string[] | undefined;\r\n loginSuccess!: boolean;\r\n authData?: string | undefined;\r\n\r\n constructor(data?: ILoginResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.userName = _data[\"userName\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n this.loginSuccess = _data[\"loginSuccess\"];\r\n this.authData = _data[\"authData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"userName\"] = this.userName;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n data[\"loginSuccess\"] = this.loginSuccess;\r\n data[\"authData\"] = this.authData;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginResponseModel {\r\n userId: number;\r\n userName?: string | undefined;\r\n roles?: string[] | undefined;\r\n loginSuccess: boolean;\r\n authData?: string | undefined;\r\n}\r\n\r\nexport class LoginRequestModel implements ILoginRequestModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: ILoginRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginRequestModel {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class LoginIPResponseModel implements ILoginIPResponseModel {\r\n ipAddress?: string | undefined;\r\n\r\n constructor(data?: ILoginIPResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ipAddress = _data[\"ipAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginIPResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginIPResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ipAddress\"] = this.ipAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginIPResponseModel {\r\n ipAddress?: string | undefined;\r\n}\r\n\r\nexport class LanguagesViewModel implements ILanguagesViewModel {\r\n languages?: LanguageViewModel[] | undefined;\r\n\r\n constructor(data?: ILanguagesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"languages\"])) {\r\n this.languages = [] as any;\r\n for (let item of _data[\"languages\"])\r\n this.languages!.push(LanguageViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LanguagesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LanguagesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.languages)) {\r\n data[\"languages\"] = [];\r\n for (let item of this.languages)\r\n data[\"languages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILanguagesViewModel {\r\n languages?: LanguageViewModel[] | undefined;\r\n}\r\n\r\nexport class LanguageViewModel implements ILanguageViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n flag?: string | undefined;\r\n showSpecification!: boolean;\r\n categories?: TranslateKeyCategoryViewModel[] | undefined;\r\n categoryEntries?: TranslateEntryCategoryViewModel[] | undefined;\r\n productEntries?: TranslateEntryProductViewModel[] | undefined;\r\n filterEntries?: TranslateEntryFilterViewModel[] | undefined;\r\n filterOptionEntries?: TranslateEntryFilterOptionViewModel[] | undefined;\r\n descriptionEntries?: TranslateEntryDescriptionViewModel[] | undefined;\r\n afbeeldingEntries?: TranslateEntryAfbeeldingViewModel[] | undefined;\r\n\r\n constructor(data?: ILanguageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n this.flag = _data[\"flag\"];\r\n this.showSpecification = _data[\"showSpecification\"];\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(TranslateKeyCategoryViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"categoryEntries\"])) {\r\n this.categoryEntries = [] as any;\r\n for (let item of _data[\"categoryEntries\"])\r\n this.categoryEntries!.push(TranslateEntryCategoryViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"productEntries\"])) {\r\n this.productEntries = [] as any;\r\n for (let item of _data[\"productEntries\"])\r\n this.productEntries!.push(TranslateEntryProductViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"filterEntries\"])) {\r\n this.filterEntries = [] as any;\r\n for (let item of _data[\"filterEntries\"])\r\n this.filterEntries!.push(TranslateEntryFilterViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"filterOptionEntries\"])) {\r\n this.filterOptionEntries = [] as any;\r\n for (let item of _data[\"filterOptionEntries\"])\r\n this.filterOptionEntries!.push(TranslateEntryFilterOptionViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"descriptionEntries\"])) {\r\n this.descriptionEntries = [] as any;\r\n for (let item of _data[\"descriptionEntries\"])\r\n this.descriptionEntries!.push(TranslateEntryDescriptionViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"afbeeldingEntries\"])) {\r\n this.afbeeldingEntries = [] as any;\r\n for (let item of _data[\"afbeeldingEntries\"])\r\n this.afbeeldingEntries!.push(TranslateEntryAfbeeldingViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LanguageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LanguageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"countryCode\"] = this.countryCode;\r\n data[\"flag\"] = this.flag;\r\n data[\"showSpecification\"] = this.showSpecification;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.categoryEntries)) {\r\n data[\"categoryEntries\"] = [];\r\n for (let item of this.categoryEntries)\r\n data[\"categoryEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.productEntries)) {\r\n data[\"productEntries\"] = [];\r\n for (let item of this.productEntries)\r\n data[\"productEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.filterEntries)) {\r\n data[\"filterEntries\"] = [];\r\n for (let item of this.filterEntries)\r\n data[\"filterEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.filterOptionEntries)) {\r\n data[\"filterOptionEntries\"] = [];\r\n for (let item of this.filterOptionEntries)\r\n data[\"filterOptionEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.descriptionEntries)) {\r\n data[\"descriptionEntries\"] = [];\r\n for (let item of this.descriptionEntries)\r\n data[\"descriptionEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.afbeeldingEntries)) {\r\n data[\"afbeeldingEntries\"] = [];\r\n for (let item of this.afbeeldingEntries)\r\n data[\"afbeeldingEntries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILanguageViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n flag?: string | undefined;\r\n showSpecification: boolean;\r\n categories?: TranslateKeyCategoryViewModel[] | undefined;\r\n categoryEntries?: TranslateEntryCategoryViewModel[] | undefined;\r\n productEntries?: TranslateEntryProductViewModel[] | undefined;\r\n filterEntries?: TranslateEntryFilterViewModel[] | undefined;\r\n filterOptionEntries?: TranslateEntryFilterOptionViewModel[] | undefined;\r\n descriptionEntries?: TranslateEntryDescriptionViewModel[] | undefined;\r\n afbeeldingEntries?: TranslateEntryAfbeeldingViewModel[] | undefined;\r\n}\r\n\r\nexport class TranslateKeyCategoryViewModel implements ITranslateKeyCategoryViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n keys?: TranslateKeyViewModel[] | undefined;\r\n\r\n constructor(data?: ITranslateKeyCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"keys\"])) {\r\n this.keys = [] as any;\r\n for (let item of _data[\"keys\"])\r\n this.keys!.push(TranslateKeyViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateKeyCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateKeyCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.keys)) {\r\n data[\"keys\"] = [];\r\n for (let item of this.keys)\r\n data[\"keys\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateKeyCategoryViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n keys?: TranslateKeyViewModel[] | undefined;\r\n}\r\n\r\nexport class TranslateKeyViewModel implements ITranslateKeyViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n entries?: TranslateEntryViewModel[] | undefined;\r\n\r\n constructor(data?: ITranslateKeyViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"entries\"])) {\r\n this.entries = [] as any;\r\n for (let item of _data[\"entries\"])\r\n this.entries!.push(TranslateEntryViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateKeyViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateKeyViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.entries)) {\r\n data[\"entries\"] = [];\r\n for (let item of this.entries)\r\n data[\"entries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateKeyViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n entries?: TranslateEntryViewModel[] | undefined;\r\n}\r\n\r\nexport class TranslateEntryViewModel implements ITranslateEntryViewModel {\r\n id!: number;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryViewModel {\r\n id: number;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryCategoryViewModel implements ITranslateEntryCategoryViewModel {\r\n id!: number;\r\n categoryId!: number;\r\n categoryName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryCategoryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.categoryId = _data[\"categoryId\"];\r\n this.categoryName = _data[\"categoryName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryCategoryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryCategoryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"categoryId\"] = this.categoryId;\r\n data[\"categoryName\"] = this.categoryName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryCategoryViewModel {\r\n id: number;\r\n categoryId: number;\r\n categoryName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryProductViewModel implements ITranslateEntryProductViewModel {\r\n id!: number;\r\n productId!: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryProductViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.productId = _data[\"productId\"];\r\n this.productName = _data[\"productName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryProductViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryProductViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"productId\"] = this.productId;\r\n data[\"productName\"] = this.productName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryProductViewModel {\r\n id: number;\r\n productId: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryFilterViewModel implements ITranslateEntryFilterViewModel {\r\n id!: number;\r\n filterId!: number;\r\n filterName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filterId = _data[\"filterId\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryFilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryFilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filterId\"] = this.filterId;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryFilterViewModel {\r\n id: number;\r\n filterId: number;\r\n filterName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryFilterOptionViewModel implements ITranslateEntryFilterOptionViewModel {\r\n id!: number;\r\n filterId!: number;\r\n filterOptionId!: number;\r\n filterOptionName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryFilterOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.filterId = _data[\"filterId\"];\r\n this.filterOptionId = _data[\"filterOptionId\"];\r\n this.filterOptionName = _data[\"filterOptionName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryFilterOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryFilterOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"filterId\"] = this.filterId;\r\n data[\"filterOptionId\"] = this.filterOptionId;\r\n data[\"filterOptionName\"] = this.filterOptionName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryFilterOptionViewModel {\r\n id: number;\r\n filterId: number;\r\n filterOptionId: number;\r\n filterOptionName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryDescriptionViewModel implements ITranslateEntryDescriptionViewModel {\r\n id!: number;\r\n bcbProductId!: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryDescriptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bcbProductId = _data[\"bcbProductId\"];\r\n this.productName = _data[\"productName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryDescriptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryDescriptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bcbProductId\"] = this.bcbProductId;\r\n data[\"productName\"] = this.productName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryDescriptionViewModel {\r\n id: number;\r\n bcbProductId: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class TranslateEntryAfbeeldingViewModel implements ITranslateEntryAfbeeldingViewModel {\r\n id!: number;\r\n bcbProductAfbeeldingId!: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n\r\n constructor(data?: ITranslateEntryAfbeeldingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.bcbProductAfbeeldingId = _data[\"bcbProductAfbeeldingId\"];\r\n this.productName = _data[\"productName\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TranslateEntryAfbeeldingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TranslateEntryAfbeeldingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"bcbProductAfbeeldingId\"] = this.bcbProductAfbeeldingId;\r\n data[\"productName\"] = this.productName;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITranslateEntryAfbeeldingViewModel {\r\n id: number;\r\n bcbProductAfbeeldingId: number;\r\n productName?: string | undefined;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class CreateLanguageRequest implements ICreateLanguageRequest {\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n\r\n constructor(data?: ICreateLanguageRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.countryCode = _data[\"countryCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateLanguageRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateLanguageRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"countryCode\"] = this.countryCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateLanguageRequest {\r\n name?: string | undefined;\r\n countryCode?: string | undefined;\r\n}\r\n\r\nexport class CreateExportResponse implements ICreateExportResponse {\r\n url?: string | undefined;\r\n\r\n constructor(data?: ICreateExportResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateExportResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateExportResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateExportResponse {\r\n url?: string | undefined;\r\n}\r\n\r\nexport class CreateExportRequest implements ICreateExportRequest {\r\n\r\n constructor(data?: ICreateExportRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): CreateExportRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateExportRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateExportRequest {\r\n}\r\n\r\nexport class ReadExportRequest implements IReadExportRequest {\r\n\r\n constructor(data?: IReadExportRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ReadExportRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReadExportRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReadExportRequest {\r\n}\r\n\r\nexport class ApiException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new ApiException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable<string> {\r\n return new Observable<string>((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { SecurityApiClient, LoginRequestModel, LoginResponseModel } from '../swagger/SwaggerClient';\r\nimport { BeheerInlogComponent } from '../beheer/components/beheer-inlog/beheer-inlog.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n\r\n public LoadingLogin: boolean = false;\r\n\r\n private currentUserSubject: BehaviorSubject<LoginResponseModel>;\r\n public currentUser: Observable<LoginResponseModel>;\r\n\r\n constructor(private securityApiClient: SecurityApiClient) {\r\n this.currentUserSubject = new BehaviorSubject<LoginResponseModel>(JSON.parse(localStorage.getItem('currentUser') + \"\"));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): LoginResponseModel {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n public login(username: string, password: string, beheer: BeheerInlogComponent, success: (beheer: BeheerInlogComponent) => void, fail: (beheer: BeheerInlogComponent, message: string) => void) {\r\n this.LoadingLogin = true;\r\n var model: LoginRequestModel = new LoginRequestModel();\r\n model.userName = username;\r\n model.password = password;\r\n\r\n this.securityApiClient.authenticateUser(model).subscribe(model => {\r\n // store user details and basic auth credentials in local storage to keep user logged in between page refreshes\r\n if (model.loginSuccess) {\r\n model.authData = window.btoa(username + ':' + password);\r\n localStorage.setItem('currentUser', JSON.stringify(model));\r\n this.currentUserSubject.next(model);\r\n\r\n success(beheer);\r\n }\r\n else {\r\n fail(beheer, \"Gebruikersnaam + wachtwoord combinatie onbekend\");\r\n }\r\n\r\n this.LoadingLogin = false;\r\n });\r\n\r\n }\r\n\r\n public logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n this.currentUserSubject.next(new LoginResponseModel());\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class BasicAuthInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n // add authorization header with basic auth credentials if available\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.authData) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Basic ${currentUser.authData}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload();\r\n }\r\n\r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.userName != null) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n //this.router.navigate(['/beheer/inloggen'], { queryParams: { returnUrl: state.url } });\r\n \r\n // or without return url lol\r\n this.router.navigate(['/beheer/inloggen']);\r\n\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FabrikantenApiClient } from '../../../swagger/SwaggerClient';\r\nimport { AuthenticationService } from './../../../services/authentication.service'\r\n\r\n@Component({\r\n selector: 'app-beheer-nav',\r\n templateUrl: './beheer-nav.component.html',\r\n styleUrls: ['./beheer-nav.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BeheerNavComponent implements OnInit {\r\n\r\n public ResetCacheTitle: string = \"Reset Cache\";\r\n\r\n constructor(public authenticationService: AuthenticationService, private router: Router, private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public LogOff(): void {\r\n this.authenticationService.logout();\r\n this.router.navigateByUrl('/beheer/inloggen');\r\n }\r\n\r\n public NavigateTo(name: string) {\r\n this.router.navigateByUrl('/beheer/' + name);\r\n }\r\n\r\n public IsActive(name: string): boolean {\r\n return window.location.href.toLowerCase().indexOf(name.toLowerCase()) != -1;\r\n }\r\n\r\n public ResetCache(): void {\r\n this.ResetCacheTitle = \"...\";\r\n this.FabrikantenApiClient.resetCache().subscribe(() => {\r\n this.ResetCacheTitle = \"Reset Cache\";\r\n alert('cache reset success');\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"main-block\">\n <div class=\"row\">\n <div class=\"cell left-block\">\n <button mat-raised-button (click)=\"NavigateTo('searchproducts')\" class=\"link\" [disabled]=\"IsActive('/searchproducts')\">\n Zoeken\n </button>\n <button mat-raised-button (click)=\"NavigateTo('importsets')\" class=\"link\" [disabled]=\"IsActive('/importsets')\">\n Import\n </button>\n <button mat-raised-button (click)=\"NavigateTo('products')\" class=\"link\" [disabled]=\"IsActive('/products')\">\n Products\n </button>\n <button mat-raised-button (click)=\"NavigateTo('filters')\" class=\"link\" [disabled]=\"IsActive('/filters')\">\n Filters\n </button>\n <button mat-raised-button (click)=\"NavigateTo('ebokoppel')\" class=\"link\" [disabled]=\"IsActive('/ebokoppel')\">\n EBO Koppel\n </button>\n <button mat-raised-button (click)=\"NavigateTo('categories')\" class=\"link\" [disabled]=\"IsActive('/categories')\">\n Categories\n </button>\n </div>\n <div class=\"cell right-block\">\n <button mat-raised-button (click)=\"ResetCache()\" class=\"link\">\n {{ ResetCacheTitle }}\n </button>\n <button mat-raised-button (click)=\"NavigateTo('settings')\" class=\"link\" [disabled]=\"IsActive('/settings')\">\n Settings\n </button>\n <button mat-raised-button (click)=\"NavigateTo('translate')\" class=\"link\" [disabled]=\"IsActive('/translate')\">\n Translate\n </button>\n <button mat-raised-button (click)=\"NavigateTo('users')\" class=\"link\" [disabled]=\"IsActive('/users')\">\n Users\n </button>\n <button mat-raised-button (click)=\"LogOff()\" class=\"link\">\n Uitloggen\n </button>\n </div>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\r\n\n@Component({\n selector: 'app-beheer-main',\n templateUrl: './beheer-main.component.html',\n styleUrls: ['./beheer-main.component.css']\n})\nexport class BeheerMainComponent implements OnInit {\n\n constructor() {\n \n }\n\n ngOnInit() {\n }\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fab-loader',\n templateUrl: './fab-loader.component.html',\n styleUrls: ['./fab-loader.component.scss']\n})\nexport class FabLoaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"main-div\">\r\n <mat-spinner></mat-spinner>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LoginIPResponseModel, SecurityApiClient } from '../../../swagger/SwaggerClient';\r\nimport { AuthenticationService } from './../../../services/authentication.service'\r\n\r\n@Component({\r\n selector: 'app-beheer-inlog',\r\n templateUrl: './beheer-inlog.component.html',\r\n styleUrls: ['./beheer-inlog.component.scss']\r\n})\r\nexport class BeheerInlogComponent implements OnInit {\r\n\r\n public Username: string = \"\";\r\n public Password: string = \"\";\r\n\r\n public Message: string = \"\";\r\n\r\n public LoginIPResponseModel: LoginIPResponseModel;\r\n\r\n constructor(public authenticationService: AuthenticationService, public router: Router, private securityApiClient: SecurityApiClient) {\r\n\r\n this.securityApiClient.getLoginIPResponseModel().subscribe((model: LoginIPResponseModel) => {\r\n this.LoginIPResponseModel = model;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Login(): void {\r\n this.Message = \"\";\r\n this.authenticationService.login(this.Username, this.Password, this, this.Success, this.Failure);\r\n }\r\n\r\n public Success(beheer: BeheerInlogComponent): void {\r\n beheer.router.navigateByUrl('/beheer');\r\n }\r\n\r\n public Failure(beheer: BeheerInlogComponent, message: string): void {\r\n beheer.Message = message;\r\n }\r\n}\r\n","\n<div class=\"container\">\n <div class=\"inlogdialog\">\n <div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Gebruikersnaam</mat-label>\n <input type=\"text\" [(ngModel)]=\"Username\" matInput value=\"\">\n </mat-form-field>\n </div>\n <div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Wachtwoord</mat-label>\n <input type=\"password\" [(ngModel)]=\"Password\" matInput value=\"\">\n </mat-form-field>\n </div>\n\n <div class=\"button-bar\">\n <div class=\"error-box\">\n {{ Message }}\n </div>\n <button mat-raised-button (click)=\"Login()\" class=\"login-button\">\n <span *ngIf=\"!authenticationService.LoadingLogin\">\n Login\n </span>\n <span *ngIf=\"authenticationService.LoadingLogin\">\n <app-fab-loader class=\"loader\"></app-fab-loader>\n </span>\n </button>\n </div>\n <div>\n IP Address: {{ LoginIPResponseModel?.ipAddress }}\n </div>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\r\nimport { MatDrawerMode } from '@angular/material/sidenav';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MobileService {\r\n\r\n public ScreenWidth: number;\r\n public ScreenHeight: number;\r\n\r\n public MobileInterface: boolean = false;\r\n\r\n public NavMode: MatDrawerMode = \"side\";\r\n public NavOpened: boolean = true;\r\n\r\n constructor() {\r\n }\r\n\r\n public OpenNav(): void {\r\n this.NavOpened = true;\r\n }\r\n\r\n public UpdateScreenSize(width: number, height: number): void {\r\n if (this.ScreenWidth != width || this.ScreenHeight != height) {\r\n this.ScreenWidth = width;\r\n this.ScreenHeight = height;\r\n\r\n this.MobileInterface = this.ScreenWidth < 750;\r\n\r\n if (this.MobileInterface) {\r\n this.NavMode = \"over\";\r\n this.NavOpened = false;\r\n }\r\n else {\r\n this.NavMode = \"side\";\r\n this.NavOpened = true;\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { FabrikantenApiClient, FabrikantenBestekViewModel, FabrikantenBestekRequestModel } from '../swagger/SwaggerClient';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class BestekService {\r\n\r\n public Loading: boolean = false;\r\n public TypeBestek: string = \"STABU\";\r\n\r\n public FabrikantenBestekViewModel: FabrikantenBestekViewModel;\r\n\r\n constructor(private clipboard: Clipboard, private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n public GetBestekTekst(): string {\r\n if (this.TypeBestek == \"STABU\") {\r\n return this.FabrikantenBestekViewModel.stabu as string;\r\n }\r\n\r\n if (this.TypeBestek == \"OSF\") {\r\n return this.FabrikantenBestekViewModel.osfhtml as string;\r\n }\r\n\r\n if (this.TypeBestek == \"Vrij\") {\r\n return this.FabrikantenBestekViewModel.vrijBestekHTML as string;\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public DownloadBestek(data: string) {\r\n\r\n if (this.TypeBestek == \"STABU\") {\r\n this.Download(data, \".S01\");\r\n }\r\n\r\n if (this.TypeBestek == \"OSF\") {\r\n this.Download(data, \".txt\");\r\n }\r\n\r\n if (this.TypeBestek == \"Vrij\") {\r\n this.Download(data, \".txt\");\r\n }\r\n }\r\n\r\n public Download(data: string, extension: string) {\r\n var c = document.createElement(\"a\");\r\n c.download = this.FabrikantenBestekViewModel.bestandsnaam + extension;\r\n\r\n var t = new Blob([data], {\r\n type: \"text/plain\"\r\n });\r\n c.href = window.URL.createObjectURL(t);\r\n c.click();\r\n }\r\n\r\n public CopyToClipboard(str: any) {\r\n this.clipboard.copy(str);\r\n }\r\n\r\n public LoadFabrikantenBestekViewModel(sessionid: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n\r\n var request = new FabrikantenBestekRequestModel();\r\n\r\n request.sessionId = sessionid;\r\n\r\n this.FabrikantenApiClient.getFabrikantenBestekViewModel(request).subscribe((model: FabrikantenBestekViewModel) => {\r\n this.FabrikantenBestekViewModel = model;\r\n\r\n if (this.TypeBestek == \"STABU\") {\r\n if (model.stabu == undefined || model.stabu == '') {\r\n this.TypeBestek = \"\";\r\n }\r\n }\r\n\r\n if (this.TypeBestek == \"OSF\") {\r\n if (model.osfhtml == undefined || model.osfhtml == '') {\r\n this.TypeBestek = \"\";\r\n }\r\n }\r\n\r\n //if (this.TypeBestek == \"SUF\") {\r\n // if (model.suf == undefined || model.suf == '') {\r\n // this.TypeBestek = \"\";\r\n // }\r\n //}\r\n\r\n if (this.TypeBestek == \"Vrij\") {\r\n if (model.vrijBestekHTML == undefined || model.vrijBestekHTML == '') {\r\n this.TypeBestek = \"\";\r\n }\r\n }\r\n\r\n if (this.TypeBestek == \"\") {\r\n if (model.stabu != undefined && model.stabu != '') {\r\n this.TypeBestek = \"STABU\";\r\n }\r\n\r\n if (model.osfhtml != undefined && model.osfhtml != '') {\r\n this.TypeBestek = \"OSF\";\r\n }\r\n\r\n //if (model.suf != undefined && model.suf != '') {\r\n // this.TypeBestek = \"SUF\";\r\n //}\r\n\r\n if (model.vrijBestekHTML != undefined && model.vrijBestekHTML != '') {\r\n this.TypeBestek = \"Vrij\";\r\n }\r\n }\r\n\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { TranslateService } from './translate.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NavigateService {\r\n\r\n public FabrikantenService: FabrikantenService | null = null;\r\n public TranslateService: TranslateService | null = null;\r\n\r\n constructor(private Router: Router) {\r\n }\r\n\r\n public RefreshPage(): void {\r\n if (this.FabrikantenService != null && this.TranslateService != null) {\r\n if (this.TranslateService.ActiveLanguage != null && this.FabrikantenService.FabrikantenViewModel != null) {\r\n if (this.FabrikantenService.ShowCategories()) {\r\n this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'categories']);\r\n }\r\n else if (this.FabrikantenService.FabrikantenViewModel.selectedProduct != null)\r\n {\r\n this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'product']);\r\n }\r\n else {\r\n this.Router.navigate(['/', this.TranslateService.ActiveLanguage.countryCode, 'products']);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { LanguagesViewModel, LanguageViewModel, TranslateApiClient, TranslateKeyCategoryViewModel, TranslateKeyViewModel } from '../swagger/SwaggerClient';\r\nimport { NavigateService } from './navigate.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TranslateService {\r\n\r\n private Init: boolean = false;\r\n\r\n public Loading: boolean = true;\r\n\r\n public LanguagesViewModel: LanguagesViewModel;\r\n\r\n private DesiredCountryCode: string = \"\";\r\n public ActiveLanguage: LanguageViewModel;\r\n\r\n public SelectedCategory: string = \"Common\";\r\n public Categories: Array<string>;\r\n\r\n constructor(private TranslateApiClient: TranslateApiClient, public NavigateService: NavigateService) {\r\n this.NavigateService.TranslateService = this;\r\n }\r\n\r\n public SelectLanguage(language: LanguageViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.DesiredCountryCode = language.countryCode + \"\";\r\n this.ProcessDesiredCountryCode();\r\n\r\n ChangeDetectorRef.detectChanges();\r\n }\r\n\r\n public ProcessParameters(ActivatedRoute: ActivatedRoute): void {\r\n var countrycode = ActivatedRoute.snapshot.paramMap.get(\"language\");\r\n\r\n if (countrycode != null && countrycode != \"\" && this.DesiredCountryCode != countrycode) {\r\n this.DesiredCountryCode = countrycode;\r\n this.ProcessDesiredCountryCode();\r\n }\r\n }\r\n\r\n public LoadTranslations(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (!this.Init) {\r\n this.Init = true;\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n this.TranslateApiClient.getLanguagesViewModel().subscribe((model: LanguagesViewModel) => {\r\n this.LanguagesViewModel = model;\r\n\r\n var cats = this.GetCategories();\r\n this.Categories = new Array<string>();\r\n\r\n for (var i = 0; i < cats.length; i++) {\r\n this.Categories.push(cats[i].name as string);\r\n }\r\n\r\n this.Categories.push(\"Categories\");\r\n this.Categories.push(\"Products\");\r\n this.Categories.push(\"Description\");\r\n this.Categories.push(\"Afbeelding\");\r\n this.Categories.push(\"Filter\");\r\n\r\n this.Loading = false;\r\n\r\n this.ProcessDesiredCountryCode();\r\n\r\n this.NavigateService.RefreshPage();\r\n\r\n ChangeDetectorRef.detectChanges();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n alert(error.json());\r\n else {\r\n alert('An unexpected error occured');\r\n alert(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n public ShowSpecification(): boolean {\r\n if (this.ActiveLanguage != null) {\r\n return this.ActiveLanguage.showSpecification;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public GetActiveValue(category: string, key: string): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValue(this.ActiveLanguage, category, key);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValue(language: LanguageViewModel, category: string, key: string): string {\r\n var catarray = language.categories;\r\n if (catarray != null) {\r\n for (var i = 0; i < catarray.length; i++) {\r\n if (catarray[i].name?.toLowerCase() == category.toLowerCase()) {\r\n\r\n var keysarray = catarray[i].keys\r\n if (keysarray != null) {\r\n for (var j = 0; j < keysarray.length; j++) {\r\n if (keysarray[j].name?.toLowerCase() == key.toLowerCase()) {\r\n var entriesarray = keysarray[j].entries;\r\n\r\n if (entriesarray != null && entriesarray.length > 0) {\r\n return entriesarray[0].value as string;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueCategory(catId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueCategory(this.ActiveLanguage, catId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueCategory(language: LanguageViewModel, catId: number): string {\r\n var catarray = language.categoryEntries;\r\n if (catarray != null) {\r\n for (var i = 0; i < catarray.length; i++) {\r\n if (catarray[i].categoryId == catId) {\r\n return catarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueProduct(productId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueProduct(this.ActiveLanguage, productId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueProduct(language: LanguageViewModel, productId: number): string {\r\n var prodarray = language.productEntries;\r\n if (prodarray != null) {\r\n for (var i = 0; i < prodarray.length; i++) {\r\n if (prodarray[i].productId == productId) {\r\n return prodarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueFilter(filterId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueFilter(this.ActiveLanguage, filterId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueFilter(language: LanguageViewModel, filterId: number): string {\r\n var filterarray = language.filterEntries;\r\n if (filterarray != null) {\r\n for (var i = 0; i < filterarray.length; i++) {\r\n if (filterarray[i].filterId == filterId) {\r\n return filterarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueFilterOption(filterOptionId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueFilterOption(this.ActiveLanguage, filterOptionId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueFilterOption(language: LanguageViewModel, filterOptionId: number): string {\r\n var filterarray = language.filterOptionEntries;\r\n if (filterarray != null) {\r\n for (var i = 0; i < filterarray.length; i++) {\r\n if (filterarray[i].filterOptionId == filterOptionId) {\r\n return filterarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueDescription(bcbProductId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueDescription(this.ActiveLanguage, bcbProductId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueDescription(language: LanguageViewModel, bcbProductId: number): string {\r\n var descriptionarray = language.descriptionEntries;\r\n if (descriptionarray != null) {\r\n for (var i = 0; i < descriptionarray.length; i++) {\r\n if (descriptionarray[i].bcbProductId == bcbProductId) {\r\n return descriptionarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetActiveValueAfbeelding(bcbProductAfbeeldingId: number): string {\r\n if (this.ActiveLanguage != null) {\r\n return this.GetValueAfbeelding(this.ActiveLanguage, bcbProductAfbeeldingId);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetValueAfbeelding(language: LanguageViewModel, bcbProductAfbeeldingId: number): string {\r\n var afbeeldingarray = language.afbeeldingEntries;\r\n if (afbeeldingarray != null) {\r\n for (var i = 0; i < afbeeldingarray.length; i++) {\r\n if (afbeeldingarray[i].bcbProductAfbeeldingId == bcbProductAfbeeldingId) {\r\n return afbeeldingarray[i].value as string;\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public GetCategories(): Array<TranslateKeyCategoryViewModel> {\r\n\r\n if (this.LanguagesViewModel?.languages != null && this.LanguagesViewModel.languages.length > 0 && this.LanguagesViewModel.languages[0].categories != null) {\r\n return this.LanguagesViewModel.languages[0].categories;\r\n }\r\n else {\r\n return new Array<TranslateKeyCategoryViewModel>();;\r\n }\r\n }\r\n\r\n public GetActiveCategorie(): TranslateKeyCategoryViewModel | null {\r\n var cats = this.GetCategories();\r\n\r\n for (var i = 0; i < cats.length; i++) {\r\n if (cats[i].name == this.SelectedCategory) {\r\n return cats[i];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private ProcessDesiredCountryCode(): void {\r\n if (this.LanguagesViewModel?.languages != null) {\r\n if (this.DesiredCountryCode == \"\") {\r\n this.SetActiveLanguage(this.LanguagesViewModel.languages[0]);\r\n }\r\n else {\r\n for (var i = 0; i < this.LanguagesViewModel.languages.length; i++) {\r\n if (this.LanguagesViewModel.languages[i].countryCode?.toString().toLowerCase() == this.DesiredCountryCode.toLowerCase()) {\r\n this.SetActiveLanguage(this.LanguagesViewModel.languages[i]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private SetActiveLanguage(language: LanguageViewModel): void {\r\n if (this.ActiveLanguage != language) {\r\n this.ActiveLanguage = language;\r\n\r\n this.NavigateService.RefreshPage();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { FabrikantenApiClient, FabrikantenBestekViewModel, FabrikantenBestekRequestModel, BCBLinkResponseModel, BCBLinkRequestModel, Fabrikanten3DViewModel, Fabrikanten3DRequestModel } from '../swagger/SwaggerClient';\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\nimport { FabWebglViewerComponent } from '../components/fab-webgl-viewer/fab-webgl-viewer.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class WebGLService {\r\n\r\n public Loading: boolean = false;\r\n public ViewerWidth: number = 101;\r\n public ViewerHeight: number = 101;\r\n\r\n public Fabrikanten3DViewModel: Fabrikanten3DViewModel;\r\n\r\n public FabWebglViewerComponent: FabWebglViewerComponent | null = null;\r\n\r\n constructor(private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n public LoadFabrikanten3DViewModel(sessionid: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n\r\n var request = new Fabrikanten3DRequestModel();\r\n\r\n request.sessionId = sessionid;\r\n\r\n this.FabrikantenApiClient.getFabrikanten3DViewModel(request).subscribe((model: Fabrikanten3DViewModel) => {\r\n this.Fabrikanten3DViewModel = model;\r\n this.Loading = false;\r\n\r\n if (this.FabWebglViewerComponent != null) {\r\n this.FabWebglViewerComponent.RefreshViewer();\r\n }\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public HasNativeRFA(): boolean {\r\n if (this.Fabrikanten3DViewModel != null) {\r\n return this.Fabrikanten3DViewModel.nativeRFA;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\nimport { FabrikantenApiClient, FabrikantenSVGViewModel, FabrikantenSVGRequestModel } from '../swagger/SwaggerClient';\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { MobileService } from './mobile.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SVGService {\r\n\r\n public Loading: boolean = false;\r\n public FabrikantenSVGViewModel: FabrikantenSVGViewModel;\r\n\r\n public FabrikantenService: FabrikantenService;\r\n\r\n public ViewerWidth: number = 101;\r\n public ViewerHeight: number = 101;\r\n\r\n constructor(private FabrikantenApiClient: FabrikantenApiClient) {\r\n }\r\n\r\n public LoadFabrikantenSVGViewModel(sessionid: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new FabrikantenSVGRequestModel();\r\n\r\n request.sessionId = sessionid;\r\n\r\n request.width = this.ViewerWidth;\r\n request.height = this.ViewerHeight;\r\n\r\n console.log('get width:' + request.width + \" height: \" + request.height);\r\n\r\n this.FabrikantenApiClient.getFabrikantenSVGViewModel(request).subscribe((model: FabrikantenSVGViewModel) => {\r\n this.FabrikantenSVGViewModel = model;\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public UpdateViewerSize(width: number, height: number, ChangeDetectorRef: ChangeDetectorRef): void {\r\n if ((this.ViewerWidth != width || this.ViewerHeight != height) &&\r\n (width > 0) && (height > 0)) {\r\n this.ViewerWidth = width;\r\n this.ViewerHeight = height;\r\n\r\n if (this.FabrikantenService?.FabrikantenViewModel?.sessionId != null) {\r\n this.LoadFabrikantenSVGViewModel(this.FabrikantenService.FabrikantenViewModel.sessionId, ChangeDetectorRef);\r\n }\r\n }\r\n }\r\n\r\n public HasNativeRFA(): boolean {\r\n if (this.FabrikantenSVGViewModel != null) {\r\n return this.FabrikantenSVGViewModel.nativeRFA;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport {\r\n FabrikantenApiClient,\r\n FabrikantenFilterViewModel,\r\n FabrikantenViewModel,\r\n SelectProductRequest,\r\n SelectFilterOptionRequest,\r\n SelectCategoryRequest,\r\n ResetFilterRequest,\r\n ResetAllFiltersRequest,\r\n ResetCategoryLayerRequest,\r\n RemoveProductSelectionRequest,\r\n FabrikantenProductViewModel,\r\n FabrikantenCategoryLayerViewModel,\r\n FabrikantenRequestModel,\r\n FabrikantenCategoryViewModel,\r\n ResetAllCategoriesRequest,\r\n BCBLinkRequestModel,\r\n BCBLinkResponseModel,\r\n FabrikantenFileRequestModel,\r\n FabrikantenFileViewModel\r\n} from '../swagger/SwaggerClient';\r\nimport { BestekService } from './bestek.service';\r\nimport { NavigateService } from './navigate.service';\r\nimport { SVGService } from './svg.service';\r\nimport { TranslateService } from './translate.service';\r\nimport { WebGLService } from './webgl.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FabrikantenService {\r\n private Init: boolean = false;\r\n\r\n public Loading: boolean = true;\r\n public DownloadARKEYAdomiLoading: boolean = false;\r\n public DownloadIFCLoading: boolean = false;\r\n public DownloadRevitPluginLoading: boolean = false;\r\n public Download3DAutoCADDwgLoading: boolean = false;\r\n public Download3DDxfLoading: boolean = false;\r\n public Download2DAutoCADDwgLoading: boolean = false;\r\n public Download2DDxfLoading: boolean = false;\r\n public DownloadRFALoading: boolean = false;\r\n\r\n public FabrikantenViewModel: FabrikantenViewModel;\r\n\r\n public SelectedPhoto: number = 0;\r\n\r\n private SelectedTab: string = \"Informatie\";\r\n\r\n constructor(\r\n private FabrikantenApiClient: FabrikantenApiClient,\r\n private BestekService: BestekService,\r\n private TranslateService: TranslateService,\r\n private WebGLService: WebGLService,\r\n private SVGService: SVGService,\r\n private NavigateService: NavigateService) {\r\n this.NavigateService.FabrikantenService = this;\r\n this.SVGService.FabrikantenService = this;\r\n }\r\n\r\n public ResetAllFilters(ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new ResetAllFiltersRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetAllFilters(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public SelectOption(filterid: number, filteroptionid: number, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new SelectFilterOptionRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.filterOptionId = filteroptionid;\r\n request.filterId = filterid;\r\n\r\n this.FabrikantenApiClient.selectFilterOption(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public SelectCategory(category: FabrikantenCategoryViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new SelectCategoryRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.categoryId = category.id;\r\n request.categoryLayer = category.layer;\r\n\r\n this.FabrikantenApiClient.selectCategory(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public SelectProduct(product: FabrikantenProductViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new SelectProductRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.productId = product.id;\r\n\r\n this.FabrikantenApiClient.selectProduct(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public ResetSelectionFilter(filter: FabrikantenFilterViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new ResetFilterRequest();\r\n request.filterId = filter.id;\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetFilterSelection(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public ResetAllCategories(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (this.FabrikantenViewModel != null) {\r\n this.Loading = true;\r\n\r\n var request = new ResetAllCategoriesRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetAllCategories(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n public ResetSelectionCategory(categorylayer: FabrikantenCategoryViewModel, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new ResetCategoryLayerRequest();\r\n request.categoryLayer = categorylayer.layer;\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.resetCategoryLayerSelection(request).subscribe(() => {\r\n this.ResetAllFilters(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n public RemoveProductSelection(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (this.FabrikantenViewModel != null) {\r\n this.Loading = true;\r\n\r\n var request = new RemoveProductSelectionRequest();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n\r\n this.FabrikantenApiClient.removeProductSelection(request).subscribe(() => {\r\n this.ReloadModel(ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n public TabSelectionChanged(tab: string, ChangeDetectorRef: ChangeDetectorRef): void {\r\n this.SelectedTab = tab;\r\n\r\n this.TriggerReloads(ChangeDetectorRef);\r\n }\r\n\r\n public GetFirstOpenCategoryLayer(): FabrikantenCategoryLayerViewModel | null {\r\n var arraylayers = this.FabrikantenViewModel?.categoryLayers;\r\n\r\n if (arraylayers != null) {\r\n for (var i = 0; i < arraylayers.length; i++) {\r\n if (arraylayers[i].selectedOption == 0) {\r\n return arraylayers[i];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public ShowCategories(): boolean {\r\n return this.GetFirstOpenCategoryLayer() != null;\r\n }\r\n\r\n public ShowVariants(): boolean {\r\n var bcbproducts = this.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null && bcbproducts.length > 1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public OpenBCBLink(wuid: string): void {\r\n this.Loading = true;\r\n\r\n var request = new BCBLinkRequestModel();\r\n request.wuid = wuid;\r\n\r\n this.FabrikantenApiClient.getBCBLink(request).subscribe((model: BCBLinkResponseModel) => {\r\n window.open(model.url, '_blank');\r\n\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n\r\n public ReloadModel(ChangeDetectorRef: ChangeDetectorRef) {\r\n this.Init = false;\r\n this.LoadFabrikantenViewModel(ChangeDetectorRef);\r\n }\r\n\r\n public LoadFabrikantenViewModel(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (!this.Init) {\r\n this.Init = true;\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n var request = new FabrikantenRequestModel();\r\n\r\n if (this.FabrikantenViewModel != null) {\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n }\r\n else {\r\n request.sessionId = \"\";\r\n }\r\n\r\n this.FabrikantenApiClient.getFabrikantenViewModel(request).subscribe((model: FabrikantenViewModel) => {\r\n this.FabrikantenViewModel = model;\r\n this.SelectedPhoto = 0;\r\n this.Loading = false;\r\n\r\n ChangeDetectorRef.detectChanges();\r\n this.TriggerReloads(ChangeDetectorRef);\r\n\r\n this.NavigateService.RefreshPage();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n // Downloads\r\n\r\n public DownloadARKEYAdomi(): void {\r\n this.DownloadARKEYAdomiLoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dhg\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dhg\");\r\n this.DownloadARKEYAdomiLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public DownloadIFC(): void {\r\n this.DownloadIFCLoading = true;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"ifc\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".ifc\");\r\n this.DownloadIFCLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public DownloadRevitPlugin(): void {\r\n this.DownloadRevitPluginLoading = false;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"hdhRevit\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".hdhRevit\");\r\n this.DownloadRevitPluginLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download3DAutoCADDwg(): void {\r\n this.Download3DAutoCADDwgLoading = true;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dwg\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dwg\");\r\n this.Download3DAutoCADDwgLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download3DDxf(): void {\r\n this.Download3DDxfLoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dxf\";\r\n request.model3D = true;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dxf\");\r\n this.Download3DDxfLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download2DAutoCADDwg(): void {\r\n this.Download2DAutoCADDwgLoading = true;\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dwg\";\r\n request.model3D = false;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dwg\");\r\n this.Download2DAutoCADDwgLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public Download2DDxf(): void {\r\n this.Download2DDxfLoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"dxf\";\r\n request.model3D = false;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".dxf\");\r\n this.Download2DDxfLoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public DownloadRFA(): void {\r\n this.DownloadRFALoading = true;\r\n\r\n var request = new FabrikantenFileRequestModel();\r\n\r\n request.sessionId = this.FabrikantenViewModel.sessionId;\r\n request.fileType = \"rfa\";\r\n request.model3D = false;\r\n\r\n this.FabrikantenApiClient.getFabrikantenFileViewModel(request).subscribe((model: FabrikantenFileViewModel) => {\r\n this.StartDownload(model.data, \".rfa\");\r\n this.DownloadRFALoading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public StartDownload(data: any, extension: string): void {\r\n if (this.FabrikantenViewModel?.selectedProduct?.id != null) {\r\n var id = this.FabrikantenViewModel?.selectedProduct?.id;\r\n\r\n var arr = data;\r\n var byteArray = new Uint8Array(arr);\r\n var a = window.document.createElement('a');\r\n\r\n var filename = this.TranslateService.GetActiveValueProduct(id);\r\n filename = filename.replace(/[^a-z0-9]/gi, '_') + extension;\r\n\r\n a.href = window.URL.createObjectURL(new Blob([byteArray], { type: 'application/octet-stream' }));\r\n a.download = filename;\r\n\r\n // Append anchor to body.\r\n document.body.appendChild(a)\r\n a.click();\r\n\r\n\r\n // Remove anchor from body\r\n document.body.removeChild(a)\r\n }\r\n else {\r\n alert('error: no product selected');\r\n }\r\n }\r\n\r\n // Reloads\r\n\r\n private TriggerReloads(ChangeDetectorRef: ChangeDetectorRef): void {\r\n var array = this.FabrikantenViewModel.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (array != null && array.length == 1) {\r\n if (this.SelectedTab == \"Bestek\") {\r\n this.BestekService.LoadFabrikantenBestekViewModel(this.FabrikantenViewModel.sessionId as string, ChangeDetectorRef);\r\n }\r\n else if (this.SelectedTab == \"3D\") {\r\n this.WebGLService.LoadFabrikanten3DViewModel(this.FabrikantenViewModel.sessionId as string, ChangeDetectorRef);\r\n }\r\n else if (this.SelectedTab == \"2D\") {\r\n this.SVGService.LoadFabrikantenSVGViewModel(this.FabrikantenViewModel.sessionId as string, ChangeDetectorRef);\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenFilterViewModel } from '../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-fab-filter',\r\n templateUrl: './fab-filter.component.html',\r\n styleUrls: ['./fab-filter.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FabFilterComponent implements OnInit {\r\n public SelectedOptionId: number;\r\n\r\n _filter: FabrikantenFilterViewModel;\r\n get filter(): FabrikantenFilterViewModel {\r\n return this._filter;\r\n }\r\n\r\n @Input() set filter(value: FabrikantenFilterViewModel) {\r\n this._filter = value;\r\n this.SelectedOptionId = this._filter.selectedOption;\r\n\r\n if (this.SelectedOptionId == 0) {\r\n var options = this._filter.options;\r\n if (options != null && options.length == 1) {\r\n this.SelectedOptionId = options[0].id;\r\n }\r\n }\r\n }\r\n\r\n @Output() filterchanged: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor(\r\n private FabrikantenService: FabrikantenService,\r\n public TranslateService: TranslateService,\r\n private ChangeDetectorRef: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public SelectOption(): void {\r\n this.FabrikantenService.SelectOption(this.filter.id, this.SelectedOptionId, this.ChangeDetectorRef);\r\n }\r\n\r\n public ResetSelection(): void {\r\n this.FabrikantenService.ResetSelectionFilter(this.filter, this.ChangeDetectorRef);\r\n }\r\n\r\n public IsDisabled(): boolean {\r\n\r\n if (this.filter.selectedOption != 0) {\r\n return true;\r\n }\r\n\r\n if (this.filter.options?.length == 1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"select\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label class=\"select-mat-label\">{{ TranslateService.GetActiveValueFilter(filter.id) }}</mat-label>\r\n <mat-select [(ngModel)]=\"SelectedOptionId\" (selectionChange)=\"SelectOption()\" [disabled]=\"IsDisabled()\">\r\n <mat-option *ngFor=\"let option of filter.options\" [value]=\"option.id\" class=\"select-mat-option\">\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 \r\n {{ TranslateService.GetActiveValueFilterOption(option.id) }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"reset\" *ngIf=\"filter.selectedOption != 0\" (click)=\"ResetSelection()\">\r\n <mat-icon class=\"icon-position\" [inline]=\"true\">clear</mat-icon>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'fab-filters-input',\n templateUrl: './fab-filters-input.component.html',\n styleUrls: ['./fab-filters-input.component.scss']\n})\nexport class FabFiltersInputComponent implements OnInit {\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n public ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n }\n\n public ResetAllFilters(): void {\r\n this.FabrikantenService.ResetAllFilters(this.ChangeDetectorRef);\r\n }\n}\n","<div class=\"filter-view-margin\">\r\n <div class=\"filter-view-header\">\r\n <div class=\"filter-view-header-h1\">\r\n <h1>{{ TranslateService.GetActiveValue(\"Common\", \"Filters\") }}</h1>\r\n </div>\r\n <div class=\"filter-view-header-reset\" (click)=\"ResetAllFilters()\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Reset filters\") }}\r\n </div>\r\n </div>\r\n\r\n <app-fab-filter *ngFor=\"let filterviewmodel of FabrikantenService.FabrikantenViewModel.filters\" [filter]=\"filterviewmodel\"></app-fab-filter>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport { FabrikantenBCBProductAfbeeldingViewModel } from '../swagger/SwaggerClient';\r\nimport { FabrikantenService } from './fabrikanten.service';\r\nimport { TranslateService } from './translate.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PhotoService {\r\n\r\n\r\n constructor(\r\n private FabrikantenService: FabrikantenService,\r\n private TranslateService: TranslateService\r\n ) {\r\n }\r\n\r\n public Left(): void {\r\n this.FabrikantenService.SelectedPhoto--;\r\n }\r\n\r\n public Right(): void {\r\n this.FabrikantenService.SelectedPhoto++;\r\n }\r\n\r\n public GetSelectedPhoto(): string {\r\n var array = this.GetPhotoArray();\r\n\r\n if (array.length == 0) {\r\n return \"\";\r\n }\r\n else {\r\n return this.FabrikantenService.FabrikantenViewModel?.bcbWebserviceURLBase as string + array[this.FabrikantenService.SelectedPhoto].url;\r\n }\r\n }\r\n\r\n public GetSelectedDescription(): string {\r\n var array = this.GetPhotoArray();\r\n\r\n if (array.length == 0) {\r\n return \"\";\r\n }\r\n else {\r\n return this.TranslateService.GetActiveValueAfbeelding(array[this.FabrikantenService.SelectedPhoto].id) + \" (\" + (this.FabrikantenService.SelectedPhoto + 1) + \"/\" + array.length + \")\";\r\n }\r\n }\r\n\r\n public ShouldDisplayLeft(): boolean {\r\n return this.FabrikantenService.SelectedPhoto != 0;\r\n }\r\n\r\n public ShouldDisplayRight(): boolean {\r\n var array = this.GetPhotoArray();\r\n\r\n return array.length != (this.FabrikantenService.SelectedPhoto + 1);\r\n }\r\n\r\n public GetPhotoCount(): number {\r\n var array = this.GetPhotoArray();\r\n\r\n return array.length;\r\n }\r\n\r\n public GetPhotoArray(): Array<FabrikantenBCBProductAfbeeldingViewModel> {\r\n var array = new Array<FabrikantenBCBProductAfbeeldingViewModel>();\r\n var bcbproducts = this.FabrikantenService.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n var afbeeldingen = bcbproducts[i].bcbProductAfbeeldingen;\r\n\r\n if (afbeeldingen != null)\r\n for (var j = 0; j < afbeeldingen.length; j++) {\r\n\r\n if (afbeeldingen[j].url != null) {\r\n var url = afbeeldingen[j].url as string;\r\n\r\n var contains = false;\r\n\r\n for (var p = 0; p < array.length; p++) {\r\n if (array[p].url == url) {\r\n contains = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!contains) {\r\n array.push(afbeeldingen[j]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { PhotoService } from '../../../../services/photo.service';\r\n\n@Component({\n selector: 'app-fab-product-info-photo-dialog',\n templateUrl: './fab-product-info-photo-dialog.component.html',\n styleUrls: ['./fab-product-info-photo-dialog.component.scss']\n})\nexport class FabProductInfoPhotoDialogComponent implements OnInit {\n\n constructor(public dialogRef: MatDialogRef<FabProductInfoPhotoDialogComponent>, public PhotoService: PhotoService) { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"image-container\">\n <div class=\"image-toolbar\">\n <div *ngIf=\"PhotoService.ShouldDisplayLeft()\" (click)=\"PhotoService.Left()\" class=\"arrow\">\n <mat-icon>arrow_back</mat-icon>\n </div>\n <div class=\"filler\">\n {{ PhotoService.GetSelectedDescription() }}\n </div>\n <div *ngIf=\"PhotoService.ShouldDisplayRight()\" (click)=\"PhotoService.Right()\" class=\"arrow\">\n <mat-icon>arrow_forward</mat-icon>\n </div>\n </div>\n\n <img class=\"image\" src=\"{{ PhotoService.GetSelectedPhoto() }}\" />\n</div>\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { PhotoService } from '../../../../services/photo.service';\r\nimport { FabProductInfoPhotoDialogComponent } from '../fab-product-info-photo-dialog/fab-product-info-photo-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-fab-product-info-photo',\r\n templateUrl: './fab-product-info-photo.component.html',\r\n styleUrls: ['./fab-product-info-photo.component.scss']\r\n})\r\nexport class FabProductInfoPhotoComponent implements OnInit {\r\n constructor(public PhotoService: PhotoService, public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Open(): void {\r\n const mdc = new MatDialogConfig();\r\n\r\n mdc.position = {\r\n 'top': '100px',\r\n };\r\n\r\n var dialogRef = this.dialog.open(FabProductInfoPhotoDialogComponent, mdc);\r\n }\r\n}\r\n","<div class=\"image-container\">\n <div class=\"image-toolbar\">\n <div *ngIf=\"PhotoService.ShouldDisplayLeft()\" (click)=\"PhotoService.Left()\" class=\"arrow\">\n <mat-icon>arrow_back</mat-icon>\n </div>\n <div class=\"filler\">\n {{ PhotoService.GetSelectedDescription() }}\n </div>\n <div *ngIf=\"PhotoService.ShouldDisplayRight()\" (click)=\"PhotoService.Right()\" class=\"arrow\">\n <mat-icon>arrow_forward</mat-icon>\n </div>\n </div>\n\n <img class=\"image\" src=\"{{ PhotoService.GetSelectedPhoto() }}\" (click)=\"Open()\" />\n</div>\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { FabrikantenService } from '../../../services/fabrikanten.service';\r\nimport { MobileService } from '../../../services/mobile.service';\r\nimport { TranslateService } from '../../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'app-fab-product-info',\r\n templateUrl: './fab-product-info.component.html',\r\n styleUrls: ['./fab-product-info.component.scss']\r\n})\r\nexport class FabProductInfoComponent implements OnInit {\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public TranslateService: TranslateService,\r\n private FabrikantenService: FabrikantenService) { }\r\n\r\n ngOnInit() {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\r\n\r\n public GetDescription(): string {\r\n var bcbproducts = this.FabrikantenService.FabrikantenViewModel?.selectedProduct?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n if (bcbproducts[i].description != null)\r\n return this.TranslateService.GetActiveValueDescription(bcbproducts[i].id);\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n}\r\n","<div class=\"description-normal\" *ngIf=\"!MobileService.MobileInterface\">\n <div class=\"text\" [innerHTML]=\"GetDescription()\">\n\n </div>\n <div class=\"photo\">\n <app-fab-product-info-photo></app-fab-product-info-photo>\n </div>\n</div>\n\n<div class=\"mobile\" *ngIf=\"MobileService.MobileInterface\">\n <div class=\"photo\">\n <app-fab-product-info-photo></app-fab-product-info-photo>\n </div>\n <div class=\"text\" [innerHTML]=\"GetDescription()\">\n\n </div>\n</div>\n","import { Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\r\nimport { BestekService } from '../../../services/bestek.service';\r\nimport { FabrikantenService } from '../../../services/fabrikanten.service';\r\nimport { MobileService } from '../../../services/mobile.service';\r\nimport { TranslateService } from '../../../services/translate.service';\r\n\r\nimport {\r\n FabrikantenBCBProductViewModel\r\n} from '../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-fab-product-bestek',\r\n templateUrl: './fab-product-bestek.component.html',\r\n styleUrls: ['./fab-product-bestek.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FabProductBestekComponent implements OnInit {\r\n\r\n @ViewChild('fabProductBestek') fabProductBestek: ElementRef;\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public TranslateService: TranslateService,\r\n public BestekService: BestekService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public CopyToClipBoard(): void {\r\n this.BestekService.CopyToClipboard(this.fabProductBestek.nativeElement.innerText);\r\n }\r\n\r\n public DownloadBestek(): void {\r\n this.BestekService.DownloadBestek(this.fabProductBestek.nativeElement.innerText);\r\n }\r\n\r\n public OpenBCBLink(): void {\r\n this.FabrikantenService.OpenBCBLink(this.BestekService.FabrikantenBestekViewModel.wuid + \"\");\r\n }\r\n\r\n public Select(bcbproduct: FabrikantenBCBProductViewModel) {\r\n\r\n }\r\n\r\n public SelectedTabChange(event: MatButtonToggleChange) {\r\n this.BestekService.TypeBestek = event.value;\r\n }\r\n\r\n public ShowBestek(): boolean {\r\n if (!this.FabrikantenService.ShowVariants()) {\r\n if (this.BestekService.FabrikantenBestekViewModel != undefined) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public ShowSTABU(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.stabu != '' && this.BestekService.FabrikantenBestekViewModel?.stabu != undefined;\r\n }\r\n\r\n public ShowSUF(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.suf != '' && this.BestekService.FabrikantenBestekViewModel?.suf != undefined;\r\n }\r\n\r\n public ShowOSF(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.osfhtml != '' && this.BestekService.FabrikantenBestekViewModel?.osfhtml != undefined;\r\n }\r\n\r\n public ShowVrij(): boolean {\r\n return this.BestekService.FabrikantenBestekViewModel?.vrijBestekHTML != '' && this.BestekService.FabrikantenBestekViewModel?.vrijBestekHTML != undefined;\r\n }\r\n}\r\n","<div class=\"main-window\">\n <div *ngIf=\"FabrikantenService.ShowVariants()\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\n <div>\n <ul>\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\n {{ bcbproduct.name }}\n </li>\n </ul>\n </div>\n </div>\n <app-fab-loader *ngIf=\"BestekService.Loading\"></app-fab-loader>\n <div *ngIf=\"ShowBestek()\">\n <div *ngIf=\"!BestekService.Loading\">\n <div [ngClass]=\"{ 'toolbar': !MobileService.MobileInterface, 'toolbar-mobile': MobileService.MobileInterface }\">\n <div class=\"toolbar-actions\">\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"CopyToClipBoard()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">content_copy</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Clipboard\") }}\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"DownloadBestek()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Download\") }}\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">open_in_new</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\n </div>\n </div>\n </button>\n </div>\n <div class=\"bestek-type-select\" [ngClass]=\"{ 'bestek-type-select-mobile': MobileService.MobileInterface }\">\n <mat-button-toggle-group [value]=\"BestekService.TypeBestek\" (change)=\"SelectedTabChange($event)\" appearance=\"legacy\">\n <mat-button-toggle *ngIf=\"ShowSTABU()\" value=\"STABU\">{{ TranslateService.GetActiveValue(\"Common\", \"STABU\") }}</mat-button-toggle>\n <mat-button-toggle *ngIf=\"ShowOSF()\" value=\"OSF\">{{ TranslateService.GetActiveValue(\"Common\", \"OSF\") }}</mat-button-toggle>\n <mat-button-toggle *ngIf=\"ShowVrij()\" value=\"Vrij\">{{ TranslateService.GetActiveValue(\"Common\", \"Specification text\") }}</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n <div class=\"bestek-viewer\" #fabProductBestek [innerHTML]=\"BestekService.GetBestekTekst()\">\n </div>\n </div>\n </div>\n</div>\n","import { ChangeDetectorRef, Component, HostListener, Input, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenCategoryViewModel } from '../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-fab-breadcrumb',\n templateUrl: './fab-breadcrumb.component.html',\n styleUrls: ['./fab-breadcrumb.component.scss']\n})\nexport class FabBreadcrumbComponent implements OnInit {\n\n @Input() showfiltermenubutton: boolean;\n\n constructor(\n public MobileService: MobileService,\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\n\n public Back(): void {\n if (this.FabrikantenService.FabrikantenViewModel.selectedProduct != null) {\n this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);\r\n }\n else {\n var array = this.GetSteps();\n if (array.length > 0) {\n this.UndoStep(array[array.length - 1]);\r\n }\r\n }\r\n }\n\n public UndoStep(category: FabrikantenCategoryViewModel): void {\n this.FabrikantenService.ResetSelectionCategory(category, this.ChangeDetectorRef);\r\n }\n\n public ShowBack(): boolean {\n var array = this.FabrikantenService.FabrikantenViewModel?.categoryLayers;\n\n if (array != null) {\n if (array.length > 0) {\r\n if (array[0].selectedOption == 0) {\r\n return false;\r\n }\r\n }\r\n }\n\n return true;\r\n }\n\n public GetSteps(): Array<FabrikantenCategoryViewModel> {\n var returnarray = new Array<FabrikantenCategoryViewModel>();\n\n var array = this.FabrikantenService.FabrikantenViewModel?.categoryLayers;\n\n if (array != null) {\n for (var i = 0; i < array.length; i++) {\r\n if (array[i].selectedOption != 0) {\r\n var options = array[i].categories;\r\n\r\n if (options != null) {\r\n for (var j = 0; j < options.length; j++) {\r\n if (options[j].id === array[i].selectedOption) {\r\n returnarray.push(options[j]);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\n\n return returnarray;\r\n }\n\n}\n","<div class=\"header\" *ngIf=\"ShowBack()\">\n <div>\n <button class=\"buttonsize\" mat-stroked-button (click)=\"Back()\">\n <div class=\"header\">\n <div class=\"header-back\">\n <mat-icon class=\"icon\">arrow_back</mat-icon>\n </div>\n <div class=\"header-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Back\") }}\n </div>\n </div>\n </button>\n </div>\n <ng-container *ngIf=\"!MobileService.MobileInterface\">\n <ng-container *ngFor=\"let step of GetSteps()\">\n <div class=\"stepicon\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n <div class=\"step\" (click)=\"UndoStep(step)\">\n {{ TranslateService.GetActiveValueCategory(step.id) }}\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"this.FabrikantenService.FabrikantenViewModel?.selectedProduct != null\">\n <div class=\"stepicon\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n <div class=\"step\" (click)=\"Back()\">\n <span *ngIf=\"GetSteps().length == 0\">Productconfiguratie: </span>{{ TranslateService.GetActiveValueProduct(FabrikantenService.FabrikantenViewModel?.selectedProduct?.id) }}\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"MobileService.MobileInterface && showfiltermenubutton\">\n <button class=\"open-filters-button buttonsize\" mat-stroked-button (click)=\"MobileService.OpenNav()\">\n <div class=\"header\">\n <div class=\"header-back\">\n <mat-icon class=\"icon\">menu</mat-icon>\n </div>\n <div class=\"header-title\">\n Filtermenu\n </div>\n </div>\n </button>\n </ng-container>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'fab-flag',\n templateUrl: './fab-flag.component.html',\n styleUrls: ['./fab-flag.component.scss']\n})\nexport class FabFlagComponent implements OnInit {\n\n @Input() country: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<span class=\"fi fi-{{ country }}\"></span>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { TranslateService } from '../../services/translate.service';\r\nimport { LanguageViewModel } from '../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-fab-language-select',\n templateUrl: './fab-language-select.component.html',\n styleUrls: ['./fab-language-select.component.scss']\n})\nexport class FabLanguageSelectComponent implements OnInit {\n\n constructor(public TranslateService: TranslateService, private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n public SelectLanguage(language: LanguageViewModel) {\n this.TranslateService.SelectLanguage(language, this.ChangeDetectorRef);\r\n }\n}\n","<div class=\"row\" *ngIf=\"!TranslateService.Loading\">\n <div class=\"item\" (click)=\"SelectLanguage(language)\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\n <fab-flag [country]=\"language.flag\"></fab-flag>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fab-header',\n templateUrl: './fab-header.component.html',\n styleUrls: ['./fab-header.component.scss']\n})\nexport class FabHeaderComponent implements OnInit {\n\n @Input() showfiltermenubutton: boolean;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"header-row\">\r\n <app-fab-breadcrumb [showfiltermenubutton]=\"showfiltermenubutton\"></app-fab-breadcrumb>\r\n <app-fab-language-select></app-fab-language-select>\r\n</div>\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, DoCheck, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { WebGLService } from '../../services/webgl.service';\r\nimport { FabrikantenApiClient, FabrikantenFileRequestModel, FabrikantenFileViewModel } from '../../swagger/SwaggerClient';\r\n\ndeclare var ModuleViewer3DLight: any;\n\n@Component({\n selector: 'app-fab-webgl-viewer',\n templateUrl: './fab-webgl-viewer.component.html',\n styleUrls: ['./fab-webgl-viewer.component.scss']\n})\nexport class FabWebglViewerComponent implements OnInit, AfterViewInit, DoCheck {\n\n public viewerInitialised: boolean = false;\n private timeoutId: any;\n\n @ViewChild('header') header: ElementRef;\n @ViewChild('viewercontainer') viewercontainer: ElementRef;\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public WebGLService: WebGLService,\n public TranslateService: TranslateService,\n public MobileService: MobileService,\n private ChangeDetectorRef: ChangeDetectorRef\n ) {\n this.WebGLService.FabWebglViewerComponent = this;\n\n this.RefreshViewerSize();\n }\n\n ngOnInit(): void {\n this.RefreshViewerSize();\n }\n\n ngAfterViewInit(): void {\n this.RefreshViewerSize();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\n\n ngDoCheck(): void {\n this.RefreshViewerSize();\r\n }\n\n public OpenBCBLink(): void {\r\n this.FabrikantenService.OpenBCBLink(this.WebGLService.Fabrikanten3DViewModel.wuid + \"\");\r\n }\n\n public ShowWebGL(): boolean {\r\n if (!this.FabrikantenService.ShowVariants()) {\r\n if (this.WebGLService.Fabrikanten3DViewModel != undefined) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\n\n public RefreshViewer(): void {\r\n if (!this.WebGLService.Loading && this.WebGLService.Fabrikanten3DViewModel != null) {\r\n var viewer = ModuleViewer3DLight.get(\"viewerCanvas\");\r\n\r\n if (viewer != null) {\r\n if (this.viewerInitialised) {\r\n var belichting = viewer.belichting;\r\n belichting.toonSlagschaduw = true;\r\n belichting.slagschaduwVerzadiging = 0.5;\r\n belichting.lichtbronSterkte = 0.4;\r\n belichting.lichtSchittering = 0.333;\r\n belichting.isCameraLicht = false;\r\n belichting.omgevinglichtSterkte = 0.8;\r\n belichting.lichtval = [-1.0, 0.5, -1.2];\r\n viewer.orthografischeProjectie = false;\r\n viewer.kijkrichting = [0.56777614549287847, 0.69328989820855813, -0.44382357491599833];\r\n\r\n this.viewerInitialised = true;\r\n }\r\n\r\n viewer.clear();\r\n viewer.add(this.WebGLService.Fabrikanten3DViewModel.webGLJSON, function () {\r\n viewer.zetZoomGeheel();\r\n viewer.toonModel();\r\n });\r\n }\r\n\r\n console.log(\"refresh viewer\");\r\n }\r\n }\n\n public GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\n\n private RefreshViewerSize(): void {\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n\r\n if (this.viewercontainer != undefined) {\r\n\r\n var width = this.viewercontainer.nativeElement.offsetWidth - 6;\r\n var height = this.viewercontainer.nativeElement.offsetHeight - 6;\r\n\r\n if (this.WebGLService.ViewerWidth != width || this.WebGLService.ViewerHeight != height) {\r\n clearTimeout(this.timeoutId);\r\n\r\n this.WebGLService.ViewerWidth = width;\r\n this.WebGLService.ViewerHeight = height;\r\n this.ChangeDetectorRef.detectChanges();\r\n\r\n console.log(\"width:\" + width + \" height: \" + height);\r\n\r\n this.timeoutId = setTimeout(() => {\r\n this.RefreshViewer();\r\n }, 300);\r\n }\r\n }\r\n }\n}\n","<div class=\"loader\" *ngIf=\"WebGLService.Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div class=\"main-window\">\n <div *ngIf=\"FabrikantenService.ShowVariants()\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\n <div>\n <ul>\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\n {{ bcbproduct.name }}\n </li>\n </ul>\n </div>\n </div>\n <div *ngIf=\"ShowWebGL()\" class=\"main-window\">\n <div #header class=\"toolbar\">\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"WebGLService.HasNativeRFA()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\n </div>\n </div>\n </button>\n <!--<button mat-stroked-button class=\"toolbar-button revit-plugin-button\" (click)=\"FabrikantenService.DownloadRevitPlugin()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadRevitPluginLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadRevitPluginLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit (plugin)\") }}</span>\n </div>\n </div>\n </button>-->\n <button mat-stroked-button class=\"toolbar-button autocad-3d-button\" (click)=\"FabrikantenService.Download3DAutoCADDwg()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download3DAutoCADDwgLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download3DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D AutoCAD Dwg\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button dxf-3d-button\" (click)=\"FabrikantenService.Download3DDxf()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download3DDxfLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download3DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"3D Dxf\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">open_in_new</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\n </div>\n </div>\n </button>\n </div>\n\n <div #viewercontainer class=\"viewer-container\" [style.height]=\"GetHeight()\">\n <canvas id=\"viewerCanvas\" class=\"viewer-canvas\" [attr.width]=\"WebGLService.ViewerWidth\" [attr.height]=\"WebGLService.ViewerHeight\"></canvas>\n </div>\n </div>\n</div>\n\n\n","import { AfterViewInit, ChangeDetectorRef, Component, DoCheck, ElementRef, OnChanges, OnInit, ViewChild } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { SVGService } from '../../services/svg.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'app-fab-svg-viewer',\n templateUrl: './fab-svg-viewer.component.html',\n styleUrls: ['./fab-svg-viewer.component.scss']\n})\nexport class FabSvgViewerComponent implements OnInit, AfterViewInit, DoCheck {\n\n @ViewChild('header') header: ElementRef;\n @ViewChild('svgcontainer') svgcontainer: ElementRef;\n\n private timeoutId: any;\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public SVGService: SVGService,\n public TranslateService: TranslateService,\n private sanitization: DomSanitizer,\n public MobileService: MobileService,\n private ChangeDetectorRef: ChangeDetectorRef) {\n this.UpdateSize();\n }\n\n ngOnInit(): void {\n this.UpdateSize();\n }\n\n ngAfterViewInit(): void {\n this.UpdateSize();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\n\n ngDoCheck(): void {\n this.UpdateSize();\r\n }\n\n public ShowSVG(): boolean {\r\n if (!this.FabrikantenService.ShowVariants()) {\r\n if (this.SVGService.FabrikantenSVGViewModel != undefined) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\n\n public GetSafeURL(): SafeResourceUrl {\r\n return this.sanitization.bypassSecurityTrustResourceUrl(this.SVGService.FabrikantenSVGViewModel.svg + \"\");\r\n }\n\n public OpenBCBLink(): void {\r\n this.FabrikantenService.OpenBCBLink(this.SVGService.FabrikantenSVGViewModel.wuid + \"\");\r\n }\n\n public UpdateSize(): void {\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n\r\n if (this.svgcontainer != undefined) {\r\n\r\n var width = this.svgcontainer.nativeElement.offsetWidth - 6;\r\n var height = this.svgcontainer.nativeElement.offsetHeight - 6;\r\n\r\n if (this.SVGService.ViewerWidth != width || this.SVGService.ViewerHeight != height) {\r\n clearTimeout(this.timeoutId);\r\n\r\n this.timeoutId = setTimeout(() => {\r\n this.SVGService.UpdateViewerSize(width, height, this.ChangeDetectorRef);\r\n }, 300);\r\n }\r\n }\r\n }\n\n public GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\n}\n","<div class=\"loader\" *ngIf=\"SVGService.Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div class=\"main-window\">\n <div *ngIf=\"FabrikantenService.ShowVariants()\">\n {{ TranslateService.GetActiveValue(\"Common\", \"Multiple variants\") }}\n <div>\n <ul>\n <li class=\"button\" mat-stroked-button *ngFor=\"let bcbproduct of FabrikantenService.FabrikantenViewModel.selectedProduct.fabrikantenBCBProductViewModels\">\n {{ bcbproduct.name }}\n </li>\n </ul>\n </div>\n </div>\n \n <div class=\"main-window\" *ngIf=\"ShowSVG()\">\n <div #header [ngClass]=\"{ 'toolbar': !MobileService.MobileInterface, 'toolbar-mobile': MobileService.MobileInterface }\">\n <button mat-stroked-button class=\"toolbar-button rfa-button\" (click)=\"FabrikantenService.DownloadRFA()\" *ngIf=\"SVGService.HasNativeRFA()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadRFALoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadRFALoading\">{{ TranslateService.GetActiveValue(\"Common\", \"Revit\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button arkey-adomi-button\" (click)=\"FabrikantenService.DownloadARKEYAdomi()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadARKEYAdomiLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadARKEYAdomiLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"ARKEY Adomi\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button ifc-button\" (click)=\"FabrikantenService.DownloadIFC()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.DownloadIFCLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.DownloadIFCLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"IFC\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button autocad-2d-button\" (click)=\"FabrikantenService.Download2DAutoCADDwg()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download2DAutoCADDwgLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download2DAutoCADDwgLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D AutoCAD Dwg\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button dxf-2d-button\" (click)=\"FabrikantenService.Download2DDxf()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">file_download</mat-icon>\n </div>\n <div class=\"row-title\">\n <span *ngIf=\"FabrikantenService.Download2DDxfLoading\">...</span>\n <span *ngIf=\"!FabrikantenService.Download2DDxfLoading\">{{ TranslateService.GetActiveValue(\"Common\", \"2D Dxf\") }}</span>\n </div>\n </div>\n </button>\n <button mat-stroked-button class=\"toolbar-button\" (click)=\"OpenBCBLink()\">\n <div class=\"row\">\n <div class=\"row-icon\">\n <mat-icon class=\"icon\">open_in_new</mat-icon>\n </div>\n <div class=\"row-title\">\n {{ TranslateService.GetActiveValue(\"Common\", \"BCB\") }}\n </div>\n </div>\n </button>\n </div>\n\n <div #svgcontainer class=\"svg-container\" [style.height]=\"GetHeight()\">\n <object class=\"svg-object\" *ngIf=\"ShowSVG()\" type=\"image/svg+xml\" [attr.data]=\"GetSafeURL()\"></object>\n </div>\n </div>\n</div>\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatTabChangeEvent } from '@angular/material/tabs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BestekService } from '../../services/bestek.service';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'app-fab-product',\r\n templateUrl: './fab-product.component.html',\r\n styleUrls: ['./fab-product.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FabProductComponent implements OnInit, AfterViewInit {\r\n\r\n public Height: string = \"100%\";\r\n\r\n @ViewChild('header') header: ElementRef;\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public BestekService: BestekService,\r\n public TranslateService: TranslateService,\r\n private ActivatedRoute: ActivatedRoute,\r\n private ChangeDetectorRef: ChangeDetectorRef\r\n ) {\r\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.Height = this.GetHeight();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\r\n\r\n public Back(): void {\r\n this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);\r\n }\r\n\r\n public SelectedTabChange(event: MatTabChangeEvent) {\r\n this.FabrikantenService.TabSelectionChanged(event.tab.textLabel, this.ChangeDetectorRef);\r\n }\r\n\r\n private GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\r\n}\r\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *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 #header>\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div [style.height]=\"Height\">\r\n <mat-tab-group class=\"view-container\" (selectedTabChange)=\"SelectedTabChange($event)\">\r\n <mat-tab label=\"Informatie\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Information\") }}</span>\r\n </ng-template>\r\n <app-fab-product-info></app-fab-product-info>\r\n </mat-tab>\r\n <mat-tab label=\"3D\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"3D\") }}</span>\r\n </ng-template>\r\n <app-fab-webgl-viewer></app-fab-webgl-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"2D\" style=\"height: 100%;\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"2D\") }}</span>\r\n </ng-template>\r\n <app-fab-svg-viewer></app-fab-svg-viewer>\r\n </mat-tab>\r\n <mat-tab label=\"Bestek\" *ngIf=\"TranslateService.ShowSpecification()\">\r\n <ng-template mat-tab-label>\r\n <span>{{ TranslateService.GetActiveValue(\"Common\", \"Specification\") }}</span>\r\n </ng-template>\r\n <app-fab-product-bestek></app-fab-product-bestek>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenProductViewModel } from '../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-fab-product-tile',\r\n templateUrl: './fab-product-tile.component.html',\r\n styleUrls: ['./fab-product-tile.component.scss']\r\n})\r\nexport class FabProductTileComponent implements OnInit {\r\n\r\n @Input() product: FabrikantenProductViewModel;\r\n\r\n constructor(\r\n public FabrikantenService: FabrikantenService,\r\n public TranslateService: TranslateService,\r\n private sanitization: DomSanitizer,\r\n private ChangeDetectorRef: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Select(): void {\r\n this.FabrikantenService.SelectProduct(this.product, this.ChangeDetectorRef);\r\n }\r\n\r\n public GetPhoto(): string {\r\n var bcbproducts = this.product?.fabrikantenBCBProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n var afbeeldingen = bcbproducts[i].bcbProductAfbeeldingen;\r\n\r\n if (afbeeldingen != null)\r\n for (var j = 0; j < afbeeldingen.length; j++) {\r\n if (afbeeldingen[j].url != null) {\r\n var url = this.FabrikantenService.FabrikantenViewModel?.bcbWebserviceURLBase + (afbeeldingen[j].url as string);\r\n\r\n return url;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public getSafeUrl() {\r\n return this.sanitization.bypassSecurityTrustStyle('url(\\'' + this.GetPhoto() + '\\')');\r\n }\r\n\r\n}\r\n","<mat-card class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\r\n <mat-card-title class=\"title\">\r\n {{ TranslateService.GetActiveValueProduct(product.id) }}\r\n </mat-card-title>\r\n</mat-card>\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BestekService } from '../../services/bestek.service';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'app-fab-product-select',\r\n templateUrl: './fab-product-select.component.html',\r\n styleUrls: ['./fab-product-select.component.scss']\r\n})\r\nexport class FabProductSelectComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('header') header: ElementRef;\r\n @ViewChild('info') info: ElementRef;\r\n\r\n public Height: string = \"100%\";\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public BestekService: BestekService,\r\n public TranslateService: TranslateService,\r\n private ActivatedRoute: ActivatedRoute,\r\n private ChangeDetectorRef: ChangeDetectorRef\r\n ) {\r\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\r\n\r\n this.FabrikantenService.RemoveProductSelection(this.ChangeDetectorRef);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.Height = this.GetHeight();\r\n this.ChangeDetectorRef.detectChanges();\r\n }\r\n\r\n public GetHeight(): string {\r\n var height = 0;\r\n\r\n if (this.header != undefined) {\r\n height += this.header.nativeElement.offsetHeight;\r\n }\r\n\r\n if (this.info != undefined) {\r\n height += this.info.nativeElement.offsetHeight;\r\n }\r\n\r\n return \"calc(100% - \" + height + \"px)\";\r\n }\r\n}\r\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *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 #header>\r\n <app-fab-header [showfiltermenubutton]=\"true\"></app-fab-header>\r\n </div>\r\n\r\n <div #info class=\"header\">\r\n <div class=\"title\">\r\n <h1>{{ TranslateService.GetActiveValue(\"Common\", \"Product selection\") }}</h1>\r\n </div>\r\n <div class=\"subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Product selection info\") }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-window\" [style.height]=\"Height\">\r\n <app-fab-product-tile *ngFor=\"let product of FabrikantenService.FabrikantenViewModel.products\" [product]=\"product\"></app-fab-product-tile>\r\n </div>\r\n </mat-drawer-content>\r\n</mat-drawer-container>\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\n\n@Component({\n selector: 'fab-filters-overview',\n templateUrl: './fab-filters-overview.component.html',\n styleUrls: ['./fab-filters-overview.component.scss']\n})\nexport class FabFiltersOverviewComponent implements OnInit {\n\n constructor(public FabrikantenService: FabrikantenService) { }\n\n ngOnInit(): void {\n }\n\n public ShowProductSelect(): boolean {\n if (this.FabrikantenService.FabrikantenViewModel?.selectedProduct != undefined) {\n return false;\n }\n\n return true;\n }\n\n public ShowProduct(): boolean {\n if (this.FabrikantenService.FabrikantenViewModel?.selectedProduct != undefined) {\n return true;\n }\n\n return false;\n }\n\n}\n","<div>\r\n <app-fab-product-select *ngIf=\"ShowProductSelect()\"></app-fab-product-select>\r\n <app-fab-product *ngIf=\"ShowProduct()\"></app-fab-product>\r\n</div>\r\n","import { ChangeDetectorRef, Component, HostListener, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BestekService } from '../../services/bestek.service';\r\n\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { MobileService } from '../../services/mobile.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\r\n@Component({\r\n selector: 'fab-filters',\r\n templateUrl: './fab-filters.component.html',\r\n styleUrls: ['./fab-filters.component.scss']\r\n})\r\n\r\nexport class FabFiltersComponent {\r\n\r\n constructor(\r\n public MobileService: MobileService,\r\n public FabrikantenService: FabrikantenService,\r\n public BestekService: BestekService,\r\n public TranslateService: TranslateService,\r\n private ActivatedRoute: ActivatedRoute,\r\n private ChangeDetectorRef: ChangeDetectorRef) {\r\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\r\n }\r\n\r\n ngOnInit() {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.MobileService.UpdateScreenSize(window.innerWidth, window.innerHeight);\r\n }\r\n\r\n public IsLoading(): boolean {\r\n return this.FabrikantenService.Loading || this.TranslateService.Loading;\r\n }\r\n}\r\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\">\r\n {{ TranslateService.GetActiveValue(\"Common\", \"Products loading\") }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<mat-drawer-container class=\"view-container\" *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","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport { ProjectSettingApiClient, ProjectSettingsViewModel, ProjectSettingPipelineStepViewModel, ProjectSettingViewModel, SetProjectSettingRequestModel, SetProjectSettingResponseModel } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProjectSettingService {\r\n\r\n private Init: boolean = false;\r\n\r\n public Loading: boolean = true;\r\n public ProjectSettingsViewModel: ProjectSettingsViewModel;\r\n\r\n public ChangeDetectorRef: ChangeDetectorRef | null = null;\r\n \r\n constructor(private projectSettingApiClient: ProjectSettingApiClient) {\r\n //this.LoadProjectSettings();\r\n }\r\n \r\n public Save(projectsetting: ProjectSettingViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = projectsetting.defaultValue;\r\n request.pipelineStep = \"Default\";\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public SavePipelineStep(projectsetting: ProjectSettingViewModel, projectsettingpipe: ProjectSettingPipelineStepViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = projectsettingpipe.value;\r\n request.pipelineStep = projectsettingpipe.pipelineStep;\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public Reset(projectsetting: ProjectSettingViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = \"\";\r\n request.pipelineStep = \"Default\";\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public ResetPipelineStep(projectsetting: ProjectSettingViewModel, projectsettingpipe: ProjectSettingPipelineStepViewModel) {\r\n this.Loading = true;\r\n var request = new SetProjectSettingRequestModel();\r\n\r\n request.name = projectsetting.name;\r\n request.value = \"\";\r\n request.pipelineStep = projectsettingpipe.pipelineStep;\r\n\r\n this.projectSettingApiClient.setProjectSettingModel(request).subscribe((model: SetProjectSettingResponseModel) => {\r\n //this.LoadProjectSettings();\r\n });\r\n }\r\n\r\n public LoadProjectSettings(ChangeDetectorRef: ChangeDetectorRef): void {\r\n if (!this.Init) {\r\n this.Init = true;\r\n this.Loading = true;\r\n ChangeDetectorRef.detectChanges();\r\n\r\n this.projectSettingApiClient.getProjectSettingsViewModel().subscribe((model: ProjectSettingsViewModel) => {\r\n this.ProjectSettingsViewModel = model;\r\n this.Loading = false;\r\n ChangeDetectorRef.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n private DetectChanges(): void {\r\n if (this.ChangeDetectorRef != null) {\r\n this.ChangeDetectorRef.detectChanges();\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport { ProductsApiClient, ProductsViewModel, ResetImportRequestModel, BCBProductViewModel, SaveProductViewModel, BCBImportSetsViewModel, ImportApiClient, ProductViewModel } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProductsService {\r\n\r\n private LoadingProducts: boolean = true;\r\n\r\n public ProductsViewModel: ProductsViewModel;\r\n\r\n public BCBProductViewModel?: BCBProductViewModel = undefined;\r\n public ProductViewModel?: ProductViewModel = undefined;\r\n\r\n public ProductSelected: number;\r\n public BCBProductSelected: number;\r\n\r\n constructor(private ProductsApiClient: ProductsApiClient) {\r\n }\r\n\r\n public Loading(): boolean {\r\n return this.LoadingProducts;\r\n }\r\n\r\n public GetBCBProductsSelected(): Array<BCBProductViewModel> {\r\n var arraytemp = this.ProductsViewModel?.productViewModels;\r\n\r\n if (this.ProductSelected != null && arraytemp != null) {\r\n for (var i = 0; i < arraytemp.length; i++) {\r\n if (arraytemp[i].id == this.ProductSelected) {\r\n var arraytemp2 = arraytemp[i].bcbProductViewModels;\r\n if (arraytemp2 != null) {\r\n return arraytemp2;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return new Array<BCBProductViewModel>();\r\n }\r\n\r\n public Reload(): void {\r\n this.LoadProducts();\r\n }\r\n\r\n public SaveProductViewModel(product: ProductViewModel) {\r\n var model = new SaveProductViewModel();\r\n model.id = product.id;\r\n model.name = product.name;\r\n model.position = product.position;\r\n model.importSetId = parseInt(product.importSetId.toString());\r\n\r\n this.LoadingProducts = true;\r\n\r\n this.ProductsApiClient.saveProduct(model).subscribe(() => {\r\n this.LoadProducts();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingProducts = false;\r\n });\r\n }\r\n\r\n public ResetImport(productid: number, bcbproductid: number) {\r\n var model = new ResetImportRequestModel();\r\n model.productId = productid;\r\n model.bcbProductId = bcbproductid;\r\n\r\n this.LoadingProducts = true;\r\n\r\n this.ProductsApiClient.resetImport(model).subscribe(() => {\r\n this.LoadProducts();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingProducts = false;\r\n });\r\n }\r\n\r\n private LoadProducts(): void {\r\n this.LoadingProducts = true;\r\n\r\n this.ProductsApiClient.getProductsViewModel().subscribe((model: ProductsViewModel) => {\r\n this.ProductsViewModel = model;\r\n\r\n var array = this.ProductsViewModel.productViewModels;\r\n\r\n if (array != null) {\r\n if (array.length > 0) {\r\n this.ProductSelected = array[0].id;\r\n\r\n var array2 = array[0].bcbProductViewModels;\r\n\r\n if (array2 != null && array2.length > 0) {\r\n this.BCBProductSelected = array2[0].id;\r\n }\r\n }\r\n\r\n if (this.BCBProductViewModel != undefined || this.ProductViewModel != undefined) {\r\n for (var i = 0; i < array.length; i++) {\r\n var arrayinner = array[i].bcbProductViewModels;\r\n\r\n if (this.ProductViewModel != undefined) {\r\n if (array[i].id == this.ProductViewModel.id) {\r\n this.ProductViewModel = array[i];\r\n }\r\n }\r\n\r\n if (this.BCBProductViewModel != undefined) {\r\n if (arrayinner != null) {\r\n for (var j = 0; j < arrayinner.length; j++) {\r\n if (arrayinner[j].id == this.BCBProductViewModel.id) {\r\n this.BCBProductViewModel = arrayinner[j];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.LoadingProducts = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingProducts = false;\r\n });\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core';\r\n\r\nimport { BCBImportEigenschap, BCBImportOpenRequest, BCBImportOpenResponse, BCBImportSetsViewModel, BCBImportSetViewModel, ChangeImportSetRequest, ImportApiClient } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ImportSetsService {\r\n public LoadingImportSets: boolean = true;\r\n public LoadingOpen: boolean = false;\r\n\r\n public BCBImportSetsViewModel: BCBImportSetsViewModel;\r\n public BCBImportOpenResponse: BCBImportOpenResponse;\r\n\r\n public BCBImportSetSelected: number;\r\n\r\n constructor(private ImportApiClient: ImportApiClient) {\r\n this.LoadImportSets();\r\n }\r\n\r\n public ChangeImportSetValue(value: string, enabled: boolean): void {\r\n this.LoadingImportSets = true;\r\n\r\n var model = new ChangeImportSetRequest();\r\n\r\n model.importSetId = this.BCBImportSetSelected;\r\n model.value = value;\r\n model.enabled = enabled;\r\n\r\n this.ImportApiClient.changeImportSet(model).subscribe(() => {\r\n this.LoadImportSets();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingImportSets = false;\r\n });\r\n }\r\n\r\n public Open(id: number): void {\r\n this.LoadingOpen = true;\r\n var request = new BCBImportOpenRequest();\r\n\r\n request.bcbeboId = id;\r\n\r\n this.ImportApiClient.openBCBProduct(request).subscribe((model: BCBImportOpenResponse) => {\r\n this.BCBImportOpenResponse = model;\r\n this.RefreshBCBImportOpenResponse();\r\n this.LoadingOpen = false;\r\n });\r\n }\r\n\r\n public GetActiveImportSet(): BCBImportSetViewModel {\r\n var array = this.BCBImportSetsViewModel?.bcbImportSetViewModels;\r\n if (array != null) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (array[i].id == this.BCBImportSetSelected) {\r\n return array[i];\r\n }\r\n }\r\n }\r\n\r\n return new BCBImportSetViewModel();\r\n }\r\n\r\n private LoadImportSets(): void {\r\n this.LoadingImportSets = true;\r\n\r\n this.ImportApiClient.getBCBImportSetsViewModel().subscribe((model: BCBImportSetsViewModel) => {\r\n this.BCBImportSetsViewModel = model;\r\n if (this.BCBImportSetsViewModel?.bcbImportSetViewModels != null) {\r\n this.BCBImportSetSelected = this.BCBImportSetsViewModel.bcbImportSetViewModels[0].id;\r\n }\r\n this.RefreshBCBImportOpenResponse();\r\n this.LoadingImportSets = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.LoadingImportSets = false;\r\n });\r\n }\r\n\r\n private RefreshBCBImportOpenResponse(): void {\r\n var arrayeigenschappen = this.BCBImportOpenResponse?.bcbImportEigenschappen;\r\n if (arrayeigenschappen != null) {\r\n for (var i = 0; i < arrayeigenschappen.length; i++) {\r\n arrayeigenschappen[i].selected = this.IsValueInSelectedImportSet(arrayeigenschappen[i].name + \"\");\r\n }\r\n }\r\n\r\n var arrayopbouw = this.BCBImportOpenResponse?.bcbImportOpbouwen;\r\n if (arrayopbouw != null) {\r\n for (var i = 0; i < arrayopbouw.length; i++) {\r\n arrayopbouw[i].selected = this.IsValueInSelectedImportSet(arrayopbouw[i].name + \"\");\r\n }\r\n }\r\n }\r\n\r\n private IsValueInSelectedImportSet(value: string): boolean {\r\n var importset = this.GetActiveImportSet()?.bcbImportSetValueViewModels;\r\n\r\n if (importset != null) {\r\n for (var i = 0; i < importset.length; i++) {\r\n if ((importset[i].value + \"\").toLowerCase() == value.toLowerCase()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-beheer-users',\n templateUrl: './beheer-users.component.html',\n styleUrls: ['./beheer-users.component.scss']\n})\nexport class BeheerUsersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ProductsService } from '../../../../services/products.service';\r\nimport { ProductViewModel } from '../../../../swagger/SwaggerClient';\n\n@Component({\n selector: 'app-beheer-products-product',\n templateUrl: './beheer-products-product.component.html',\n styleUrls: ['./beheer-products-product.component.scss']\n})\nexport class BeheerProductsProductComponent implements OnInit {\n\n @Input() ProductViewModel: ProductViewModel;\n\n constructor(public ProductsService: ProductsService) { }\n\n public ResetImport(): void {\n this.ProductsService.ResetImport(this.ProductViewModel.id, -1);\r\n }\n\n ngOnInit(): void {\n }\n\n}\n","<mat-card>\r\n <div class=\"product-bar\">\r\n <div class=\"product-first block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"ProductViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Opslaan\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Verwijderen\r\n </button>\r\n </div>\r\n </div>\r\n</mat-card>\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CategoriesApiClient, CategoriesViewModel, CreateCategoryRequest, CreateCategoryResponse } from '../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-connect-category-dialog',\n templateUrl: './beheer-connect-category-dialog.component.html',\n styleUrls: ['./beheer-connect-category-dialog.component.scss']\n})\nexport class BeheerConnectCategoryDialogComponent implements OnInit {\n\n public Loading: boolean = true;\n\n public DOType: string = \"DOType\";\n public DONaam: string = \"DONaam\";\n\n public CategoryName: string = \"\";\n\n public CategorySelected: number;\n\n public CategoriesViewModel: CategoriesViewModel;\n\n constructor(public dialogRef: MatDialogRef<BeheerConnectCategoryDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any, private CategoriesApiClient: CategoriesApiClient) {\n this.DOType = data.dotype;\n this.DONaam = data.donaam;\n\n this.CategoryName = data.donaam;\n }\n\n ngOnInit(): void {\n this.LoadCategories();\n }\n\n public Nieuw(): void {\n this.Loading = true;\r\n\r\n var requestcategory: CreateCategoryRequest = new CreateCategoryRequest();\r\n\r\n requestcategory.name = this.CategoryName;\r\n\r\n this.CategoriesApiClient.createCategory(requestcategory).subscribe((model: CreateCategoryResponse) => {\r\n\r\n this.Loading = false;\r\n\r\n this.dialogRef.close(model.id);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n\n public Bestaand(): void {\n this.dialogRef.close(this.CategorySelected);\r\n }\n\n private LoadCategories(): void {\r\n this.Loading = true;\r\n\r\n this.CategoriesApiClient.getCategoriesViewModel().subscribe((model: CategoriesViewModel) => {\r\n this.CategoriesViewModel = model;\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"CategoryName\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Nieuw()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>{{ DOType }}</mat-label>\r\n <input matInput [(ngModel)]=\"DONaam\" readonly>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"CategorySelected\">\r\n <mat-option *ngFor=\"let category of CategoriesViewModel.categories\" [value]=\"category.id\">\r\n {{category.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { FiltersApiClient, FiltersViewModel, FilterOptionViewModel, CreateFilterOptionRequest, CreateFilterOptionResponse, CreateFilterRequest, CreateFilterResponse } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-products-koppel-filteroption-dailog',\n templateUrl: './beheer-products-koppel-filteroption-dailog.component.html',\n styleUrls: ['./beheer-products-koppel-filteroption-dailog.component.scss']\n})\nexport class BeheerProductsKoppelFilteroptionDailogComponent implements OnInit {\n\n public FiltersViewModel: FiltersViewModel;\n\n public FilterNaamNieuw: string = \"\";\n public FilterOptionNaamNieuw: string = \"\";\n\n public Loading: boolean = true;\n public FilterSelected: number;\n public FilterOptionSelected: number;\n\n constructor(public dialogRef: MatDialogRef<BeheerProductsKoppelFilteroptionDailogComponent>, private FiltersApiClient: FiltersApiClient) {\n\n }\n\n ngOnInit(): void {\r\n this.LoadFilters();\r\n }\r\n\r\n public handleKeyUpFilter(e: any) {\r\n if (e.keyCode === 13) {\r\n this.NieuwFilterToevoegen();\r\n }\r\n }\r\n\r\n public handleKeyUpFilterOption(e: any) {\r\n if (e.keyCode === 13) {\r\n this.NieuwFilterOptionToevoegen();\r\n }\r\n }\r\n\n public NieuwFilterToevoegen(): void {\n this.Loading = true;\r\n\r\n var requestfilter: CreateFilterRequest = new CreateFilterRequest();\r\n\r\n requestfilter.name = this.FilterNaamNieuw;\r\n\r\n this.FiltersApiClient.createFilter(requestfilter).subscribe((model: CreateFilterResponse) => {\r\n this.Loading = false;\r\n\r\n var requestfilteroption = new CreateFilterOptionRequest();\r\n\r\n requestfilteroption.filterId = model.id;\r\n requestfilteroption.name = this.FilterOptionNaamNieuw;\r\n\r\n this.FiltersApiClient.createFilterOption(requestfilteroption).subscribe((model: CreateFilterOptionResponse) => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close({ filter: null, filteroption: model.id });\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n\n public NieuwFilterOptionToevoegen(): void {\n this.Loading = true;\r\n\r\n var requestfilteroption = new CreateFilterOptionRequest();\r\n\r\n requestfilteroption.filterId = this.FilterSelected;\r\n requestfilteroption.name = this.FilterOptionNaamNieuw;\r\n\r\n this.FiltersApiClient.createFilterOption(requestfilteroption).subscribe((model: CreateFilterOptionResponse) => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close({ filter: null, filteroption: model.id });\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n\n public BestaandToevoegen(): void {\n this.dialogRef.close({ filter: null, filteroption: this.FilterOptionSelected });\r\n }\n\n public GetSelectedFiltersOptions(): Array<FilterOptionViewModel> {\n var array = new Array<FilterOptionViewModel>();\r\n\r\n var temparray = this.FiltersViewModel?.filterViewModels;\r\n\r\n if (temparray != null) {\r\n for (var i = 0; i < temparray.length; i++) {\r\n if (temparray[i].id == this.FilterSelected) {\r\n return temparray[i].filterOptionViewModels as Array<FilterOptionViewModel>;\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\n\n public KoppelManyName(): void {\n this.dialogRef.close({ filter: this.FilterSelected, filteroption: null });\r\n }\n\n private LoadFilters(): void {\r\n this.Loading = true;\r\n\r\n this.FiltersApiClient.getFiltersViewModel().subscribe((model: FiltersViewModel) => {\r\n this.FiltersViewModel = model;\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuwe filter\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <input matInput [(ngModel)]=\"FilterNaamNieuw\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilter($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Nieuwe optie\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilterOption($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterOptionToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <mat-select [(ngModel)]=\"FilterOptionSelected\">\r\n <mat-option *ngFor=\"let filteroption of GetSelectedFiltersOptions()\" [value]=\"filteroption.id\">\r\n {{filteroption.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Many Name\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"KoppelManyName()\">Koppel</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ProductsService } from '../../../../services/products.service';\r\nimport { BCBProductEigenschapViewModel, ProductsApiClient, ConnectBCBEigenschapOptieCategoryRequest, KoppelManyNameRequest, KoppelManyNameResponse, KoppelEigenschapOptieRequest, KoppelEigenschapOptieResponse } from '../../../../swagger/SwaggerClient';\r\nimport { BeheerConnectCategoryDialogComponent } from '../../beheer-connect-category-dialog/beheer-connect-category-dialog.component';\r\nimport { BeheerProductsKoppelFilteroptionDailogComponent } from './../beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-products-eigenschap',\r\n templateUrl: './beheer-products-eigenschap.component.html',\r\n styleUrls: ['./beheer-products-eigenschap.component.scss']\r\n})\r\nexport class BeheerProductsEigenschapComponent implements OnInit {\r\n\r\n @Input() eigenschap: BCBProductEigenschapViewModel;\r\n\r\n constructor(public ProductsService: ProductsService, public dialog: MatDialog, private ProductsApiClient: ProductsApiClient) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Toggle(): void {\r\n this.eigenschap.open = !this.eigenschap.open;\r\n }\r\n\r\n public Connect(id: number): void {\r\n var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null) {\r\n if (result.filteroption != null && result.filteroption > 0) {\r\n var request = new KoppelEigenschapOptieRequest();\r\n\r\n request.bcbProductEigenschapOptieId = id;\r\n request.filterOptionId = result.filteroption;\r\n\r\n this.ProductsApiClient.connectBCBEigenschapOptieFilterOption(request).subscribe((model: KoppelEigenschapOptieResponse) => {\r\n this.ProductsService.Reload();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n else if (result.filter != null) {\r\n var request2 = new KoppelManyNameRequest();\r\n\r\n request2.bcbProductEigenschapOptieId = id;\r\n request2.filterId = result.filter;\r\n\r\n this.ProductsApiClient.koppelManyName(request2).subscribe((model: KoppelManyNameResponse) => {\r\n this.ProductsService.Reload();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public ConnectCategory(id: number, dotype: string, donaam: string): void {\r\n var dialogRef = this.dialog.open(BeheerConnectCategoryDialogComponent, {\r\n data: {\r\n dotype: dotype,\r\n donaam: donaam\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null && result > 0) {\r\n var request = new ConnectBCBEigenschapOptieCategoryRequest();\r\n\r\n request.bcbProductEigenschapOptieId = id;\r\n request.categoryId = result;\r\n\r\n this.ProductsApiClient.connectBCBEigenschapOptieCategory(request).subscribe(() => {\r\n this.ProductsService.Reload();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n });\r\n }\r\n\r\n public ShowArrow(): boolean {\r\n if (this.eigenschap?.bcbProductEigenschapOptieViewModels?.length != null &&\r\n this.eigenschap?.bcbProductEigenschapOptieViewModels?.length > 0) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","<table class=\"full-width\">\r\n <tr class=\"row\" (click)=\"Toggle()\" [ngClass]=\"{'warning': !eigenschap.connected}\">\r\n <td class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && ShowArrow()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && ShowArrow()\">expand_less</mat-icon>\r\n </td>\r\n <td class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.bcbEigenschapViewModel.name}}\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"eigenschap.open\">\r\n <tr *ngFor=\"let optie of eigenschap.bcbProductEigenschapOptieViewModels\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <td></td>\r\n <td class=\"optiecel\">{{ optie.bcbEigenschapOptieViewModel.name }}</td>\r\n <td class=\"optiecel optiecellast\">\r\n <div *ngIf=\"!optie.connected\">\r\n <button mat-raised-button (click)=\"Connect(optie.id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(optie.id, eigenschap?.bcbEigenschapViewModel.name, optie.bcbEigenschapOptieViewModel.name)\">\r\n Category\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n</table>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProductsService } from '../../../../services/products.service';\r\nimport { BCBProductViewModel, BCBImportProductRequest, ImportApiClient, BCBImportProductResponse } from '../../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-products-bcbproduct',\r\n templateUrl: './beheer-products-bcbproduct.component.html',\r\n styleUrls: ['./beheer-products-bcbproduct.component.scss']\r\n})\r\nexport class BeheerProductsBcbproductComponent implements OnInit {\r\n\r\n @Input() BCBProductViewModel: BCBProductViewModel;\r\n\r\n constructor(private ImportApiClient: ImportApiClient, public ProductsService: ProductsService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public ResetImport(): void {\r\n this.ProductsService.ResetImport(-1, this.BCBProductViewModel.id);\r\n }\r\n\r\n public Import(): void {\r\n\r\n var request = new BCBImportProductRequest();\r\n\r\n request.bcbProductId = this.BCBProductViewModel.id;\r\n\r\n this.ImportApiClient.importBCBProduct(request).subscribe((model: BCBImportProductResponse) => {\r\n alert('success');\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","<mat-card>\r\n <div class=\"product-bar\">\r\n <div class=\"product-first block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"BCBProductViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Opslaan\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Verwijderen\r\n </button>\r\n </div>\r\n </div>\r\n</mat-card>\r\n<br />\r\n<mat-card>\r\n <mat-card-content>\r\n <b>Eigenschap</b>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of BCBProductViewModel.bcbProductEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { MatSelectionList } from '@angular/material/list';\r\nimport { ProductsService } from '../../../services/products.service';\r\nimport { ImportSetsService } from '../../../services/importsets.service';\r\nimport { ProductsApiClient, ProductsViewModel, BCBProductViewModel, ProductViewModel, BCBImportProductRequest, BCBImportProductResponse, ImportApiClient, BCBImportSetsViewModel } from '../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-products',\r\n templateUrl: './beheer-products.component.html',\r\n styleUrls: ['./beheer-products.component.scss']\r\n})\r\nexport class BeheerProductsComponent implements OnInit {\r\n\r\n\r\n public BCBImportSetsViewModel?: BCBImportSetsViewModel = undefined;\r\n\r\n constructor(public ProductsService: ProductsService, public ImportSetsService: ImportSetsService, private ImportApiClient: ImportApiClient, private ChangeDetectorRef: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.ProductsService.Reload();\r\n }\r\n\r\n public Import(): void {\r\n var products = this.ProductsService.ProductsViewModel?.productViewModels;\r\n\r\n if (products != null && products.length > 0) {\r\n for (var i = 0; i < products.length; i++) {\r\n var bcbproducts = products[i].bcbProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n products[i].importStatus = \"0/\" + bcbproducts.length;\r\n\r\n for (var j = 0; j < bcbproducts.length; j++) {\r\n bcbproducts[j].importStatus = \"X\";\r\n }\r\n }\r\n }\r\n\r\n var bcbproducts = products[0].bcbProductViewModels;\r\n\r\n if (bcbproducts != null && bcbproducts.length > 0) {\r\n this.ImportBCBProduct(bcbproducts[0]);\r\n }\r\n }\r\n }\r\n\r\n public ImportBCBProduct(bcbproduct: BCBProductViewModel): void {\r\n var request = new BCBImportProductRequest();\r\n\r\n request.bcbProductId = bcbproduct.id;\r\n\r\n this.ImportApiClient.importBCBProduct(request).subscribe((model: BCBImportProductResponse) => {\r\n if (!model.success) {\r\n alert(model.message);\r\n }\r\n else {\r\n bcbproduct.importStatus = \"V\";\r\n\r\n var next = this.GetNextBCBProduct(bcbproduct);\r\n\r\n if (next.importStatus == \"X\") {\r\n this.ImportBCBProduct(next);\r\n }\r\n else {\r\n this.ProductsService.Reload();\r\n }\r\n }\r\n }, (error: Response) => {\r\n alert(\"import failed for id: \" + bcbproduct.id);\r\n\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n });\r\n }\r\n\r\n public ResetImport(): void {\r\n this.ProductsService.ResetImport(-1, -1);\r\n }\r\n\r\n public ShowBCBProducts(product: ProductViewModel): boolean {\r\n if (this.ProductsService.ProductViewModel == product) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public SelectProduct(product: ProductViewModel) {\r\n if (this.ProductsService.ProductViewModel != product) {\r\n this.ProductsService.ProductViewModel = product;\r\n this.ProductsService.BCBProductViewModel = undefined;\r\n }\r\n }\r\n\r\n public SaveProduct(product: ProductViewModel) {\r\n this.ProductsService.SaveProductViewModel(product);\r\n }\r\n\r\n public SelectBCBProduct(bcbproduct: BCBProductViewModel) {\r\n if (this.ProductsService.BCBProductViewModel != bcbproduct) {\r\n this.ProductsService.BCBProductViewModel = bcbproduct;\r\n }\r\n else {\r\n this.ProductsService.BCBProductViewModel = undefined;\r\n }\r\n }\r\n\r\n public GetImportStatus(product: ProductViewModel): string {\r\n var text = \"\";\r\n var active = false;\r\n\r\n var bcbproducts = product.bcbProductViewModels;\r\n if (bcbproducts != null && bcbproducts.length > 0) {\r\n var count = 0;\r\n\r\n for (var i = 0; i < bcbproducts.length; i++) {\r\n if (bcbproducts[i].importStatus != \"\") {\r\n active = true;\r\n\r\n if (bcbproducts[i].importStatus != \"X\") {\r\n count++;\r\n }\r\n }\r\n }\r\n\r\n if (active) {\r\n text = count + \"/\" + bcbproducts.length;\r\n }\r\n }\r\n\r\n return text;\r\n }\r\n\r\n public GetNextBCBProduct(bcbproduct: BCBProductViewModel): BCBProductViewModel {\r\n var products = this.ProductsService.ProductsViewModel?.productViewModels;\r\n var next: BCBProductViewModel = bcbproduct;\r\n var found = false;\r\n\r\n if (products != null && products.length > 0) {\r\n for (var i = 0; i < products.length; i++) {\r\n var bcbproducts = products[i].bcbProductViewModels;\r\n\r\n if (bcbproducts != null) {\r\n for (var j = 0; j < bcbproducts.length; j++) {\r\n if (found) {\r\n return bcbproducts[j];\r\n }\r\n\r\n if (bcbproducts[j] == bcbproduct) {\r\n found = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return next;\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-beheer-filters',\n templateUrl: './beheer-filters.component.html',\n styleUrls: ['./beheer-filters.component.scss']\n})\nexport class BeheerFiltersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProjectSettingService } from '../../../../services/projectsetting.service';\r\nimport { ProjectSettingViewModel } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-settings-options',\n templateUrl: './beheer-settings-options.component.html',\n styleUrls: ['./beheer-settings-options.component.scss']\n})\nexport class BeheerSettingsOptionsComponent implements OnInit {\n\n @Input() projectsetting: ProjectSettingViewModel; \n\n constructor(public projectsettingservice: ProjectSettingService) { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"row\" *ngIf=\"projectsetting != null\">\r\n <div *ngIf=\"!projectsetting.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.Reset(projectsetting)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>Default</mat-label>\r\n <mat-select [(value)]=\"projectsetting.defaultValue\" [disabled]=\"!projectsetting.default\" (selectionChange)=\"projectsettingservice.Save(projectsetting)\">\r\n <mat-option value=\"{{ option }}\" *ngFor=\"let option of projectsetting.options\">\r\n {{ option }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n<div *ngIf=\"projectsetting != null && projectsetting.pipelineSteps != null && projectsetting.pipelineSteps.length > 0\">\r\n <div *ngFor=\"let pipeline of projectsetting.pipelineSteps\">\r\n <div class=\"row\">\r\n <div *ngIf=\"!pipeline.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.ResetPipelineStep(projectsetting, pipeline)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>{{ pipeline.pipelineStep }}</mat-label>\r\n <mat-select [(value)]=\"pipeline.value\" [disabled]=\"!pipeline.default\" (selectionChange)=\"projectsettingservice.SavePipelineStep(projectsetting, pipeline)\">\r\n <mat-option value=\"{{ option }}\" *ngFor=\"let option of projectsetting.options\">\r\n {{ option }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ProjectSettingService } from '../../../../services/projectsetting.service';\r\nimport { ProjectSettingViewModel } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-settings-string',\n templateUrl: './beheer-settings-string.component.html',\n styleUrls: ['./beheer-settings-string.component.scss']\n})\nexport class BeheerSettingsStringComponent implements OnInit {\n\n @Input() projectsetting: ProjectSettingViewModel;\n\n constructor(public projectsettingservice: ProjectSettingService) { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"row\" *ngIf=\"projectsetting != null\">\r\n <div *ngIf=\"!projectsetting.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.Reset(projectsetting)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label>Default</mat-label>\r\n <input matInput [(ngModel)]=\"projectsetting.defaultValue\" [disabled]=\"!projectsetting.default\">\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"projectsetting.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.Save(projectsetting)\">\r\n Save\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"projectsetting != null && projectsetting.pipelineSteps != null && projectsetting.pipelineSteps.length > 0\">\r\n <div *ngFor=\"let pipeline of projectsetting.pipelineSteps\">\r\n <div class=\"row\">\r\n <div *ngIf=\"!pipeline.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.ResetPipelineStep(projectsetting, pipeline)\">\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"expand\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>{{ pipeline.pipelineStep }}</mat-label>\r\n <input matInput [(ngModel)]=\"pipeline.value\" [disabled]=\"!pipeline.default\">\r\n </mat-form-field>\r\n </div>\r\n <div *ngIf=\"pipeline.default\">\r\n <button mat-raised-button (click)=\"projectsettingservice.SavePipelineStep(projectsetting, pipeline)\">\r\n Save\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { ProjectSettingService } from '../../../services/projectsetting.service';\r\n\r\n@Component({\r\n selector: 'app-beheer-settings',\r\n templateUrl: './beheer-settings.component.html',\r\n styleUrls: ['./beheer-settings.component.scss']\r\n})\r\nexport class BeheerSettingsComponent implements OnInit {\r\n\r\n constructor(public projectsettingservice: ProjectSettingService, private ChangeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.projectsettingservice.LoadProjectSettings(this.ChangeDetectorRef);\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"projectsettingservice.Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!projectsettingservice.Loading\">\r\n <div class=\"pipeline-row\">\r\n <div class=\"pipeline-block\">\r\n Pipeline step: <span class=\"pipeline-info\">{{ projectsettingservice.ProjectSettingsViewModel.pipelineStep }}</span>\r\n </div>\r\n </div>\r\n\r\n <mat-accordion>\r\n <mat-expansion-panel *ngFor=\"let projectsetting of projectsettingservice.ProjectSettingsViewModel.projectSettingViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ projectsetting.name }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ projectsetting.activeValue }}\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <app-beheer-settings-string *ngIf=\"projectsetting.projectSettingType == 1\" [projectsetting]=\"projectsetting\"></app-beheer-settings-string>\r\n <app-beheer-settings-options *ngIf=\"projectsetting.projectSettingType == 2\" [projectsetting]=\"projectsetting\"></app-beheer-settings-options>\r\n \r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n\r\n</div>\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SearchProductsApiClient, NewProductRequestModel, GetProductsViewModel } from '../../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-searchproducts-koppel-dialog',\r\n templateUrl: './beheer-searchproducts-koppel-dialog.component.html',\r\n styleUrls: ['./beheer-searchproducts-koppel-dialog.component.scss']\r\n})\r\nexport class BeheerSearchproductsKoppelDialogComponent implements OnInit {\r\n public Loading: boolean = false;\r\n public NaamNieuw: string = \"\";\r\n public Suggestion: Array<string>;\r\n public GetProductsViewModel: GetProductsViewModel;\r\n public ProductSelected: number = -1;\r\n\r\n constructor(public dialogRef: MatDialogRef<BeheerSearchproductsKoppelDialogComponent>, private SearchProductsApiClient: SearchProductsApiClient, @Inject(MAT_DIALOG_DATA) public data: any) {\r\n this.Suggestion = data.suggestion;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.LoadProducts();\r\n }\r\n\r\n public BestaandToevoegen(): void {\r\n this.dialogRef.close(this.ProductSelected);\r\n }\r\n\r\n public NieuwToevoegen(): void {\r\n this.Loading = true;\r\n\r\n var model: NewProductRequestModel = new NewProductRequestModel();\r\n\r\n model.productName = this.NaamNieuw;\r\n\r\n this.SearchProductsApiClient.addNewProduct(model).subscribe(model => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close(model.productId);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n\r\n public LosKenmerk(): void {\r\n this.dialogRef.close(-2);\r\n }\r\n\r\n public handleKeyUp(e: any) {\r\n if (e.keyCode === 13) {\r\n this.NieuwToevoegen();\r\n }\r\n }\r\n\r\n private LoadProducts(): void {\r\n this.Loading = true;\r\n\r\n this.SearchProductsApiClient.getProductsViewModel().subscribe(model => {\r\n this.GetProductsViewModel = model;\r\n\r\n var array = this.GetProductsViewModel?.productViewModels;\r\n\r\n if (array != null && array.length > 0) {\r\n var id = array[0].id;\r\n if (id != null) {\r\n this.ProductSelected = id;\r\n }\r\n }\r\n\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\r\n}\r\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\" *ngIf=\"Suggestion.length > 0\">\r\n <button *ngFor=\"let sugg of Suggestion\" mat-raised-button (click)=\"NaamNieuw = sugg;\">{{ sugg }}</button>\r\n </div>\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput (keyup)=\"handleKeyUp($event)\" [(ngModel)]=\"NaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Product</mat-label>\r\n <mat-select [(ngModel)]=\"ProductSelected\">\r\n <mat-option *ngFor=\"let product of GetProductsViewModel.productViewModels\" [value]=\"product.id\">\r\n {{product.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Los\">\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"LosKenmerk()\">Kenmerk</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</div>\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\nimport { SearchProductsApiClient, SearchProductsRequestModel, SearchProductsResponseModel, WizardEBOViewModel, KoppelProductsRequestModel } from '../../../swagger/SwaggerClient';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { BeheerSearchproductsKoppelDialogComponent } from './beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-searchproducts',\r\n templateUrl: './beheer-searchproducts.component.html',\r\n styleUrls: ['./beheer-searchproducts.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BeheerSearchProductsComponent implements OnInit {\r\n\r\n public Loading: boolean = false;\r\n public ZoekTerm: string = \"\";\r\n public Primary: ThemePalette = \"primary\";\r\n public SelectProducts: boolean = false;\r\n\r\n public BOT: string = \"\";\r\n public DO1Type: string = \"\";\r\n public DO1Naam: string = \"\";\r\n public DO2Type: string = \"\";\r\n public DO2Naam: string = \"\";\r\n public DO3Type: string = \"\";\r\n public DO3Naam: string = \"\";\r\n public DO4Type: string = \"\";\r\n public DO4Naam: string = \"\";\r\n public Kenmerk: string = \"\";\r\n\r\n public SearchProductsResponseModel: SearchProductsResponseModel;\r\n\r\n constructor(public dialog: MatDialog, private SearchProductsApiClient: SearchProductsApiClient, private snackBar: MatSnackBar) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public GetEbos(inuse: boolean): Array<WizardEBOViewModel> {\r\n if (this.SearchProductsResponseModel != null && this.SearchProductsResponseModel.eboViewModels != null) {\r\n var list = new Array<WizardEBOViewModel>();\r\n\r\n var temp = this.SearchProductsResponseModel.eboViewModels as Array<WizardEBOViewModel>;\r\n for (var i = 0; i < this.SearchProductsResponseModel.eboViewModels.length; i++) {\r\n var add = true;\r\n\r\n if (inuse) {\r\n if (this.SearchProductsResponseModel.eboViewModels[i].inUseBy == \"\") {\r\n add = false;\r\n }\r\n }\r\n else {\r\n if (this.SearchProductsResponseModel.eboViewModels[i].inUseBy != \"\") {\r\n add = false;\r\n }\r\n }\r\n\r\n if (add) {\r\n var array = this.SearchProductsResponseModel.eboViewModels[i].dOs;\r\n\r\n if (array != null) {\r\n for (var j = 0; j < array.length; j++) {\r\n var dotype = array[j].doType?.toLowerCase() + \"\";\r\n var donaam = array[j].doNaam?.toLowerCase() + \"\";\r\n\r\n if (dotype == 'bot') {\r\n if (this.BOT != \"\" && donaam.indexOf(this.BOT.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (dotype == 'kenmerk') {\r\n if (this.Kenmerk != \"\" && donaam.indexOf(this.Kenmerk.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 1) {\r\n if (this.DO1Naam != \"\" && donaam.indexOf(this.DO1Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO1Type != \"\" && dotype.indexOf(this.DO1Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 2) {\r\n if (this.DO2Naam != \"\" && donaam.indexOf(this.DO2Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO2Type != \"\" && dotype.indexOf(this.DO2Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 3) {\r\n if (this.DO3Naam != \"\" && donaam.indexOf(this.DO3Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO3Type != \"\" && dotype.indexOf(this.DO3Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n else if (j == 4) {\r\n if (this.DO4Naam != \"\" && donaam.indexOf(this.DO4Naam.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n\r\n if (this.DO4Type != \"\" && dotype.indexOf(this.DO4Type.toLowerCase()) == -1) {\r\n add = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (add) {\r\n list.push(this.SearchProductsResponseModel.eboViewModels[i]);\r\n }\r\n\r\n }\r\n\r\n return list;\r\n }\r\n\r\n return new Array<WizardEBOViewModel>();\r\n }\r\n\r\n public Zoek(): void {\r\n this.Loading = true;\r\n this.SelectProducts = false;\r\n\r\n var model: SearchProductsRequestModel = new SearchProductsRequestModel();\r\n\r\n model.value = this.ZoekTerm;\r\n\r\n this.SearchProductsApiClient.getSearchResults(model).subscribe(model => {\r\n this.SearchProductsResponseModel = model;\r\n this.Loading = false;\r\n this.UpdateSnackBar();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n this.UpdateSnackBar();\r\n });\r\n }\r\n\r\n public UpdateSnackBar(): void {\r\n var count = this.GetSelectedCount();\r\n\r\n if (count > 0) {\r\n var snack = this.snackBar.open(count + \" product(en) geselecteerd.\", \"Koppel\");\r\n\r\n snack.onAction().subscribe(() => {\r\n this.Koppel();\r\n });\r\n }\r\n else {\r\n this.snackBar.dismiss();\r\n }\r\n }\r\n\r\n public handleKeyUp(e: any) {\r\n if (e.keyCode === 13) {\r\n this.Zoek();\r\n }\r\n }\r\n\r\n public SelectProductsClick(): void {\r\n if (this.SearchProductsResponseModel?.eboViewModels != null) {\r\n if (this.SelectProducts) {\r\n for (var i = 0; i < this.SearchProductsResponseModel.eboViewModels.length; i++) {\r\n this.SearchProductsResponseModel.eboViewModels[i].selected = true;\r\n }\r\n } else {\r\n for (var i = 0; i < this.SearchProductsResponseModel.eboViewModels.length; i++) {\r\n this.SearchProductsResponseModel.eboViewModels[i].selected = false;\r\n }\r\n }\r\n\r\n this.UpdateSnackBar();\r\n }\r\n }\r\n\r\n public Koppel(): void {\r\n var dialogRef = this.dialog.open(BeheerSearchproductsKoppelDialogComponent, {\r\n data: {\r\n suggestion: this.GetSuggestion()\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n if (result > 0) {\r\n this.Loading = true;\r\n\r\n var model: KoppelProductsRequestModel = new KoppelProductsRequestModel();\r\n\r\n model.productId = result;\r\n model.searchProductEBOModels = new Array<WizardEBOViewModel>();\r\n\r\n var products = this.GetEbos(false);\r\n\r\n for (var i = 0; i < products.length; i++) {\r\n if (products[i].selected) {\r\n model.searchProductEBOModels.push(products[i]);\r\n }\r\n }\r\n\r\n this.SearchProductsApiClient.koppelProducts(model).subscribe(() => {\r\n this.Zoek();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Zoek();\r\n });\r\n }\r\n else if (result == -2) {\r\n this.Loading = true;\r\n\r\n var model: KoppelProductsRequestModel = new KoppelProductsRequestModel();\r\n\r\n model.productId = 0;\r\n model.searchProductEBOModels = new Array<WizardEBOViewModel>();\r\n\r\n var products = this.GetEbos(false);\r\n\r\n for (var i = 0; i < products.length; i++) {\r\n if (products[i].selected) {\r\n model.searchProductEBOModels.push(products[i]);\r\n }\r\n }\r\n\r\n this.SearchProductsApiClient.koppelProductsKenmerk(model).subscribe(() => {\r\n this.Zoek();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Zoek();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public SelectAll(): void {\r\n var ebos = this.GetEbos(false);\r\n\r\n for (var i = 0; i < ebos.length; i++) {\r\n ebos[i].selected = true;\r\n }\r\n\r\n this.UpdateSnackBar();\r\n }\r\n\r\n public SelectRow(row: any): void {\r\n if (row.inUseBy == '') {\r\n row.selected = !row.selected;\r\n this.UpdateSnackBar();\r\n }\r\n }\r\n\r\n public ShowCell(doType: string): boolean {\r\n if (doType.toLowerCase() == 'bot') {\r\n return false;\r\n }\r\n\r\n if (doType.toLowerCase() == 'kenmerk') {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private GetSelectedCount(): number {\r\n var count = 0;\r\n var ebos = this.GetEbos(false);\r\n\r\n for (var i = 0; i < ebos.length; i++) {\r\n if (ebos[i].selected) {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n private GetSuggestion(): Array<string> {\r\n var merkserie = \"\";\r\n var array = new Array<string>();\r\n var arraykenmerk = new Array<string>();\r\n var count = 0;\r\n var ebos = this.GetEbos(false);\r\n\r\n for (var i = 0; i < ebos.length; i++) {\r\n if (ebos[i].selected) {\r\n var arraytemp = ebos[i].dOs;\r\n if (arraytemp != undefined) {\r\n for (var j = 0; j < arraytemp.length; j++) {\r\n if (arraytemp[j].doType?.toLowerCase() == \"merk serie\") {\r\n merkserie = arraytemp[j].doNaam as string;\r\n }\r\n\r\n if (arraytemp[j].doType?.toLowerCase() == \"kenmerk\") {\r\n arraykenmerk.push(arraytemp[j].doNaam as string);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n array.push(merkserie);\r\n\r\n for (var i = 0; i < arraykenmerk.length && i < 3; i++) {\r\n array.push(arraykenmerk[i]);\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div class=\"main-window\">\r\n <div>\r\n <mat-card>\r\n <div class=\"main-block-search\">\r\n <div class=\"block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Zoekterm</mat-label>\r\n <input matInput placeholder=\"bv. Merk Serie\" (keyup)=\"handleKeyUp($event)\" [(ngModel)]=\"ZoekTerm\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"zoeken-block\">\r\n <button mat-raised-button (click)=\"Zoek()\" [disabled]=\"Loading\">Zoeken</button>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n <div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n\r\n <div *ngIf=\"!Loading\" class=\"resultblock\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"ebo-table\">\r\n <tr>\r\n <td>\r\n <button mat-raised-button (click)=\"SelectAll()\" class=\"selectall\">V</button>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>BOT</mat-label>\r\n <input matInput [(ngModel)]=\"BOT\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO1Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO1Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO1Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO1Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO2Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO2Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO2Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO2Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO3Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO3Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO3Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO3Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO4Type</mat-label>\r\n <input matInput [(ngModel)]=\"DO4Type\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>DO4Naam</mat-label>\r\n <input matInput [(ngModel)]=\"DO4Naam\">\r\n </mat-form-field>\r\n </td>\r\n <td>\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Kenmerk</mat-label>\r\n <input matInput [(ngModel)]=\"Kenmerk\">\r\n </mat-form-field>\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let ebo of GetEbos(false)\" class=\"table-row\" (click)=\"SelectRow(ebo)\">\r\n <td>\r\n <div *ngIf=\"ebo.inUseBy == ''\">\r\n <mat-checkbox class=\"row-check\" [(ngModel)]=\"ebo.selected\" [color]=\"Primary\" (change)=\"UpdateSnackBar()\"></mat-checkbox>\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let do of ebo.dOs\">\r\n <td *ngIf=\"ShowCell(do.doType)\">{{ do.doType }}</td>\r\n <td>{{ do.doNaam }}</td>\r\n </ng-container>\r\n </tr>\r\n <tr *ngFor=\"let ebo of GetEbos(true)\" class=\"table-row\" (click)=\"SelectRow(ebo)\">\r\n <td>\r\n <div *ngIf=\"ebo.inUseBy == ''\">\r\n <mat-checkbox class=\"row-check\" [(ngModel)]=\"ebo.selected\" [color]=\"Primary\" (change)=\"UpdateSnackBar()\"></mat-checkbox>\r\n </div>\r\n </td>\r\n <ng-container *ngFor=\"let do of ebo.dOs\">\r\n <td *ngIf=\"ShowCell(do.doType)\">{{ do.doType }}</td>\r\n <td>{{ do.doNaam }}</td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SaveImportSetRequest, ImportApiClient } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-import-sets-dialog',\n templateUrl: './beheer-import-sets-dialog.component.html',\n styleUrls: ['./beheer-import-sets-dialog.component.scss']\n})\nexport class BeheerImportSetsDialogComponent implements OnInit {\n\n public id: number;\n public name: string;\n\n public Loading: boolean = false;\n\n constructor(public dialogRef: MatDialogRef<BeheerImportSetsDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any, private ImportApiClient: ImportApiClient) {\n this.id = data.id;\n this.name = data.name;\n }\n\n ngOnInit(): void {\n }\n\n public Opslaan(): void {\n this.Loading = true;\r\n\r\n var model: SaveImportSetRequest = new SaveImportSetRequest();\r\n\r\n model.id = this.id;\r\n model.name = this.name;\r\n\r\n this.ImportApiClient.saveImportSet(model).subscribe(() => {\r\n this.Loading = false;\r\n\r\n this.dialogRef.close();\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"name\">\r\n </mat-form-field>\r\n\r\n <button mat-raised-button (click)=\"Opslaan()\">Opslaan</button>\r\n</div>\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { WizardEBOViewModel } from '../../../../swagger/SwaggerClient';\r\n\r\n@Component({\r\n selector: 'app-beheer-import-sets-ebo',\r\n templateUrl: './beheer-import-sets-ebo.component.html',\r\n styleUrls: ['./beheer-import-sets-ebo.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class BeheerImportSetsEboComponent implements OnInit {\r\n\r\n @Input() ebo: WizardEBOViewModel; \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<mat-card>\n <div class=\"row\">\n <div class=\"icon-div\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n <div class=\"text-div\">\n <div class=\"row\">\n <div class=\"flex-auto text-box\" *ngFor=\"let do of ebo.dOs\">\n <mat-form-field class=\"full-width\" appearance=\"fill\">\n <mat-label>{{ do.doType }}</mat-label>\n <input matInput value=\"{{do.doNaam}}\" [readonly]=\"true\">\n </mat-form-field>\n </div>\n </div>\n </div>\n </div>\n <div>\n\n </div>\n</mat-card>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ImportSetsService } from '../../../../services/importsets.service';\r\nimport { BCBImportOpbouw } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-import-sets-opbouw',\n templateUrl: './beheer-import-sets-opbouw.component.html',\n styleUrls: ['./beheer-import-sets-opbouw.component.scss']\n})\nexport class BeheerImportSetsOpbouwComponent implements OnInit {\n\n @Input() opbouw: BCBImportOpbouw; \n\n constructor(private ImportSetsService: ImportSetsService) { }\n\n ngOnInit(): void {\n }\n\n public Toggle(): void {\r\n if (this.opbouw.wizardEBOViewModels != null && this.opbouw.wizardEBOViewModels.length > 0) {\r\n this.opbouw.open = !this.opbouw.open;\r\n }\r\n else {\r\n this.UpdateSelected();\r\n }\r\n }\n\n public UpdateSelected(): void {\n this.opbouw.selected = !this.opbouw.selected;\n this.ImportSetsService.ChangeImportSetValue(this.opbouw.value + \"\", this.opbouw.selected);\r\n }\n}\n","<mat-card class=\"card\">\n <div class=\"top-row\">\n <div class=\"icon-div\" (click)=\"Toggle()\">\n <mat-icon *ngIf=\"opbouw.wizardEBOViewModels != null && opbouw.wizardEBOViewModels.length > 0\">chevron_right</mat-icon>\n </div>\n <div class=\"text-div flexauto\" (click)=\"Toggle()\">\n {{ opbouw.name }}\n </div>\n <div class=\"check-div\">\n <mat-checkbox [checked]=\"opbouw.selected\" (change)=\"UpdateSelected()\"></mat-checkbox>\n </div>\n </div>\n <div class=\"top-row\" *ngIf=\"opbouw.open\">\n <br />\n <app-beheer-import-sets-ebo class=\"flexauto\" [ebo]=\"ebo\" *ngFor=\"let ebo of opbouw.wizardEBOViewModels\"></app-beheer-import-sets-ebo>\n </div>\n</mat-card>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ImportSetsService } from '../../../../services/importsets.service';\r\nimport { BCBImportEigenschap } from '../../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-import-sets-eigenschap',\n templateUrl: './beheer-import-sets-eigenschap.component.html',\n styleUrls: ['./beheer-import-sets-eigenschap.component.scss']\n})\nexport class BeheerImportSetsEigenschapComponent implements OnInit {\n\n @Input() eigenschap: BCBImportEigenschap; \n\n constructor(private ImportSetsService: ImportSetsService) { }\n\n ngOnInit(): void {\n }\n\n public UpdateSelected(): void {\n this.eigenschap.selected = !this.eigenschap.selected;\n this.ImportSetsService.ChangeImportSetValue(this.eigenschap.value + \"\", this.eigenschap.selected);\r\n }\n\n}\n","<mat-card class=\"card\">\n <div class=\"top-row\">\n <div class=\"text-div flexauto\" (click)=\"UpdateSelected()\">\n {{ eigenschap.name }}\n </div>\n <div class=\"check-div\">\n <mat-checkbox [checked]=\"eigenschap.selected\" (change)=\"UpdateSelected()\"></mat-checkbox>\n </div>\n </div>\n</mat-card>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ImportSetsService } from '../../../services/importsets.service';\r\nimport { ProductsService } from '../../../services/products.service';\r\nimport { ImportApiClient, BCBImportSetsViewModel, BCBImportSetViewModel, ProductViewModel, BCBProductViewModel, BCBImportOpenRequest, BCBImportOpenResponse } from '../../../swagger/SwaggerClient';\r\nimport { BeheerImportSetsDialogComponent } from './beheer-import-sets-dialog/beheer-import-sets-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-import-sets',\r\n templateUrl: './beheer-import-sets.component.html',\r\n styleUrls: ['./beheer-import-sets.component.scss']\r\n})\r\nexport class BeheerImportSetsComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog, public ProductsService: ProductsService, public ImportSetsService: ImportSetsService, public ImportApiClient: ImportApiClient, private ChangeDetectorRef: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Wijzig(): void {\r\n var dialogRef = this.dialog.open(BeheerImportSetsDialogComponent, {\r\n data: {\r\n id: this.ImportSetsService.GetActiveImportSet().id,\r\n name: this.ImportSetsService.GetActiveImportSet().name\r\n }\r\n });\r\n }\r\n\r\n public Toevoegen(): void {\r\n var dialogRef = this.dialog.open(BeheerImportSetsDialogComponent, {\r\n data: {\r\n id: -1,\r\n name: \"\"\r\n }\r\n });\r\n }\r\n\r\n public Loading(): boolean {\r\n return this.ProductsService.Loading() || this.ImportSetsService.LoadingImportSets;\r\n }\r\n\r\n public Open(): void {\r\n this.ImportSetsService.Open(this.ProductsService.BCBProductSelected);\r\n }\r\n\r\n public GetProducts(): Array<ProductViewModel> {\r\n var array = new Array<ProductViewModel>();\r\n\r\n var products = this.ProductsService.ProductsViewModel.productViewModels;\r\n\r\n if (products != null) {\r\n for (var i = 0; i < products.length; i++) {\r\n if (products[i].importSetId == this.ImportSetsService.GetActiveImportSet().id) {\r\n array.push(products[i]);\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading() && ImportSetsService.BCBImportSetsViewModel != null && ProductsService.ProductsViewModel != null\" class=\"main-content\">\r\n <mat-card>\r\n <div class=\"toolbar\">\r\n <div class=\"toolbar-item\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"\">\r\n <button mat-raised-button (click)=\"Wijzig()\">\r\n Wijzig\r\n </button>\r\n </div>\r\n <div class=\"\">\r\n <button mat-raised-button (click)=\"Toevoegen()\">\r\n Toevoegen\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"toolbar\" *ngIf=\"GetProducts().length > 0\">\r\n <div class=\"toolbar-item\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Product</mat-label>\r\n <mat-select [(ngModel)]=\"ProductsService.ProductSelected\">\r\n <mat-option *ngFor=\"let product of GetProducts()\" [value]=\"product.id\">\r\n {{product.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"toolbar-item flex-auto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>BCBProduct</mat-label>\r\n <mat-select [(ngModel)]=\"ProductsService.BCBProductSelected\">\r\n <mat-option *ngFor=\"let product of ProductsService.GetBCBProductsSelected()\" [value]=\"product.id\">\r\n {{product.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"\">\r\n <button mat-raised-button (click)=\"Open()\">\r\n Open\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card>\r\n\r\n <div class=\"main-block\">\r\n <div class=\"flex-auto block\">\r\n <mat-card>\r\n <mat-card-title>\r\n {{ ImportSetsService.BCBImportOpenResponse?.bcbeboViewModel?.name }}\r\n </mat-card-title>\r\n <mat-card-content>\r\n <div *ngIf=\"ImportSetsService.LoadingOpen\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <div *ngIf=\"!ImportSetsService.LoadingOpen && ImportSetsService.BCBImportOpenResponse != null\">\r\n <mat-card class=\"card\">\r\n <mat-card-title>Opbouw</mat-card-title>\r\n <mat-card-content>\r\n <app-beheer-import-sets-opbouw *ngFor=\"let opbouw of ImportSetsService.BCBImportOpenResponse.bcbImportOpbouwen\" [opbouw]=\"opbouw\"></app-beheer-import-sets-opbouw>\r\n </mat-card-content>\r\n </mat-card>\r\n <mat-card class=\"card\">\r\n <mat-card-title>Eigenschap</mat-card-title>\r\n <mat-card-content>\r\n <app-beheer-import-sets-eigenschap *ngFor=\"let eigenschap of ImportSetsService.BCBImportOpenResponse.bcbImportEigenschappen\" [eigenschap]=\"eigenschap\"></app-beheer-import-sets-eigenschap>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n </div>\r\n <div class=\"importset-block block\">\r\n <mat-card>\r\n <mat-card-title>{{ ImportSetsService.GetActiveImportSet().name }}</mat-card-title>\r\n <mat-card-content>\r\n <mat-card class=\"value-block\" *ngFor=\"let value of ImportSetsService.GetActiveImportSet().bcbImportSetValueViewModels\">\r\n <mat-card-content>\r\n {{ value.value }}\r\n </mat-card-content>\r\n </mat-card>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fab-bcb-product',\n templateUrl: './fab-bcb-product.component.html',\n styleUrls: ['./fab-bcb-product.component.scss']\n})\nexport class FabBcbProductComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<p>fab-bcb-product works!</p>\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { EBOKoppelApiClient, EBOKoppelViewModel, KoppelEBOOptieRequest, KoppelEBOOptieResponse, ConnectEBODOCategoryRequest, ConnectEBODOCategoryResponse } from '../../../../swagger/SwaggerClient';\r\nimport { BeheerConnectCategoryDialogComponent } from '../../beheer-connect-category-dialog/beheer-connect-category-dialog.component';\r\nimport { BeheerProductsKoppelFilteroptionDailogComponent } from '../../beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';\r\n\r\n@Component({\r\n selector: 'app-beheer-ebo-koppel',\r\n templateUrl: './beheer-ebo-koppel.component.html',\r\n styleUrls: ['./beheer-ebo-koppel.component.scss']\r\n})\r\nexport class BeheerEboKoppelComponent implements OnInit {\r\n\r\n public EBOKoppelViewModel: EBOKoppelViewModel;\r\n\r\n public Loading: boolean = true;\r\n\r\n constructor(private EBOKoppelApiClient: EBOKoppelApiClient, public dialog: MatDialog) {\r\n this.LoadModel();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Connect(id: number): void {\r\n var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null) {\r\n if (result.filteroption != null && result.filteroption > 0) {\r\n this.Loading = true;\r\n var request = new KoppelEBOOptieRequest();\r\n\r\n request.bcbebodoId = id;\r\n request.filterOptionId = result.filteroption;\r\n request.bcbImportSetId = -1;\r\n\r\n this.EBOKoppelApiClient.koppelEBOOptie(request).subscribe((model: KoppelEBOOptieResponse) => {\r\n this.LoadModel();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n else if (result.filter != null) {\r\n //var request2 = new KoppelManyNameRequest();\r\n\r\n //request2.bcbProductEigenschapOptieId = id;\r\n //request2.filterId = result.filter;\r\n\r\n //this.ProductsApiClient.koppelManyName(request2).subscribe((model: KoppelManyNameResponse) => {\r\n // this.ProductsService.Reload();\r\n //}, (error: Response) => {\r\n // alert(error);\r\n //});\r\n alert(\"todo\");\r\n }\r\n }\r\n //if (result != null && result > 0) {\r\n\r\n //}\r\n });\r\n }\r\n\r\n public ConnectCategory(id: number, dotype: string, donaam: string): void {\r\n var dialogRef = this.dialog.open(BeheerConnectCategoryDialogComponent, {\r\n data: {\r\n dotype: dotype,\r\n donaam: donaam\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result: any) => {\r\n if (result != null && result > 0) {\r\n this.Loading = true;\r\n var request = new ConnectEBODOCategoryRequest();\r\n\r\n request.bcbebodoId = id;\r\n request.categoryId = result;\r\n\r\n this.EBOKoppelApiClient.connectEBODOCategory(request).subscribe((model: ConnectEBODOCategoryResponse) => {\r\n this.LoadModel();\r\n }, (error: Response) => {\r\n alert(error);\r\n });\r\n }\r\n });\r\n }\r\n\r\n private LoadModel(): void {\r\n this.Loading = true;\r\n this.EBOKoppelApiClient.getEBOKoppelViewModel().subscribe((model: EBOKoppelViewModel) => {\r\n this.EBOKoppelViewModel = model;\r\n this.Loading = false;\r\n });\r\n }\r\n\r\n}\r\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!Loading\">\r\n <mat-accordion>\r\n <mat-expansion-panel *ngFor=\"let type of EBOKoppelViewModel.eboKoppelTypeViewModels\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ type.type }}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n {{ type.namen.length }} EBO(s)\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div>\r\n <mat-card *ngFor=\"let do of type.namen\" class=\"card\">\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"text-div\">\r\n {{ do.doNaam }}\r\n </div>\r\n <div *ngIf=\"!do.connected\">\r\n <button mat-raised-button (click)=\"Connect(do.id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(do.id, do.doType, do.doNaam)\">\r\n Category\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n </mat-accordion>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\nimport { CategoriesApiClient, CategoriesOverviewViewModel } from '../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-categories',\n templateUrl: './beheer-categories.component.html',\n styleUrls: ['./beheer-categories.component.scss']\n})\nexport class BeheerCategoriesComponent implements OnInit {\n\n public Loading: boolean = true;\n\n public CategoriesOverviewViewModel: CategoriesOverviewViewModel;\n\n constructor(private CategoriesApiClient: CategoriesApiClient) { }\n\n ngOnInit(): void {\n this.LoadCategories();\n }\n\n private LoadCategories(): void {\r\n this.Loading = true;\r\n\r\n this.CategoriesApiClient.getCategoriesOverview().subscribe((model: CategoriesOverviewViewModel) => {\r\n this.CategoriesOverviewViewModel = model;\r\n this.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n console.log(error.json());\r\n else {\r\n console.log('An unexpected error occured');\r\n console.log(error);\r\n }\r\n\r\n this.Loading = false;\r\n });\r\n }\n}\n","<app-beheer-nav></app-beheer-nav>\n\n<div *ngIf=\"Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<div *ngIf=\"!Loading\">\n <mat-card>\n <mat-card-content>\n <table class=\"fullwidth\">\n <ng-container *ngFor=\"let categorie of CategoriesOverviewViewModel.categories\">\n <tr class=\"header\">\n <td colspan=\"3\">{{ categorie.name }}</td>\n </tr>\n <ng-container *ngFor=\"let subcategorie of categorie.subCategories\">\n <tr class=\"header2\">\n <td>&nbsp;</td>\n <td colspan=\"2\">{{ subcategorie.name }}</td>\n </tr>\n <tr *ngFor=\"let product of subcategorie.products\">\n <td>&nbsp;</td>\n <td>&nbsp;</td>\n <td>{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of categorie.products\">\n <td></td>\n <td colspan=\"2\">{{ product.name }}</td>\n </tr>\n <tr>\n <td>&nbsp;</td>\n </tr>\n </ng-container>\n <tr *ngFor=\"let product of CategoriesOverviewViewModel.products\">\n <td colspan=\"3\">{{ product.name }}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n \n</div>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'app-fab-start',\n templateUrl: './fab-start.component.html',\n styleUrls: ['./fab-start.component.scss']\n})\nexport class FabStartComponent implements OnInit {\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n}\n","<div *ngIf=\"FabrikantenService.Loading\" class=\"loader\">\n <mat-card class=\"loader-card\">\n <mat-card-content>\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\n </mat-card-content>\n </mat-card>\n</div>\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { TranslateService } from '../../services/translate.service';\r\nimport { FabrikantenCategoryViewModel } from '../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'fab-category-tile',\n templateUrl: './fab-category-tile.component.html',\n styleUrls: ['./fab-category-tile.component.scss']\n})\nexport class FabCategoryTileComponent implements OnInit {\n\n @Input() category: FabrikantenCategoryViewModel;\n\n constructor(\n public FabrikantenService: FabrikantenService,\n private sanitization: DomSanitizer,\n private ChangeDetectorRef: ChangeDetectorRef,\n public TranslateService: TranslateService) { }\n\n ngOnInit(): void {\n }\n\n public Select(): void {\n this.FabrikantenService.SelectCategory(this.category, this.ChangeDetectorRef);\r\n }\n\n public DisplayNoPhoto(): boolean {\n var path = this.category.imagePath as string;\r\n\r\n return path == \"\";\r\n }\n\n public getSafeUrl() {\r\n\r\n var path = this.category.imagePath as string;\r\n\r\n if (path != \"\") {\r\n return this.sanitization.bypassSecurityTrustStyle('url(\\'' + (this.category.imagePath as string) + '\\')');\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\n}\n","<mat-card *ngIf=\"!DisplayNoPhoto()\" class=\"tile\" (click)=\"Select()\" [style.backgroundImage]=\"getSafeUrl()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n<mat-card *ngIf=\"DisplayNoPhoto()\" class=\"tile no-photo\" (click)=\"Select()\">\n <mat-card-title class=\"title\">\n {{ TranslateService.GetActiveValueCategory(category.id) }}\n </mat-card-title>\n</mat-card>\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FabrikantenService } from '../../services/fabrikanten.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '../../services/translate.service';\r\n\n@Component({\n selector: 'fab-categories',\n templateUrl: './fab-categories.component.html',\n styleUrls: ['./fab-categories.component.scss']\n})\nexport class FabCategoriesComponent implements OnInit {\n\n constructor(\n public FabrikantenService: FabrikantenService,\n public TranslateService: TranslateService,\n private ActivatedRoute: ActivatedRoute,\n private ChangeDetectorRef: ChangeDetectorRef) {\n this.TranslateService.ProcessParameters(this.ActivatedRoute);\n\n if (!this.FabrikantenService.ShowCategories()) {\n this.FabrikantenService.ResetAllCategories(this.ChangeDetectorRef);\r\n }\n }\n\n ngOnInit(): void {\n this.FabrikantenService.LoadFabrikantenViewModel(this.ChangeDetectorRef);\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n}\n","<div class=\"loader\" *ngIf=\"FabrikantenService.Loading\">\n <app-fab-loader></app-fab-loader>\n</div>\n\n<app-fab-header [showfiltermenubutton]=\"false\"></app-fab-header>\n\n<div *ngIf=\"FabrikantenService.GetFirstOpenCategoryLayer() != null\" class=\"main-block\">\n <fab-category-tile *ngFor=\"let category of FabrikantenService.GetFirstOpenCategoryLayer().categories\" [category]=\"category\"></fab-category-tile>\n</div>\n\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { TranslateService } from '../../../services/translate.service';\r\nimport { CreateExportRequest, CreateExportResponse, ReadExportRequest, TranslateEntryProductViewModel, TranslateEntryCategoryViewModel, TranslateEntryDescriptionViewModel, TranslateEntryFilterViewModel, TranslateEntryFilterOptionViewModel, TranslateApiClient, TranslateEntryAfbeeldingViewModel } from '../../../swagger/SwaggerClient';\r\n\n@Component({\n selector: 'app-beheer-translate',\n templateUrl: './beheer-translate.component.html',\n styleUrls: ['./beheer-translate.component.scss']\n})\nexport class BeheerTranslateComponent implements OnInit {\n\n constructor(\n public TranslateService: TranslateService,\n private TranslateApiClient: TranslateApiClient,\n private ChangeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\n }\n\n public GetCategoryEntries(): Array<TranslateEntryCategoryViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].categoryEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].categoryEntries;\r\n }\n else {\r\n return new Array<TranslateEntryCategoryViewModel>();;\r\n }\r\n }\n\n public GetProductEntries(): Array<TranslateEntryProductViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].productEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].productEntries;\r\n }\n else {\r\n return new Array<TranslateEntryProductViewModel>();\r\n }\r\n }\n\n public GetFilterEntries(): Array<TranslateEntryFilterViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].filterEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].filterEntries;\r\n }\n else {\r\n return new Array<TranslateEntryFilterViewModel>();\r\n }\r\n }\n\n public GetFilterOptionEntries(filterid: number): Array<TranslateEntryFilterOptionViewModel> {\n var array = new Array<TranslateEntryFilterOptionViewModel>();\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries != null) {\n for (var i = 0; i < this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries.length; i++) {\r\n if (this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries[i].filterId == filterid) {\r\n array.push(this.TranslateService.LanguagesViewModel.languages[0].filterOptionEntries[i]);\r\n }\r\n }\r\n }\r\n\r\n return array;\r\n }\n\n public GetDescriptionEntries(): Array<TranslateEntryDescriptionViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].descriptionEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].descriptionEntries;\r\n }\n else {\r\n return new Array<TranslateEntryDescriptionViewModel>();\r\n }\r\n }\n\n public GetAfbeeldingEntries(): Array<TranslateEntryAfbeeldingViewModel> {\n\n if (this.TranslateService.LanguagesViewModel?.languages != null && this.TranslateService.LanguagesViewModel.languages.length > 0 && this.TranslateService.LanguagesViewModel.languages[0].afbeeldingEntries != null) {\n return this.TranslateService.LanguagesViewModel.languages[0].afbeeldingEntries;\r\n }\n else {\r\n return new Array<TranslateEntryAfbeeldingViewModel>();\r\n }\r\n }\n\n public Export(): void {\n var request = new CreateExportRequest();\r\n this.TranslateService.Loading = true;\r\n\r\n this.TranslateApiClient.createExport(request).subscribe((model: CreateExportResponse) => {\r\n alert(model.url);\r\n this.TranslateService.Loading = false;\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n alert(error.json());\r\n else {\r\n alert('An unexpected error occured');\r\n alert(error);\r\n }\r\n });\r\n }\n\n public Import(): void {\n var request = new ReadExportRequest();\r\n this.TranslateService.Loading = true;\r\n\r\n this.TranslateApiClient.readExport(request).subscribe(() => {\r\n this.TranslateService.Loading = false;\r\n this.TranslateService.LoadTranslations(this.ChangeDetectorRef);\r\n }, (error: Response) => {\r\n if (error.status == 400)\r\n alert(error.json());\r\n else {\r\n alert('An unexpected error occured');\r\n alert(error);\r\n }\r\n });\r\n }\n\n\n}\n","<app-beheer-nav></app-beheer-nav>\r\n\r\n<app-fab-loader *ngIf=\"TranslateService.Loading\"></app-fab-loader>\r\n\r\n<div *ngIf=\"!TranslateService.Loading\">\r\n <mat-card class=\"main-bar\">\r\n <mat-card-content>\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Category</mat-label>\r\n <mat-select [(ngModel)]=\"TranslateService.SelectedCategory\">\r\n <mat-option *ngFor=\"let cat of TranslateService.Categories\" [value]=\"cat\">\r\n {{cat}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-raised-button (click)=\"Export()\">\r\n Export\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <mat-card class=\"main\">\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <ng-container *ngIf=\"TranslateService.GetActiveCategorie() != null\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n {{ TranslateService.GetActiveCategorie().name }}\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let key of TranslateService.GetActiveCategorie().keys\">\r\n <td>{{ key.id }}</td>\r\n <td>{{ key.name }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValue(language, TranslateService.GetActiveCategorie().name, key.name) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Categories'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Categories\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let cat of GetCategoryEntries()\">\r\n <td>{{ cat.categoryId }}</td>\r\n <td>{{ cat.categoryName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueCategory(language, cat.categoryId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Products'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Products\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let prod of GetProductEntries()\">\r\n <td>{{ prod.productId }}</td>\r\n <td>{{ prod.productName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueProduct(language, prod.productId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Filter'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Filters\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <ng-container *ngFor=\"let filter of GetFilterEntries()\">\r\n <tr>\r\n <td class=\"cat-row\">{{ filter.filterId }}</td>\r\n <td class=\"cat-row\">{{ filter.filterName }}</td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueFilter(language, filter.filterId) }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let option of GetFilterOptionEntries(filter.filterId)\">\r\n <td>{{ option.filterOptionId }}</td>\r\n <td>{{ option.filterOptionName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueFilterOption(language, option.filterOptionId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Description'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Description\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let description of GetDescriptionEntries()\">\r\n <td>{{ description.bcbProductId }}</td>\r\n <td>{{ description.productName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueDescription(language, description.bcbProductId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"TranslateService.SelectedCategory == 'Afbeelding'\">\r\n <tr>\r\n <td colspan=\"2\" class=\"cat-row\">\r\n Afbeelding\r\n </td>\r\n <td class=\"cat-row\" *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n <fab-flag [country]=\"language.flag\"></fab-flag> {{ language.name }}\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let afbeelding of GetAfbeeldingEntries()\">\r\n <td>{{ afbeelding.bcbProductAfbeeldingId }}</td>\r\n <td>{{ afbeelding.productName }}</td>\r\n <td *ngFor=\"let language of TranslateService.LanguagesViewModel.languages\">\r\n {{ TranslateService.GetValueAfbeelding(language, afbeelding.bcbProductAfbeeldingId) }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n FiltersApiClient,\r\n ProjectSettingApiClient,\r\n SecurityApiClient,\r\n SearchProductsApiClient,\r\n ProductsApiClient,\r\n ImportApiClient,\r\n FabrikantenApiClient,\r\n EBOKoppelApiClient,\r\n CategoriesApiClient,\r\n TranslateApiClient\r\n} from './swagger/SwaggerClient';\r\n\r\n// Auth components\r\nimport { BasicAuthInterceptor } from './helpers/basic-auth.interceptor';\r\nimport { ErrorInterceptor } from './helpers/error.interceptor';\r\nimport { AuthGuard } from './helpers/auth.guard';\r\n\r\n// Beheer\r\nimport { BeheerMainComponent } from './beheer/components/beheer-main/beheer-main.component';\r\nimport { BeheerInlogComponent } from './beheer/components/beheer-inlog/beheer-inlog.component';\r\n\r\n// Main\r\nimport { FabFiltersComponent } from './components/fab-filters/fab-filters.component';\r\n\r\n// Services\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { ProjectSettingService } from './services/projectsetting.service';\r\nimport { ProductsService } from './services/products.service';\r\nimport { ImportSetsService } from './services/importsets.service';\r\nimport { FabrikantenService } from './services/fabrikanten.service';\r\nimport { PhotoService } from './services/photo.service';\r\nimport { BestekService } from './services/bestek.service';\r\nimport { MobileService } from './services/mobile.service';\r\n\r\n// Material\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\n\r\n//\r\nimport { BeheerNavComponent } from './beheer/components/beheer-nav/beheer-nav.component';\r\nimport { BeheerUsersComponent } from './beheer/components/beheer-users/beheer-users.component';\r\nimport { BeheerProductsComponent } from './beheer/components/beheer-products/beheer-products.component';\r\nimport { BeheerFiltersComponent } from './beheer/components/beheer-filters/beheer-filters.component';\r\nimport { BeheerSettingsComponent } from './beheer/components/beheer-settings/beheer-settings.component';\r\nimport { FabLoaderComponent } from './components/fab-loader/fab-loader.component';\r\nimport { BeheerSearchProductsComponent } from './beheer/components/beheer-searchproducts/beheer-searchproducts.component';\r\nimport { BeheerSearchproductsKoppelDialogComponent } from './beheer/components/beheer-searchproducts/beheer-searchproducts-koppel-dialog/beheer-searchproducts-koppel-dialog.component';\r\nimport { BeheerProductsProductComponent } from './beheer/components/beheer-products/beheer-products-product/beheer-products-product.component';\r\nimport { BeheerProductsBcbproductComponent } from './beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component';\r\nimport { BeheerImportSetsComponent } from './beheer/components/beheer-import-sets/beheer-import-sets.component';\r\nimport { BeheerImportSetsOpbouwComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-opbouw/beheer-import-sets-opbouw.component';\r\nimport { BeheerImportSetsEigenschapComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component';\r\nimport { BeheerImportSetsEboComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component';\r\nimport { BeheerProductsEigenschapComponent } from './beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component';\r\nimport { BeheerProductsKoppelFilteroptionDailogComponent } from './beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';\r\nimport { FabFilterComponent } from './components/fab-filter/fab-filter.component';\r\nimport { FabProductComponent } from './components/fab-product/fab-product.component';\r\nimport { FabBcbProductComponent } from './components/fab-bcb-product/fab-bcb-product.component';\r\nimport { FabProductSelectComponent } from './components/fab-product-select/fab-product-select.component';\r\nimport { FabProductTileComponent } from './components/fab-product-tile/fab-product-tile.component';\r\nimport { FabProductInfoComponent } from './components/fab-product/fab-product-info/fab-product-info.component';\r\nimport { FabProductBestekComponent } from './components/fab-product/fab-product-bestek/fab-product-bestek.component';\r\nimport { FabProductInfoPhotoComponent } from './components/fab-product/fab-product-info/fab-product-info-photo/fab-product-info-photo.component';\r\nimport { FabProductInfoPhotoDialogComponent } from './components/fab-product/fab-product-info/fab-product-info-photo-dialog/fab-product-info-photo-dialog.component';\r\nimport { BeheerEboKoppelComponent } from './beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component';\r\nimport { BeheerSettingsOptionsComponent } from './beheer/components/beheer-settings/beheer-settings-options/beheer-settings-options.component';\r\nimport { BeheerSettingsStringComponent } from './beheer/components/beheer-settings/beheer-settings-string/beheer-settings-string.component';\nimport { BeheerImportSetsDialogComponent } from './beheer/components/beheer-import-sets/beheer-import-sets-dialog/beheer-import-sets-dialog.component';\nimport { BeheerCategoriesComponent } from './beheer/components/beheer-categories/beheer-categories.component';\nimport { BeheerConnectCategoryDialogComponent } from './beheer/components/beheer-connect-category-dialog/beheer-connect-category-dialog.component';\nimport { FabStartComponent } from './components/fab-start/fab-start.component';\nimport { FabCategoriesComponent } from './components/fab-categories/fab-categories.component';\nimport { FabCategoryTileComponent } from './components/fab-category-tile/fab-category-tile.component';\nimport { FabBreadcrumbComponent } from './components/fab-breadcrumb/fab-breadcrumb.component';\nimport { FabFiltersInputComponent } from './components/fab-filters-input/fab-filters-input.component';\nimport { FabFiltersOverviewComponent } from './components/fab-filters-overview/fab-filters-overview.component';\nimport { FabFlagComponent } from './components/fab-flag/fab-flag.component';\nimport { BeheerTranslateComponent } from './beheer/components/beheer-translate/beheer-translate.component';\nimport { FabLanguageSelectComponent } from './components/fab-language-select/fab-language-select.component';\r\nimport { TranslateService } from './services/translate.service';\nimport { FabHeaderComponent } from './components/fab-header/fab-header.component';\r\nimport { NavigateService } from './services/navigate.service';\nimport { FabWebglViewerComponent } from './components/fab-webgl-viewer/fab-webgl-viewer.component';\r\nimport { WebGLService } from './services/webgl.service';\r\nimport { SVGService } from './services/svg.service';\nimport { FabSvgViewerComponent } from './components/fab-svg-viewer/fab-svg-viewer.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'beheer', children: [\r\n { path: 'inloggen', component: BeheerInlogComponent },\r\n { path: 'overview', component: BeheerMainComponent, canActivate: [AuthGuard] },\r\n { path: 'products', component: BeheerProductsComponent, canActivate: [AuthGuard] },\r\n { path: 'importsets', component: BeheerImportSetsComponent, canActivate: [AuthGuard] },\r\n { path: 'filters', component: BeheerFiltersComponent, canActivate: [AuthGuard] },\r\n { path: 'users', component: BeheerUsersComponent, canActivate: [AuthGuard] },\r\n { path: 'settings', component: BeheerSettingsComponent, canActivate: [AuthGuard] },\r\n { path: 'searchproducts', component: BeheerSearchProductsComponent, canActivate: [AuthGuard] },\r\n { path: 'ebokoppel', component: BeheerEboKoppelComponent, canActivate: [AuthGuard] },\r\n { path: 'categories', component: BeheerCategoriesComponent, canActivate: [AuthGuard] },\r\n { path: 'translate', component: BeheerTranslateComponent, canActivate: [AuthGuard] },\r\n { path: '', component: BeheerMainComponent, pathMatch: 'full', canActivate: [AuthGuard] }\r\n ]\r\n },\r\n { path: '', component: FabStartComponent },\r\n { path: 'categories', component: FabCategoriesComponent },\r\n { path: ':language/categories', component: FabCategoriesComponent },\r\n { path: 'products', component: FabProductSelectComponent },\r\n { path: ':language/products', component: FabProductSelectComponent },\r\n { path: 'product', component: FabProductComponent },\r\n { path: ':language/product', component: FabProductComponent },\r\n { path: '**', pathMatch: 'full', component: FabFiltersComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n MatInputModule,\r\n FormsModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatExpansionModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatTreeModule,\r\n MatSidenavModule,\r\n MatTableModule,\r\n MatButtonToggleModule,\r\n MatCheckboxModule,\r\n MatDividerModule,\r\n MatTabsModule,\r\n MatProgressSpinnerModule,\r\n MatSelectModule,\r\n MatSnackBarModule,\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: 'enabled',\r\n anchorScrolling: 'enabled',\r\n }),\t\r\n ],\r\n declarations: [\r\n FabFiltersComponent,\r\n BeheerMainComponent,\r\n BeheerInlogComponent,\r\n BeheerNavComponent,\r\n BeheerUsersComponent,\r\n BeheerProductsComponent,\r\n BeheerFiltersComponent,\r\n BeheerSettingsComponent,\r\n FabLoaderComponent,\r\n BeheerSearchProductsComponent,\r\n BeheerSearchproductsKoppelDialogComponent,\r\n BeheerProductsProductComponent,\r\n BeheerProductsBcbproductComponent,\r\n BeheerImportSetsComponent,\r\n BeheerImportSetsOpbouwComponent,\r\n BeheerImportSetsEigenschapComponent,\r\n BeheerImportSetsEboComponent,\r\n BeheerProductsEigenschapComponent,\r\n BeheerProductsKoppelFilteroptionDailogComponent,\r\n FabFilterComponent,\r\n FabProductComponent,\r\n FabBcbProductComponent,\r\n FabProductSelectComponent,\r\n FabProductTileComponent,\r\n FabProductInfoComponent,\r\n FabProductBestekComponent,\r\n FabProductInfoPhotoComponent,\r\n FabProductInfoPhotoDialogComponent,\r\n BeheerEboKoppelComponent,\r\n BeheerSettingsOptionsComponent,\r\n BeheerSettingsStringComponent,\r\n BeheerImportSetsDialogComponent,\r\n BeheerCategoriesComponent,\r\n BeheerConnectCategoryDialogComponent,\r\n FabStartComponent,\r\n FabCategoriesComponent,\r\n FabCategoryTileComponent,\r\n FabBreadcrumbComponent,\r\n FabFiltersInputComponent,\r\n FabFiltersOverviewComponent,\r\n FabFlagComponent,\r\n BeheerTranslateComponent,\r\n FabLanguageSelectComponent,\r\n FabHeaderComponent,\r\n FabWebglViewerComponent,\r\n FabSvgViewerComponent\r\n ],\r\n providers: [\r\n NavigateService,\r\n AuthenticationService,\r\n ProjectSettingService,\r\n ProductsService,\r\n PhotoService,\r\n BestekService,\r\n WebGLService,\r\n SVGService,\r\n MobileService,\r\n TranslateService,\r\n FabrikantenService,\r\n ImportSetsService,\r\n FiltersApiClient,\r\n FabrikantenApiClient,\r\n CategoriesApiClient,\r\n TranslateApiClient,\r\n EBOKoppelApiClient,\r\n SecurityApiClient,\r\n SearchProductsApiClient,\r\n ImportApiClient,\r\n ProductsApiClient,\r\n ProjectSettingApiClient,\r\n { provide: HTTP_INTERCEPTORS, useClass: BasicAuthInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n ],\r\n exports: [\r\n FabFiltersComponent\r\n ]\r\n})\r\n\r\nexport class FabrikantenCoreModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_observableMergeMap","_observableCatch","_observableThrow","_observableOf","i1.SecurityApiClient","i1.AuthenticationService","i1","i2.AuthenticationService","i2","i3.FabrikantenApiClient","i4","i1.BeheerNavComponent","i3.SecurityApiClient","i5","i6","i7","i8","i9.FabLoaderComponent","i2.FabrikantenApiClient","i1.TranslateApiClient","i2.NavigateService","i1.FabrikantenApiClient","i2.BestekService","i3.TranslateService","i4.WebGLService","i5.SVGService","i6.NavigateService","i1.FabrikantenService","i2.TranslateService","i4.FabFilterComponent","i2.PhotoService","i1.PhotoService","i1.MobileService","i3.FabrikantenService","i5.FabProductInfoPhotoComponent","i2.FabrikantenService","i4.BestekService","i1.TranslateService","i3.FabFlagComponent","i1.FabBreadcrumbComponent","i2.FabLanguageSelectComponent","i2.WebGLService","i4.MobileService","i8.FabLoaderComponent","i2.SVGService","i5.MobileService","i3.BestekService","i4.TranslateService","i9","i10","i11.FabProductInfoComponent","i12.FabProductBestekComponent","i13.FabFiltersInputComponent","i14.FabHeaderComponent","i15.FabWebglViewerComponent","i16.FabSvgViewerComponent","i3","i10.FabProductTileComponent","i11.FabFiltersInputComponent","i12.FabHeaderComponent","i3.FabProductComponent","i4.FabProductSelectComponent","i10.FabFiltersInputComponent","i11.FabFiltersOverviewComponent","i1.ProjectSettingApiClient","i1.ProductsApiClient","i1.ImportApiClient","i1.ProductsService","i2.CategoriesApiClient","i11.FabLoaderComponent","i2.FiltersApiClient","i3.ProductsApiClient","i2.ProductsService","i9.BeheerProductsEigenschapComponent","i2.ImportSetsService","i3.ImportApiClient","i8.BeheerNavComponent","i10.BeheerProductsProductComponent","i11.BeheerProductsBcbproductComponent","i1.ProjectSettingService","i4.BeheerNavComponent","i5.FabLoaderComponent","i6.BeheerSettingsOptionsComponent","i7.BeheerSettingsStringComponent","i2.SearchProductsApiClient","i11.BeheerNavComponent","i12.FabLoaderComponent","i2.ImportApiClient","i1.ImportSetsService","i6.BeheerImportSetsEboComponent","i3.ImportSetsService","i4.ImportApiClient","i11","i12.BeheerNavComponent","i13.FabLoaderComponent","i14.BeheerImportSetsOpbouwComponent","i15.BeheerImportSetsEigenschapComponent","i1.EBOKoppelApiClient","i7.BeheerNavComponent","i1.CategoriesApiClient","i6.FabCategoryTileComponent","i7.FabHeaderComponent","i2.TranslateApiClient","i10.BeheerNavComponent","i12.FabFlagComponent"],"mappings":"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"}