{"version":3,"sources":["components/partResult.tsx","services/PartNumberAPI.ts","components/partBuilder.tsx","serviceWorker.ts","App.tsx","index.tsx"],"names":["PartResult","props","createSections","sections","Object","keys","map","key","index","item","Number","section","classname","enabled","undefined","items","length","type","className","id","name","info","value","UncontrolledTooltip","placement","target","buildPartResult","partNumber","isUnselected","i","replace","createCallsToAction","callstoaction","cnt","isUndefined","partRes","hidder","disableC2A","calltoaction","push","state","qtyValue","onChange","evt","updateQtyValue","Button","onClick","setState","c2amodal","toggle","buttonLabel","isNullOrUndefined","config","url","openurl","copy2clipboard","modal","bind","toggleC2AModal","this","prevState","window","open","text","navigator","clipboard","writeText","callsToAction","allowReset","onReset","Modal","isOpen","ModalHeader","ModalBody","src","process","alt","ModalFooter","color","Component","CallToActionControlClient","baseUrl","http","jsonParseReviver","company","actionName","url_","Error","encodeURIComponent","fetch","method","headers","then","_response","processGet","response","status","_headers","forEach","v","k","_responseText","resultData200","JSON","parse","CallsToActionConfig","fromJS","result404","resultData404","ProblemDetails","throwException","Promise","resolve","processGet2","options_","body","stringify","processAddCallToActionConfig","result400","resultData400","processAddCallToActionConfig2","processUpdateCallsToActionConfig","processUpdateCallsToActionConfig2","SectionControlClient","family","PartNumberInitResponse","processGetValidPartNumbers","processGetValidPartNumbers2","updateRequest","processUpdateItems","PartNumberUpdateResponse","processUpdateItems2","init","processAddPartConfig","processAddPartConfig2","processUpdatePartConfig","PartNumberInit","processUpdatePartConfig2","data","title","detail","instance","extensions","property","hasOwnProperty","_data","result","lastModified","Array","isArray","CallToAction","toJSON","description","partNumberSections","PartNumberInitSectionResponse","hideInvalidOptions","selectedIndex","PartNumberInitSectionItemResponse","selected","PartNumberUpdateSectionResponse","PartNumberUpdateSectionItemResponse","PartNumberUpdateRequest","PartNumberSectionUpdateRequest","PartNumberSection","format","increment","incrementMin","min","minMin","max","maxMax","defaultValue","evalValues","evalValueResults","PartNumberSectionItem","ApiException","message","isApiException","obj","PartBuilder","dropdownOpen","popoverOpen","calltoactionconfig","failed2LoadFamily","failed2LoadCallToAction","menuFilter","content","menuFilterOnChange","e","element","menuFilterOnKeyDown","itemIdx","includes","updatePartNumberSections","sectionidx","itemidx","request","PartNumberAPI","ApiUrl","updateItems","Company","Response","itemsResponse","j","catch","Reason","initPartNumber","handleInputChange","indexAttr","getAttribute","handleSubmit","preventDefault","popover","createSectionCheckBoxes","filter","FormGroup","check","Label","disabled","Input","checked","UseValueAndDescription","tag","Dropdown","DropdownToggle","caret","DropdownMenu","DropdownItem","header","onKeyDown","placeholder","autoFocus","get","initCallToAction","Form","onSubmit","Boolean","location","hostname","match","App","pathname","indexOf","substring","params","QueryString","search","callToAction","AllowReset","toLowerCase","useValueAndDescription","DisableC2A","Container","withRouter","Widget","isNull","domElement","attrCompany","attrFamily","attrCallToAction","attrAllowReset","attrValueAndDescription","attrDisbaleC2A","widgetDivs","document","querySelectorAll","div","ReactDOM","render","StrictMode","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.9ad971c9.chunk.js","sourcesContent":["// ReSharper disable once UnusedLocalImport\r\nimport React, { Component, ChangeEvent, FormEvent } from \"react\";\r\nimport {\r\n Button, Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledTooltip\r\n} from \"reactstrap\";\r\n//import \"./partResult.css\";\r\n\r\nimport * as PartNumberAPI from \"../services/PartNumberAPI\"\r\nimport { isNullOrUndefined, isUndefined } from \"util\";\r\n\r\ntype State = {\r\n modal: boolean,\r\n c2amodal: boolean,\r\n qtyValue: number;\r\n}\r\n\r\ntype Props = {\r\n sections: PartNumberAPI.PartNumberInitSectionResponse[],\r\n callstoaction: PartNumberAPI.CallsToActionConfig | undefined,\r\n allowReset: boolean;\r\n disableC2A:boolean;\r\n onReset: () => void;\r\n}\r\n\r\nexport default class PartResult extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n modal: false,\r\n c2amodal:false,\r\n qtyValue: 0\r\n };\r\n\r\n this.toggle = this.toggle.bind(this);\r\n this.toggleC2AModal = this.toggleC2AModal.bind(this);\r\n }\r\n\r\n toggle() {\r\n this.setState(prevState => ({\r\n modal: !prevState.modal\r\n }));\r\n }\r\n\r\n toggleC2AModal() {\r\n this.setState(prevState => ({\r\n c2amodal: !prevState.c2amodal\r\n }));\r\n }\r\n\r\n openurl(url: string) {\r\n window.open(url, '_blank'); \r\n }\r\n\r\n copy2clipboard(text: string) {\r\n navigator.clipboard.writeText(text); \r\n }\r\n\r\n updateQtyValue(evt: any) {\r\n this.setState({\r\n qtyValue: evt.target.value\r\n });\r\n }\r\n\r\n createSections = (sections: PartNumberAPI.PartNumberInitSectionResponse[]) => {\r\n return Object.keys(sections).map((key, index) => {\r\n const item = Number(key);\r\n const section = sections[key as any];\r\n var classname = \"bz-pb-item_box\";\r\n if (!section.enabled || section.items === undefined || section.items.length < 2)\r\n classname += \" disabled\";\r\n\r\n if (section.type === \"Text\" || section.type === \"ValueRange\") {\r\n return (\r\n
  • \r\n
    {section.name}{(section.info != undefined && section.info.length > 0) ? i : null}
    \r\n
    {section.value}
    \r\n {(section.info != undefined && section.info.length > 0) ? {section.info} : null}\r\n
  • \r\n );\r\n }\r\n else if (section.type === \"Separator\") {\r\n return (\r\n
  • {section.value}
  • \r\n );\r\n }\r\n else\r\n return (
    );\r\n });\r\n };\r\n\r\n buildPartResult = () => {\r\n var partNumber = \"\";\r\n var isUnselected = false;\r\n for (let i = 0; i < this.props.sections.length; i++) {\r\n if (this.props.sections[i].value)\r\n partNumber += this.props.sections[i].value;\r\n\r\n if (this.props.sections[i].value === \"?\")\r\n isUnselected = true;\r\n }\r\n return { partNumber: partNumber.replace(/\\-+$/g, \"\"), isUnselected: isUnselected };\r\n }\r\n\r\n createCallsToAction = (callstoaction: PartNumberAPI.CallToAction[], cnt: number, items: JSX.Element[]) => {\r\n if (!isUndefined(callstoaction)) {\r\n const partRes = this.buildPartResult();\r\n const hidder = partRes.isUnselected && this.props.disableC2A ? \"bz-pb-item no-touch\" : \"bz-pb-item\";\r\n \r\n \r\n\r\n for (let i = 0; i < callstoaction.length; i++) {\r\n const calltoaction = callstoaction[i];\r\n\r\n if (calltoaction.type === \"AddToCart\") {\r\n //items.push(
  • );\r\n items.push(
  • \r\n
    Quantity
    \r\n this.updateQtyValue(evt)} />\r\n
  • );\r\n items.push(
  • );\r\n items.push(
  • \r\n \r\n
  • );\r\n }\r\n else if (calltoaction.type === \"LinkTo\") {\r\n if (!isNullOrUndefined(calltoaction.config)) {\r\n const url = calltoaction.config.replace(\"{partnumber}\", partRes.partNumber);\r\n //items.push(
  • ); \r\n items.push(
  • \r\n \r\n
  • );\r\n }\r\n }\r\n else if (calltoaction.type === \"CopyToClipboard\") {\r\n //items.push(
  • ); \r\n items.push(
  • \r\n \r\n
  • );\r\n }\r\n }\r\n }\r\n return cnt;\r\n };\r\n\r\n render() {\r\n const partRes = this.buildPartResult();\r\n\r\n var items = this.createSections(this.props.sections); \r\n var cnt = this.props.sections.length;\r\n if (!isUndefined(this.props.callstoaction) && !isUndefined(this.props.callstoaction.callsToAction))\r\n cnt = this.createCallsToAction(this.props.callstoaction.callsToAction, cnt, items);\r\n\r\n if (this.props.allowReset) {\r\n //items.push(
  • );\r\n items.push(
  • \r\n \r\n
  • );\r\n }\r\n\r\n return (\r\n\r\n \r\n\r\n );\r\n \r\n }\r\n}","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v12.0.0.2)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nexport class AppControlClient {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n this.http = http ? http : window;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5001\";\r\n }\r\n\r\n getWidgetBundle(): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/app\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGetWidgetBundle(_response);\r\n });\r\n }\r\n\r\n protected processGetWidgetBundle(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getWidgetBundle2(): Promise {\r\n let url_ = this.baseUrl + \"/api/app\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGetWidgetBundle2(_response);\r\n });\r\n }\r\n\r\n protected processGetWidgetBundle2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getWidgetBundle3(company: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/app/{company}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGetWidgetBundle3(_response);\r\n });\r\n }\r\n\r\n protected processGetWidgetBundle3(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getWidgetBundle4(company: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/app/{company}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGetWidgetBundle4(_response);\r\n });\r\n }\r\n\r\n protected processGetWidgetBundle4(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n recreateWidgetBundle(): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/app/RecreateWidgetBundle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processRecreateWidgetBundle(_response);\r\n });\r\n }\r\n\r\n protected processRecreateWidgetBundle(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n recreateWidgetBundle2(): Promise {\r\n let url_ = this.baseUrl + \"/api/app/RecreateWidgetBundle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processRecreateWidgetBundle2(_response);\r\n });\r\n }\r\n\r\n protected processRecreateWidgetBundle2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n refreshAllowedDomains(): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/app/admin/RefreshAllowedDomains\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processRefreshAllowedDomains(_response);\r\n });\r\n }\r\n\r\n protected processRefreshAllowedDomains(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n refreshAllowedDomains2(): Promise {\r\n let url_ = this.baseUrl + \"/api/app/admin/RefreshAllowedDomains\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processRefreshAllowedDomains2(_response);\r\n });\r\n }\r\n\r\n protected processRefreshAllowedDomains2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n addAllowedDomain(domain: AllowedDomain): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/app/admin/AddAllowedDomain\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(domain);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processAddAllowedDomain(_response);\r\n });\r\n }\r\n\r\n protected processAddAllowedDomain(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n addAllowedDomain2(domain: AllowedDomain): Promise {\r\n let url_ = this.baseUrl + \"/api/app/admin/AddAllowedDomain\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(domain);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processAddAllowedDomain2(_response);\r\n });\r\n }\r\n\r\n protected processAddAllowedDomain2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n removeAllowedDomain(domain: AllowedDomain): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/app/admin/RemoveAllowedDomain\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(domain);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processRemoveAllowedDomain(_response);\r\n });\r\n }\r\n\r\n protected processRemoveAllowedDomain(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n removeAllowedDomain2(domain: AllowedDomain): Promise {\r\n let url_ = this.baseUrl + \"/api/app/admin/RemoveAllowedDomain\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(domain);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processRemoveAllowedDomain2(_response);\r\n });\r\n }\r\n\r\n protected processRemoveAllowedDomain2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class CallToActionControlClient {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n this.http = http ? http : window;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5001\";\r\n }\r\n\r\n get(company: string | null, actionName: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/CallToActionControl/{Company}/{ActionName}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{Company}\", encodeURIComponent(\"\" + company));\r\n if (actionName === undefined || actionName === null)\r\n throw new Error(\"The parameter 'actionName' must be defined.\");\r\n url_ = url_.replace(\"{ActionName}\", encodeURIComponent(\"\" + actionName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CallsToActionConfig.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get2(company: string | null, actionName: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/CallToActionControl/{Company}/{ActionName}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{Company}\", encodeURIComponent(\"\" + company));\r\n if (actionName === undefined || actionName === null)\r\n throw new Error(\"The parameter 'actionName' must be defined.\");\r\n url_ = url_.replace(\"{ActionName}\", encodeURIComponent(\"\" + actionName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGet2(_response);\r\n });\r\n }\r\n\r\n protected processGet2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CallsToActionConfig.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n addCallToActionConfig(company: string | null, actionName: string | null, config: CallsToActionConfig): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/CallToActionControl/AddCallsToActionConfig/{Company}/{ActionName}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{Company}\", encodeURIComponent(\"\" + company));\r\n if (actionName === undefined || actionName === null)\r\n throw new Error(\"The parameter 'actionName' must be defined.\");\r\n url_ = url_.replace(\"{ActionName}\", encodeURIComponent(\"\" + actionName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processAddCallToActionConfig(_response);\r\n });\r\n }\r\n\r\n protected processAddCallToActionConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n addCallToActionConfig2(company: string | null, actionName: string | null, config: CallsToActionConfig): Promise {\r\n let url_ = this.baseUrl + \"/api/CallToActionControl/AddCallsToActionConfig/{Company}/{ActionName}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{Company}\", encodeURIComponent(\"\" + company));\r\n if (actionName === undefined || actionName === null)\r\n throw new Error(\"The parameter 'actionName' must be defined.\");\r\n url_ = url_.replace(\"{ActionName}\", encodeURIComponent(\"\" + actionName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processAddCallToActionConfig2(_response);\r\n });\r\n }\r\n\r\n protected processAddCallToActionConfig2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateCallsToActionConfig(company: string | null, actionName: string | null, config: CallsToActionConfig): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/CallToActionControl/UpdateCallsToActionConfig/{Company}/{ActionName}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{Company}\", encodeURIComponent(\"\" + company));\r\n if (actionName === undefined || actionName === null)\r\n throw new Error(\"The parameter 'actionName' must be defined.\");\r\n url_ = url_.replace(\"{ActionName}\", encodeURIComponent(\"\" + actionName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processUpdateCallsToActionConfig(_response);\r\n });\r\n }\r\n\r\n protected processUpdateCallsToActionConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CallsToActionConfig.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateCallsToActionConfig2(company: string | null, actionName: string | null, config: CallsToActionConfig): Promise {\r\n let url_ = this.baseUrl + \"/api/CallToActionControl/UpdateCallsToActionConfig/{Company}/{ActionName}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{Company}\", encodeURIComponent(\"\" + company));\r\n if (actionName === undefined || actionName === null)\r\n throw new Error(\"The parameter 'actionName' must be defined.\");\r\n url_ = url_.replace(\"{ActionName}\", encodeURIComponent(\"\" + actionName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processUpdateCallsToActionConfig2(_response);\r\n });\r\n }\r\n\r\n protected processUpdateCallsToActionConfig2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CallsToActionConfig.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class SectionControlClient {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n this.http = http ? http : window;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"https://localhost:5001\";\r\n }\r\n\r\n get(company: string | null, family: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/SectionControl/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberInitResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n get2(company: string | null, family: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/SectionControl/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGet2(_response);\r\n });\r\n }\r\n\r\n protected processGet2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberInitResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getValidPartNumbers(company: string | null, family: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/SectionControl/GetValidPartNumbers/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGetValidPartNumbers(_response);\r\n });\r\n }\r\n\r\n protected processGetValidPartNumbers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberInitResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n getValidPartNumbers2(company: string | null, family: string | null): Promise {\r\n let url_ = this.baseUrl + \"/api/SectionControl/GetValidPartNumbers/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processGetValidPartNumbers2(_response);\r\n });\r\n }\r\n\r\n protected processGetValidPartNumbers2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberInitResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateItems(company: string | null, family: string | null, updateRequest: PartNumberUpdateRequest): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/SectionControl/UpdateItems/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(updateRequest);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processUpdateItems(_response);\r\n });\r\n }\r\n\r\n protected processUpdateItems(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberUpdateResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updateItems2(company: string | null, family: string | null, updateRequest: PartNumberUpdateRequest): Promise {\r\n let url_ = this.baseUrl + \"/api/SectionControl/UpdateItems/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(updateRequest);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processUpdateItems2(_response);\r\n });\r\n }\r\n\r\n protected processUpdateItems2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberUpdateResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n addPartConfig(company: string | null, family: string | null, init: PartNumberInit): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/SectionControl/AddPartConfig/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(init);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processAddPartConfig(_response);\r\n });\r\n }\r\n\r\n protected processAddPartConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n addPartConfig2(company: string | null, family: string | null, init: PartNumberInit): Promise {\r\n let url_ = this.baseUrl + \"/api/SectionControl/AddPartConfig/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(init);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processAddPartConfig2(_response);\r\n });\r\n }\r\n\r\n protected processAddPartConfig2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updatePartConfig(company: string | null, family: string | null, init: PartNumberInit): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/SectionControl/UpdatePartConfig/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(init);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processUpdatePartConfig(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePartConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberInit.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n updatePartConfig2(company: string | null, family: string | null, init: PartNumberInit): Promise {\r\n let url_ = this.baseUrl + \"/api/SectionControl/UpdatePartConfig/{company}/{family}\";\r\n if (company === undefined || company === null)\r\n throw new Error(\"The parameter 'company' must be defined.\");\r\n url_ = url_.replace(\"{company}\", encodeURIComponent(\"\" + company));\r\n if (family === undefined || family === null)\r\n throw new Error(\"The parameter 'family' must be defined.\");\r\n url_ = url_.replace(\"{family}\", encodeURIComponent(\"\" + family));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(init);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.http.fetch(url_, options_).then((_response: Response) => {\r\n return this.processUpdatePartConfig2(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePartConfig2(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PartNumberInit.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n extensions?: { [key: string]: any; } | undefined;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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 this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n if (_data[\"extensions\"]) {\r\n this.extensions = {} as any;\r\n for (let key in _data[\"extensions\"]) {\r\n if (_data[\"extensions\"].hasOwnProperty(key))\r\n (this.extensions)![key] = _data[\"extensions\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\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 data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n if (this.extensions) {\r\n data[\"extensions\"] = {};\r\n for (let key in this.extensions) {\r\n if (this.extensions.hasOwnProperty(key))\r\n (data[\"extensions\"])[key] = this.extensions[key];\r\n }\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n extensions?: { [key: string]: any; } | undefined;\r\n}\r\n\r\nexport class AllowedDomain implements IAllowedDomain {\r\n company?: string | undefined;\r\n domain?: string | undefined;\r\n\r\n constructor(data?: IAllowedDomain) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.company = _data[\"company\"];\r\n this.domain = _data[\"domain\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AllowedDomain {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AllowedDomain();\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[\"company\"] = this.company;\r\n data[\"domain\"] = this.domain;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IAllowedDomain {\r\n company?: string | undefined;\r\n domain?: string | undefined;\r\n}\r\n\r\nexport class CallsToActionConfig implements ICallsToActionConfig {\r\n lastModified?: string | undefined;\r\n callsToAction?: CallToAction[] | undefined;\r\n\r\n constructor(data?: ICallsToActionConfig) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lastModified = _data[\"lastModified\"];\r\n if (Array.isArray(_data[\"callsToAction\"])) {\r\n this.callsToAction = [] as any;\r\n for (let item of _data[\"callsToAction\"])\r\n this.callsToAction!.push(CallToAction.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CallsToActionConfig {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CallsToActionConfig();\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[\"lastModified\"] = this.lastModified;\r\n if (Array.isArray(this.callsToAction)) {\r\n data[\"callsToAction\"] = [];\r\n for (let item of this.callsToAction)\r\n data[\"callsToAction\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICallsToActionConfig {\r\n lastModified?: string | undefined;\r\n callsToAction?: CallToAction[] | undefined;\r\n}\r\n\r\nexport class CallToAction implements ICallToAction {\r\n buttonLabel?: string | undefined;\r\n description?: string | undefined;\r\n type?: string | undefined;\r\n config?: string | undefined;\r\n\r\n constructor(data?: ICallToAction) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.buttonLabel = _data[\"buttonLabel\"];\r\n this.description = _data[\"description\"];\r\n this.type = _data[\"type\"];\r\n this.config = _data[\"config\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CallToAction {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CallToAction();\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[\"buttonLabel\"] = this.buttonLabel;\r\n data[\"description\"] = this.description;\r\n data[\"type\"] = this.type;\r\n data[\"config\"] = this.config;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface ICallToAction {\r\n buttonLabel?: string | undefined;\r\n description?: string | undefined;\r\n type?: string | undefined;\r\n config?: string | undefined;\r\n}\r\n\r\nexport class PartNumberInitResponse implements IPartNumberInitResponse {\r\n lastModified?: string | undefined;\r\n partNumberSections?: PartNumberInitSectionResponse[] | undefined;\r\n\r\n constructor(data?: IPartNumberInitResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lastModified = _data[\"lastModified\"];\r\n if (Array.isArray(_data[\"partNumberSections\"])) {\r\n this.partNumberSections = [] as any;\r\n for (let item of _data[\"partNumberSections\"])\r\n this.partNumberSections!.push(PartNumberInitSectionResponse.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberInitResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberInitResponse();\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[\"lastModified\"] = this.lastModified;\r\n if (Array.isArray(this.partNumberSections)) {\r\n data[\"partNumberSections\"] = [];\r\n for (let item of this.partNumberSections)\r\n data[\"partNumberSections\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberInitResponse {\r\n lastModified?: string | undefined;\r\n partNumberSections?: PartNumberInitSectionResponse[] | undefined;\r\n}\r\n\r\nexport class PartNumberInitSectionResponse implements IPartNumberInitSectionResponse {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n info?: string | undefined;\r\n type?: string | undefined;\r\n enabled!: boolean;\r\n hideInvalidOptions!: boolean;\r\n items?: PartNumberInitSectionItemResponse[] | undefined;\r\n value?: string | undefined;\r\n selectedIndex!: number;\r\n\r\n constructor(data?: IPartNumberInitSectionResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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.description = _data[\"description\"];\r\n this.info = _data[\"info\"];\r\n this.type = _data[\"type\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.hideInvalidOptions = _data[\"hideInvalidOptions\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(PartNumberInitSectionItemResponse.fromJS(item));\r\n }\r\n this.value = _data[\"value\"];\r\n this.selectedIndex = _data[\"selectedIndex\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberInitSectionResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberInitSectionResponse();\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[\"description\"] = this.description;\r\n data[\"info\"] = this.info;\r\n data[\"type\"] = this.type;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"hideInvalidOptions\"] = this.hideInvalidOptions;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"value\"] = this.value;\r\n data[\"selectedIndex\"] = this.selectedIndex;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberInitSectionResponse {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n info?: string | undefined;\r\n type?: string | undefined;\r\n enabled: boolean;\r\n hideInvalidOptions: boolean;\r\n items?: PartNumberInitSectionItemResponse[] | undefined;\r\n value?: string | undefined;\r\n selectedIndex: number;\r\n}\r\n\r\nexport class PartNumberInitSectionItemResponse implements IPartNumberInitSectionItemResponse {\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n enabled!: boolean;\r\n selected!: boolean;\r\n\r\n constructor(data?: IPartNumberInitSectionItemResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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 this.description = _data[\"description\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberInitSectionItemResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberInitSectionItemResponse();\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 data[\"description\"] = this.description;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"selected\"] = this.selected;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberInitSectionItemResponse {\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n enabled: boolean;\r\n selected: boolean;\r\n}\r\n\r\nexport class PartNumberUpdateResponse implements IPartNumberUpdateResponse {\r\n partNumberSections?: PartNumberUpdateSectionResponse[] | undefined;\r\n\r\n constructor(data?: IPartNumberUpdateResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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[\"partNumberSections\"])) {\r\n this.partNumberSections = [] as any;\r\n for (let item of _data[\"partNumberSections\"])\r\n this.partNumberSections!.push(PartNumberUpdateSectionResponse.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberUpdateResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberUpdateResponse();\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.partNumberSections)) {\r\n data[\"partNumberSections\"] = [];\r\n for (let item of this.partNumberSections)\r\n data[\"partNumberSections\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberUpdateResponse {\r\n partNumberSections?: PartNumberUpdateSectionResponse[] | undefined;\r\n}\r\n\r\nexport class PartNumberUpdateSectionResponse implements IPartNumberUpdateSectionResponse {\r\n enabled!: boolean;\r\n value?: string | undefined;\r\n items?: PartNumberUpdateSectionItemResponse[] | undefined;\r\n selectedIndex!: number;\r\n\r\n constructor(data?: IPartNumberUpdateSectionResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.value = _data[\"value\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(PartNumberUpdateSectionItemResponse.fromJS(item));\r\n }\r\n this.selectedIndex = _data[\"selectedIndex\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberUpdateSectionResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberUpdateSectionResponse();\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[\"enabled\"] = this.enabled;\r\n data[\"value\"] = this.value;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"selectedIndex\"] = this.selectedIndex;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberUpdateSectionResponse {\r\n enabled: boolean;\r\n value?: string | undefined;\r\n items?: PartNumberUpdateSectionItemResponse[] | undefined;\r\n selectedIndex: number;\r\n}\r\n\r\nexport class PartNumberUpdateSectionItemResponse implements IPartNumberUpdateSectionItemResponse {\r\n enabled!: boolean;\r\n selected!: boolean;\r\n\r\n constructor(data?: IPartNumberUpdateSectionItemResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberUpdateSectionItemResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberUpdateSectionItemResponse();\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[\"enabled\"] = this.enabled;\r\n data[\"selected\"] = this.selected;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberUpdateSectionItemResponse {\r\n enabled: boolean;\r\n selected: boolean;\r\n}\r\n\r\nexport class PartNumberUpdateRequest implements IPartNumberUpdateRequest {\r\n lastModified?: string | undefined;\r\n partNumberSections?: PartNumberSectionUpdateRequest[] | undefined;\r\n\r\n constructor(data?: IPartNumberUpdateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lastModified = _data[\"lastModified\"];\r\n if (Array.isArray(_data[\"partNumberSections\"])) {\r\n this.partNumberSections = [] as any;\r\n for (let item of _data[\"partNumberSections\"])\r\n this.partNumberSections!.push(PartNumberSectionUpdateRequest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberUpdateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberUpdateRequest();\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[\"lastModified\"] = this.lastModified;\r\n if (Array.isArray(this.partNumberSections)) {\r\n data[\"partNumberSections\"] = [];\r\n for (let item of this.partNumberSections)\r\n data[\"partNumberSections\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberUpdateRequest {\r\n lastModified?: string | undefined;\r\n partNumberSections?: PartNumberSectionUpdateRequest[] | undefined;\r\n}\r\n\r\nexport class PartNumberSectionUpdateRequest implements IPartNumberSectionUpdateRequest {\r\n name?: string | undefined;\r\n selectedIndex!: number;\r\n value?: string | undefined;\r\n\r\n constructor(data?: IPartNumberSectionUpdateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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.selectedIndex = _data[\"selectedIndex\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberSectionUpdateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberSectionUpdateRequest();\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[\"selectedIndex\"] = this.selectedIndex;\r\n data[\"value\"] = this.value;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberSectionUpdateRequest {\r\n name?: string | undefined;\r\n selectedIndex: number;\r\n value?: string | undefined;\r\n}\r\n\r\nexport class PartNumberInit implements IPartNumberInit {\r\n lastModified?: string | undefined;\r\n partNumberSections?: PartNumberSection[] | undefined;\r\n\r\n constructor(data?: IPartNumberInit) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lastModified = _data[\"lastModified\"];\r\n if (Array.isArray(_data[\"partNumberSections\"])) {\r\n this.partNumberSections = [] as any;\r\n for (let item of _data[\"partNumberSections\"])\r\n this.partNumberSections!.push(PartNumberSection.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberInit {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberInit();\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[\"lastModified\"] = this.lastModified;\r\n if (Array.isArray(this.partNumberSections)) {\r\n data[\"partNumberSections\"] = [];\r\n for (let item of this.partNumberSections)\r\n data[\"partNumberSections\"].push(item.toJSON());\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberInit {\r\n lastModified?: string | undefined;\r\n partNumberSections?: PartNumberSection[] | undefined;\r\n}\r\n\r\nexport class PartNumberSection implements IPartNumberSection {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n info?: string | undefined;\r\n type?: string | undefined;\r\n enabled?: string | undefined;\r\n format?: string | undefined;\r\n increment?: string | undefined;\r\n incrementMin?: string | undefined;\r\n min?: string | undefined;\r\n minMin?: string | undefined;\r\n max?: string | undefined;\r\n maxMax?: string | undefined;\r\n hideInvalidOptions!: boolean;\r\n items?: PartNumberSectionItem[] | undefined;\r\n defaultValue?: string | undefined;\r\n value?: string | undefined;\r\n evalValues?: { [key: string]: string; } | undefined;\r\n evalValueResults?: { [key: string]: number; } | undefined;\r\n\r\n constructor(data?: IPartNumberSection) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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.description = _data[\"description\"];\r\n this.info = _data[\"info\"];\r\n this.type = _data[\"type\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.format = _data[\"format\"];\r\n this.increment = _data[\"increment\"];\r\n this.incrementMin = _data[\"incrementMin\"];\r\n this.min = _data[\"min\"];\r\n this.minMin = _data[\"minMin\"];\r\n this.max = _data[\"max\"];\r\n this.maxMax = _data[\"maxMax\"];\r\n this.hideInvalidOptions = _data[\"hideInvalidOptions\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(PartNumberSectionItem.fromJS(item));\r\n }\r\n this.defaultValue = _data[\"defaultValue\"];\r\n this.value = _data[\"value\"];\r\n if (_data[\"evalValues\"]) {\r\n this.evalValues = {} as any;\r\n for (let key in _data[\"evalValues\"]) {\r\n if (_data[\"evalValues\"].hasOwnProperty(key))\r\n (this.evalValues)![key] = _data[\"evalValues\"][key];\r\n }\r\n }\r\n if (_data[\"evalValueResults\"]) {\r\n this.evalValueResults = {} as any;\r\n for (let key in _data[\"evalValueResults\"]) {\r\n if (_data[\"evalValueResults\"].hasOwnProperty(key))\r\n (this.evalValueResults)![key] = _data[\"evalValueResults\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberSection {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberSection();\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[\"description\"] = this.description;\r\n data[\"info\"] = this.info;\r\n data[\"type\"] = this.type;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"format\"] = this.format;\r\n data[\"increment\"] = this.increment;\r\n data[\"incrementMin\"] = this.incrementMin;\r\n data[\"min\"] = this.min;\r\n data[\"minMin\"] = this.minMin;\r\n data[\"max\"] = this.max;\r\n data[\"maxMax\"] = this.maxMax;\r\n data[\"hideInvalidOptions\"] = this.hideInvalidOptions;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"defaultValue\"] = this.defaultValue;\r\n data[\"value\"] = this.value;\r\n if (this.evalValues) {\r\n data[\"evalValues\"] = {};\r\n for (let key in this.evalValues) {\r\n if (this.evalValues.hasOwnProperty(key))\r\n (data[\"evalValues\"])[key] = this.evalValues[key];\r\n }\r\n }\r\n if (this.evalValueResults) {\r\n data[\"evalValueResults\"] = {};\r\n for (let key in this.evalValueResults) {\r\n if (this.evalValueResults.hasOwnProperty(key))\r\n (data[\"evalValueResults\"])[key] = this.evalValueResults[key];\r\n }\r\n }\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberSection {\r\n name?: string | undefined;\r\n description?: string | undefined;\r\n info?: string | undefined;\r\n type?: string | undefined;\r\n enabled?: string | undefined;\r\n format?: string | undefined;\r\n increment?: string | undefined;\r\n incrementMin?: string | undefined;\r\n min?: string | undefined;\r\n minMin?: string | undefined;\r\n max?: string | undefined;\r\n maxMax?: string | undefined;\r\n hideInvalidOptions: boolean;\r\n items?: PartNumberSectionItem[] | undefined;\r\n defaultValue?: string | undefined;\r\n value?: string | undefined;\r\n evalValues?: { [key: string]: string; } | undefined;\r\n evalValueResults?: { [key: string]: number; } | undefined;\r\n}\r\n\r\nexport class PartNumberSectionItem implements IPartNumberSectionItem {\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n enabled?: string | undefined;\r\n selected!: boolean;\r\n\r\n constructor(data?: IPartNumberSectionItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (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 this.description = _data[\"description\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartNumberSectionItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartNumberSectionItem();\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 data[\"description\"] = this.description;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"selected\"] = this.selected;\r\n return data; \r\n }\r\n}\r\n\r\nexport interface IPartNumberSectionItem {\r\n value?: string | undefined;\r\n description?: string | undefined;\r\n enabled?: string | undefined;\r\n selected: boolean;\r\n}\r\n\r\nexport class ApiException extends Error {\r\n 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): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}","// ReSharper disable once UnusedLocalImport\r\nimport React, { Component, ChangeEvent, FormEvent, KeyboardEvent } from \"react\";\r\nimport {\r\n Form, FormGroup, Label, Input, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, UncontrolledTooltip\r\n} from \"reactstrap\";\r\n//import ReactBootstrapSlider, { SliderChangeEvent } from 'react-bootstrap-slider';\r\nimport PartResult from \"./partResult\";\r\n// import \"./partBuilder.css\"\r\n//import \"../../node_modules/react-bootstrap-slider/src/css/bootstrap-slider.min.css\";\r\nimport * as PartNumberAPI from \"../services/PartNumberAPI\"\r\nimport { Action } from \"redux\";\r\nimport { RSA_NO_PADDING } from \"constants\";\r\nimport { request } from \"http\";\r\nimport { isUndefined } from \"util\";\r\n\r\n\r\ntype State = {\r\n sections: PartNumberAPI.PartNumberInitResponse | undefined, \r\n calltoactionconfig: PartNumberAPI.CallsToActionConfig | undefined, \r\n dropdownOpen: boolean,\r\n popoverOpen: number,\r\n failed2LoadFamily: boolean,\r\n failed2LoadCallToAction: boolean,\r\n menuFilter: string\r\n}\r\n\r\ntype Props = {\r\n family: string;\r\n Company: string;\r\n CallToAction: string | undefined;\r\n disableC2A: boolean;\r\n allowReset: boolean;\r\n ApiUrl: string;\r\n UseValueAndDescription: boolean;\r\n}\r\n\r\n\r\nexport class PartBuilder extends Component {\r\n state: State = {\r\n dropdownOpen: false,\r\n popoverOpen: -1,\r\n sections: undefined,\r\n calltoactionconfig: undefined,\r\n failed2LoadFamily: false,\r\n failed2LoadCallToAction: false,\r\n menuFilter: \"\"\r\n }\r\n\r\n content: any;\r\n\r\n menuFilterOnChange = (e: ChangeEvent) => {\r\n const element = e.target;\r\n if (element) {\r\n this.setState({ menuFilter: element.value });\r\n }\r\n\r\n }\r\n\r\n menuFilterOnKeyDown = (e: KeyboardEvent) => {\r\n const element = e.target;\r\n if (element) {\r\n if (e.key === \"Enter\") {\r\n var itemIdx = -1;\r\n var sections = this.state.sections;\r\n\r\n if (isUndefined(sections) ||\r\n isUndefined(sections.partNumberSections) ||\r\n sections.partNumberSections.length < this.state.popoverOpen ||\r\n isUndefined(sections.partNumberSections[this.state.popoverOpen].items))\r\n return;\r\n\r\n var items = sections.partNumberSections[this.state.popoverOpen].items;\r\n\r\n if (isUndefined(items))\r\n return;\r\n\r\n var value = this.state.menuFilter;\r\n\r\n for (var i = 0; i < items.length; i++) {\r\n if (!items[i].enabled)\r\n continue;\r\n\r\n if (!isUndefined(items[i]) && !isUndefined(items[i].description)) {\r\n\r\n const description = items[i].description;\r\n\r\n if (description === this.state.menuFilter) {\r\n itemIdx = i;\r\n break;\r\n }\r\n else if (description != undefined && description.includes(this.state.menuFilter)) {\r\n if (itemIdx !== -1) // if this is not the first partially matching item we can break here\r\n {\r\n itemIdx = -1;\r\n break;\r\n }\r\n itemIdx = i;\r\n value = description;\r\n }\r\n }\r\n \r\n }\r\n if ( itemIdx !== -1 )\r\n this.updatePartNumberSections(this.state.popoverOpen, itemIdx, value);\r\n }\r\n }\r\n }\r\n\r\n updatePartNumberSections = (sectionidx: number, itemidx: number, value: string) => {\r\n var sections = this.state.sections;\r\n\r\n if (sectionidx === -1 ||\r\n isUndefined(sections) ||\r\n isUndefined(sections.partNumberSections) ||\r\n sections.partNumberSections.length < sectionidx ||\r\n isUndefined(sections.partNumberSections[sectionidx].items))\r\n return;\r\n\r\n var items = sections.partNumberSections[sectionidx].items;\r\n sections.partNumberSections[sectionidx].value = value;\r\n\r\n sections.partNumberSections[sectionidx].selectedIndex = itemidx;\r\n\r\n if (!isUndefined(items)) {\r\n items.forEach(function (item) {\r\n if (!isUndefined(item)) {\r\n if (item.description === value)\r\n item.selected = true;\r\n else\r\n item.selected = false;\r\n }\r\n });\r\n }\r\n\r\n var request = new PartNumberAPI.PartNumberUpdateRequest();\r\n request.lastModified = sections.lastModified;\r\n request.partNumberSections = [];\r\n\r\n\r\n sections.partNumberSections.forEach(function (section) {\r\n if (!isUndefined(section) && !isUndefined(section.name) && !isUndefined(request.partNumberSections)) {\r\n request.partNumberSections.push(new PartNumberAPI.PartNumberSectionUpdateRequest({\r\n name: section.name,\r\n selectedIndex: section.selectedIndex\r\n }));\r\n }\r\n });\r\n\r\n var client = new PartNumberAPI.SectionControlClient(this.props.ApiUrl);\r\n client.updateItems(this.props.Company, this.props.family, request).then(Response => {\r\n if (!isUndefined(Response.partNumberSections) && !isUndefined(sections)) {\r\n for (var i = 0; i < Response.partNumberSections.length; i++) {\r\n if (!isUndefined(Response.partNumberSections[i]) &&\r\n !isUndefined(Response.partNumberSections[i].items) &&\r\n !isUndefined(sections.partNumberSections) &&\r\n !isUndefined(sections.partNumberSections[i])) {\r\n sections.partNumberSections[i].enabled = Response.partNumberSections[i].enabled;\r\n sections.partNumberSections[i].value = Response.partNumberSections[i].value;\r\n sections.partNumberSections[i].selectedIndex = Response.partNumberSections[i].selectedIndex;\r\n let itemsResponse = Response.partNumberSections[i].items;\r\n var items = sections.partNumberSections[i].items;\r\n if (!isUndefined(itemsResponse) && !isUndefined(items)) {\r\n for (var j = 0; j < itemsResponse.length; j++) {\r\n items[j].enabled = itemsResponse[j].enabled;\r\n items[j].selected = itemsResponse[j].selected;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.setState({ sections: sections });\r\n }).catch(Reason => {\r\n this.initPartNumber();\r\n });\r\n\r\n\r\n //this.setState(update);\r\n this.toggle(-1)\r\n }\r\n\r\n handleInputChange = (e: ChangeEvent) => {\r\n const element = e.target;\r\n if (element) {\r\n var itemIdx = 0;\r\n var indexAttr = element.getAttribute(\"index\");\r\n if (indexAttr != null)\r\n itemIdx = +indexAttr;\r\n\r\n this.updatePartNumberSections(this.state.popoverOpen, itemIdx, element.value);\r\n }\r\n }\r\n\r\n \r\n\r\n handleSubmit = (e: FormEvent) => {\r\n e.preventDefault();\r\n }\r\n\r\n /*\r\n changeFrequencyValue = (event: any) => {\r\n console.log(event.target.value);\r\n this.setState({\r\n frequency: event.target.value\r\n });\r\n }*/\r\n\r\n toggle = (popover: number) => {\r\n var sections = this.state.sections;\r\n\r\n if (popover !== -1 && (isUndefined(sections) ||\r\n isUndefined(sections.partNumberSections) ||\r\n sections.partNumberSections.length < popover ||\r\n !sections.partNumberSections[popover].enabled) )\r\n return;\r\n\r\n this.setState({\r\n popoverOpen: popover,\r\n menuFilter: \"\"\r\n });\r\n }\r\n\r\n onReset = () => {\r\n this.initPartNumber();\r\n }\r\n\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n sections: undefined,\r\n calltoactionconfig: undefined,\r\n failed2LoadFamily: false,\r\n failed2LoadCallToAction: false,\r\n dropdownOpen: false,\r\n popoverOpen: -1,\r\n menuFilter: \"\"\r\n };\r\n this.content =

    Loading

    ;\r\n }\r\n\r\n\r\n createSectionCheckBoxes = (section: PartNumberAPI.PartNumberInitSectionItemResponse[], filter: string, hideInvalidOptions: boolean) => {\r\n return Object.keys(section).map((key, index) => {\r\n const value = section[key as any];\r\n\r\n if (hideInvalidOptions && !value.enabled)\r\n return null;\r\n \r\n if (!isUndefined(filter) && filter !== \"\" && !isUndefined(value.description)) {\r\n if (!value.description.includes(filter))\r\n return null;\r\n }\r\n let className = (!isUndefined(value.description) && value.description.length === 0) ? \"bz-pb-hidden\" : \"\";\r\n if (value.selected) {\r\n className += \" checked\";\r\n }\r\n if (!value.enabled) {\r\n className += \" disabled\";\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n }\r\n\r\n\r\n createSections = (sections: PartNumberAPI.PartNumberInitSectionResponse[]) => {\r\n\r\n return Object.keys(sections).map((key, index) => {\r\n\r\n const item = Number(key);\r\n const section = sections[key as any];\r\n\r\n\r\n\r\n var items = (section.items != null) ? this.createSectionCheckBoxes(section.items, section.type === \"ValueRange\"?this.state.menuFilter:\"\", section.hideInvalidOptions) :
    ;\r\n //let className = value.name.length === 0 ? \"hidden\" : \"\";\r\n\r\n // this.toggle(Popovers.None)}>\r\n if (section.type === \"Text\" ) {\r\n return (\r\n
    \r\n this.toggle(item)} key={`bz-pb-iteminput${item}`} disabled={!section.enabled} >\r\n {section.items !== undefined && section.items.length > 1 ?\r\n this.toggle(-1)} disabled={!section.enabled} >\r\n \r\n \r\n \r\n {section.description ? section.description : section.name}\r\n
    {items}
    \r\n
    \r\n
    \r\n :null}\r\n
    \r\n {(!section.enabled && section.info != undefined && section.info.length > 0) ? {section.info} : null}\r\n
    \r\n );\r\n }\r\n \r\n else if (section.type === \"ValueRange\")\r\n {\r\n return (\r\n
    \r\n this.toggle(item)} key={`bz-pb-iteminput${item}`} >\r\n {section.enabled?\r\n this.toggle(-1)} disabled={!section.enabled} >\r\n \r\n \r\n \r\n \r\n
    {items}
    \r\n
    \r\n
    \r\n :\r\n null\r\n }\r\n
    \r\n { (!section.enabled && section.info != undefined && section.info.length > 0) ? {section.info} : null}\r\n
    \r\n );\r\n }\r\n else\r\n return (
    );\r\n });\r\n }\r\n\r\n initPartNumber() {\r\n const client = new PartNumberAPI.SectionControlClient(this.props.ApiUrl);\r\n client.get(this.props.Company, this.props.family).then(Response => {\r\n this.setState({ sections: Response, failed2LoadFamily: Response ? false : true });\r\n }).catch(Reason => {\r\n this.setState({ failed2LoadFamily: true });\r\n });\r\n }\r\n\r\n initCallToAction() {\r\n if (!isUndefined(this.props.CallToAction) && !isUndefined(this.props.Company)) {\r\n const client = new PartNumberAPI.CallToActionControlClient(this.props.ApiUrl);\r\n client.get(this.props.Company, this.props.CallToAction).then(Response => {\r\n this.setState({ calltoactionconfig: Response, failed2LoadCallToAction: Response ? false : true });\r\n }).catch(Reason => {\r\n this.setState({ failed2LoadCallToAction: true });\r\n });\r\n }\r\n }\r\n\r\n\r\n \r\n componentDidMount() {\r\n this.initPartNumber();\r\n this.initCallToAction();\r\n }\r\n\r\n render() { \r\n if (!isUndefined(this.state.sections) && !isUndefined(this.state.sections.partNumberSections) && (isUndefined(this.props.CallToAction) || !isUndefined(this.state.calltoactionconfig))) {\r\n var sections = this.createSections(this.state.sections.partNumberSections);\r\n\r\n return (
    \r\n this.onReset()} disableC2A={this.props.disableC2A}/>\r\n
    \r\n {sections}\r\n
    \r\n
    \r\n );\r\n }\r\n else if (this.state.failed2LoadFamily)\r\n {\r\n return (

    Failed to load data for part family \"{this.props.family}\"!

    );\r\n }\r\n else if (this.state.failed2LoadCallToAction)\r\n {\r\n return (

    Failed to load call to action config for action \"{this.props.CallToAction}\"!

    );\r\n }\r\n else\r\n return (

    Loading

    );\r\n }\r\n}","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","// ReSharper disable once UnusedLocalImport\r\nimport './bootstrap-clean.css';\r\nimport React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport { PartBuilder } from './components/partBuilder';\r\n//import './App.css';\r\nimport { withRouter } from \"react-router\";\r\nimport PropTypes from \"prop-types\";\r\nimport { config } from 'process';\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as QueryString from \"query-string\";\r\nimport { CallToAction } from './services/PartNumberAPI';\r\nimport { isUndefined } from 'util';\r\n\r\nclass App extends Component { \r\n render() { \r\n const partBuilderApi = process.env.REACT_APP_PART_NUMBER_API || \"https://localhost:5001\"; \r\n const { location } = this.props; \r\n\r\n let family = \"\";\r\n if (location.pathname.indexOf('/') == 0)\r\n family = location.pathname.substring(1);\r\n if (family === \"\")\r\n family = \"eta\";\r\n\r\n const params = QueryString.parse(location.search);\r\n var callToAction = undefined;\r\n if (params.CallToAction != null) {\r\n if ( Array.isArray(params.CallToAction) ) \r\n callToAction = params.CallToAction[0]; \r\n else\r\n callToAction = params.CallToAction;\r\n\r\n }\r\n\r\n var company = \"undefined\";\r\n if (params.Company != null) {\r\n if (Array.isArray(params.Company))\r\n company = params.Company[0];\r\n else\r\n company = params.Company;\r\n\r\n }\r\n\r\n var allowReset = false;\r\n if (params.AllowReset != null) {\r\n if (Array.isArray(params.AllowReset))\r\n allowReset = params.AllowReset[0].toLowerCase() === \"true\";\r\n else if (typeof (params.AllowReset) === \"string\" )\r\n allowReset = params.AllowReset.toLowerCase() === \"true\";\r\n }\r\n\r\n var useValueAndDescription = false;\r\n if (params.UseValueAndDescription != null) {\r\n if (Array.isArray(params.UseValueAndDescription))\r\n useValueAndDescription = params.UseValueAndDescription[0].toLowerCase() === \"true\";\r\n else if (typeof (params.UseValueAndDescription) === \"string\")\r\n useValueAndDescription = params.UseValueAndDescription.toLowerCase() === \"true\";\r\n }\r\n\r\n var disableC2A = false;\r\n if (params.DisableC2A != null) {\r\n if (Array.isArray(params.DisableC2A))\r\n disableC2A = params.DisableC2A[0].toLowerCase() === \"true\";\r\n else if (typeof (params.DisableC2A) === \"string\")\r\n disableC2A = params.DisableC2A.toLowerCase() === \"true\";\r\n }\r\n\r\n\r\n return (\r\n \r\n
    \r\n
    Part Builder
    \r\n
    Quickly find the order-able part number with our online part builder.
    \r\n
    \r\n \r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(App);\r\n//export default App;","// import \"bootstrap/dist/css/bootstrap.css\";\r\nimport './bootstrap-clean.css';\r\n// ReSharper disable once UnusedLocalImport\r\nimport React, { Component } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n// import \"./index.css\";\r\nimport { PartBuilder } from \"./components/partBuilder\";\r\nimport { isNull, isUndefined } from \"util\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport App from \"./App\"\r\nimport { BrowserRouter as Router } from \"react-router-dom\";\r\n\r\ntype Props = {\r\n domElement: Element|null; \r\n}\r\n\r\nclass Widget extends Component {\r\n render() { \r\n const partBuilderApi = process.env.REACT_APP_PART_NUMBER_API || \"https://localhost:5001\";\r\n let family = \"eta\";\r\n let company = \"undefined\";\r\n let callToAction = undefined;\r\n let allowReset = false;\r\n let useValueAndDescription = false;\r\n let disableC2A = false;\r\n if (!isNull(this.props.domElement)) {\r\n const attrCompany = this.props.domElement.getAttribute(\"Company\");\r\n if (!isNull(attrCompany))\r\n company = attrCompany;\r\n\r\n const attrFamily = this.props.domElement.getAttribute(\"Family\");\r\n if (!isNull(attrFamily))\r\n family = attrFamily;\r\n\r\n const attrCallToAction = this.props.domElement.getAttribute(\"CallToAction\");\r\n if (!isNull(attrCallToAction))\r\n callToAction = attrCallToAction;\r\n\r\n const attrAllowReset = this.props.domElement.getAttribute(\"AllowReset\");\r\n if (!isNull(attrAllowReset))\r\n allowReset = attrAllowReset.toLowerCase() === \"true\";\r\n\r\n const attrValueAndDescription = this.props.domElement.getAttribute(\"UseValueAndDescription\");\r\n if (!isNull(attrValueAndDescription))\r\n useValueAndDescription = attrValueAndDescription.toLowerCase() === \"true\";\r\n\r\n const attrDisbaleC2A = this.props.domElement.getAttribute(\"DisableC2A\");\r\n if (!isNull(attrDisbaleC2A))\r\n disableC2A = attrDisbaleC2A.toLowerCase() === \"true\";\r\n\r\n } \r\n return ( \r\n \r\n );\r\n }\r\n}\r\n\r\nconst widgetDivs = document.querySelectorAll(\".bz-part-builder-container\");\r\n\r\n\r\nif (widgetDivs.length > 0) {\r\n // Inject our React App into each\r\n widgetDivs.forEach(div => {\r\n const attrFamily = div.getAttribute(\"Family\");\r\n if (!isNull(attrFamily)) {\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n div\r\n );\r\n } else {\r\n ReactDOM.render(, div);\r\n }\r\n });\r\n} else {\r\n ReactDOM.render(, document.getElementById('root'));\r\n}\r\n\r\n/*\r\n// Inject our React App into each\r\nwidgetDivs.forEach(div => {\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n div\r\n );\r\n});\r\n*/\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}