{"version":3,"file":"components/chunks/chunk-num-17.27f043c15d9cf2f94bdd.js","mappings":"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","sources":["webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/configuration/audiogram-data.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/utilities/audiogram-utils.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/audiogram-graph.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/audiogram-text-input.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/audiogram-table.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/audiogram.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-audiogram.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/color-slider.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-color-selector.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-order-service-decides-checkbox.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-dropdown.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-radio-box.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-image-controller.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-collapsible-pane.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-tabbed-pane.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/add-to-cart-client-orders-button.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/utilities/datetime-utils.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-orders-add-favourite-dialog.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/client-order-step2-spot.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/client-orders/client-order-remove-from-cart-modal.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/sticky-header.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/bulk-order/accordion.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/utilities/client-orders-utils.js"],"sourcesContent":["/* eslint-disable */ // Data file, so no eslint needed\nvar AudiogramGraphData = [{\n id: 0,\n color: '#ccc',\n width: '1',\n label: '0',\n lineFrom: 0,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 1,\n color: '#e1e1e1',\n width: '2',\n label: '125',\n lineFrom: 20,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 2,\n color: '#e1e1e1',\n width: '2',\n label: '250',\n lineFrom: 66,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 3,\n color: '#e1e1e1',\n width: '2',\n label: '0',\n lineFrom: 112,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 4,\n color: '#e1e1e1',\n width: '2',\n label: '500',\n lineFrom: 112,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 5,\n color: '#e1e1e1',\n width: '2',\n label: 'no',\n lineFrom: 140,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 6,\n color: '#e1e1e1',\n width: '2',\n label: '750',\n lineFrom: 135,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dash: '3,3',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 7,\n color: '#e1e1e1',\n width: '2',\n label: '1k',\n lineFrom: 158,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 8,\n color: '#e1e1e1',\n width: '2',\n label: '1.5k',\n lineFrom: 181,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dash: '3,3',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 9,\n color: '#e1e1e1',\n width: '2',\n label: '2k',\n lineFrom: 204,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 10,\n color: '#e1e1e1',\n width: '2',\n label: '3k',\n lineFrom: 227,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dash: '3,3',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 11,\n color: '#e1e1e1',\n width: '2',\n label: '4k',\n lineFrom: 250,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 12,\n color: '#e1e1e1',\n width: '2',\n label: '6k',\n lineFrom: 273,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dash: '3,3',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 13,\n color: '#e1e1e1',\n width: '2',\n label: '8k',\n lineFrom: 296,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 14,\n color: '#e1e1e1',\n width: '2',\n label: 'no',\n lineFrom: -93.33333333333333,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle'\n}, {\n id: 15,\n color: '#e1e1e1',\n width: '2',\n label: 'Hz',\n lineFrom: 340,\n lineTo: 0,\n lineClass: 'x',\n y1: '0',\n y2: '336',\n dy: '1em',\n textAnchor: 'middle',\n stroke: '#ccc'\n}, {\n id: 0,\n color: '#ccc',\n width: '1',\n label: '0',\n lineFrom: 0,\n lineTo: 336,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 1,\n color: '#e1e1e1',\n width: '2',\n label: '120',\n lineFrom: 0,\n lineTo: 327,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 2,\n color: '#e1e1e1',\n width: '2',\n label: '100',\n lineFrom: 0,\n lineTo: 280,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 3,\n color: '#e1e1e1',\n width: '2',\n label: '80',\n lineFrom: 0,\n lineTo: 233,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 4,\n color: '#e1e1e1',\n width: '2',\n label: '60',\n lineFrom: 0,\n lineTo: 186,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 5,\n color: '#e1e1e1',\n width: '2',\n label: '40',\n lineFrom: 0,\n lineTo: 138,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 6,\n color: '#e1e1e1',\n width: '2',\n label: '20',\n lineFrom: 0,\n lineTo: 91,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 7,\n color: '#e1e1e1',\n width: '2',\n label: '0',\n lineFrom: 0,\n lineTo: 44,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}, {\n id: 8,\n color: '#e1e1e1',\n width: '2',\n label: 'dB HL',\n lineFrom: 0,\n lineTo: 0,\n lineClass: 'y',\n x1: '0',\n x2: '340',\n dy: '.35em',\n x: '-3',\n textAnchor: 'end'\n}];\nvar AudiogramTableData = [{\n frequency: 125,\n label: '125'\n}, {\n frequency: 250,\n label: '250'\n}, {\n frequency: 500,\n label: '500'\n}, {\n frequency: 750,\n label: '750'\n}, {\n frequency: 1000,\n label: '1k'\n}, {\n frequency: 1500,\n label: '1.5k'\n}, {\n frequency: 2000,\n label: '2k'\n}, {\n frequency: 3000,\n label: '3k'\n}, {\n frequency: 4000,\n label: '4k'\n}, {\n frequency: 6000,\n label: '6k'\n}, {\n frequency: 8000,\n label: '8k'\n}];\nvar AudiogramFrequencyMapping = [{\n frequency: 125,\n point: 20,\n pointFrom: 0,\n pointTo: 43\n}, {\n frequency: 250,\n point: 66,\n pointFrom: 44,\n pointTo: 89\n}, {\n frequency: 500,\n point: 112,\n pointFrom: 90,\n pointTo: 123\n}, {\n frequency: 750,\n point: 135,\n pointFrom: 124,\n pointTo: 146\n}, {\n frequency: 1000,\n point: 158,\n pointFrom: 147,\n pointTo: 169\n}, {\n frequency: 1500,\n point: 181,\n pointFrom: 170,\n pointTo: 192\n}, {\n frequency: 2000,\n point: 204,\n pointFrom: 193,\n pointTo: 215\n}, {\n frequency: 3000,\n point: 227,\n pointFrom: 216,\n pointTo: 238\n}, {\n frequency: 4000,\n point: 250,\n pointFrom: 239,\n pointTo: 261\n}, {\n frequency: 6000,\n point: 273,\n pointFrom: 262,\n pointTo: 284\n}, {\n frequency: 8000,\n point: 296,\n pointFrom: 285,\n pointTo: 1000\n}];\nexport { AudiogramGraphData, AudiogramTableData, AudiogramFrequencyMapping };","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { AudiogramFrequencyMapping } from '../configuration/audiogram-data';\nimport { ClientOrderMode } from '../infrastructure/const';\nimport CheckUtils from '../utilities/check-utils';\n// import Logger from '../../../../wdh-logger/wdh-logger';\n\n/**\n * Utility class for Audiogram\n * @memberOf module:wdh-feature-b2b\n */\nvar AudiogramUtils = /*#__PURE__*/function () {\n function AudiogramUtils() {\n _classCallCheck(this, AudiogramUtils);\n }\n return _createClass(AudiogramUtils, null, [{\n key: \"convertFromIntensity\",\n value:\n /**\n * Convert from Point to Intensity by formula\n * @param {Number} value Point to convert\n * @returns {Number} Intensity\n */\n function convertFromIntensity(value) {\n return (value * 2.359 + 44).toFixed(0);\n }\n\n /**\n * Convert from Intensity to Point by formula\n * @param {Number} value Intensity to convert\n * @returns {Number} Point\n */\n }, {\n key: \"convertToIntensity\",\n value: function convertToIntensity(value) {\n return ((value - 44) / 2.359).toFixed(0);\n }\n\n /**\n * Convert from Frequency to Point with mapping data\n * @param {Number} value Frequency to convert\n * @returns {Number} Point\n */\n }, {\n key: \"convertFromFrequency\",\n value: function convertFromFrequency(value) {\n for (var index = 0; index < AudiogramFrequencyMapping.length; index += 1) {\n var element = AudiogramFrequencyMapping[index];\n if (element.frequency === value) {\n return element.point;\n }\n }\n return 0;\n }\n\n /**\n * Convert from Point to Frequency with mapping data\n * @param {Number} value Point to convert\n * @returns {Number} Frequency\n */\n }, {\n key: \"convertToFrequency\",\n value: function convertToFrequency(value) {\n for (var index = 0; index < AudiogramFrequencyMapping.length; index += 1) {\n var element = AudiogramFrequencyMapping[index];\n if (element.point === value) {\n return element.frequency;\n }\n }\n return 0;\n }\n\n /**\n * Round to nearest 5, but make sure that value is between min (-10) and max (120) values\n * @param {Number} value Intensity before rounding\n * @returns {Number} Intensity after rounding\n */\n }, {\n key: \"roundIntensity\",\n value: function roundIntensity(value) {\n var newValue = Math.round(value / 5) * 5;\n if (value < -10) {\n newValue = -10;\n } else if (value > 120) {\n newValue = 120;\n }\n return newValue;\n }\n\n /**\n * Round to nearest point in the Frequency mapping (if not found, get the first in the mapping)\n * @param {Number} value Frequency before rounding\n * @returns {Number} Frequency after rounding\n */\n }, {\n key: \"roundFrequency\",\n value: function roundFrequency(value) {\n for (var index = 0; index < AudiogramFrequencyMapping.length; index += 1) {\n var element = AudiogramFrequencyMapping[index];\n if (element.pointFrom <= value && element.pointTo >= value) {\n return element.point;\n }\n }\n return AudiogramFrequencyMapping[0].point;\n }\n\n /**\n * Validates if all required fields are filled out and within validad range\n * @param {Object} audiogramData Audiogram data to validate\n * @returns {Bool} True if valid, false if not\n */\n }, {\n key: \"validateAudiogramData\",\n value: function validateAudiogramData(audiogramData) {\n var isValid = true;\n for (var index = 0; index < audiogramData.length; index += 1) {\n var audiogramDataItem = audiogramData[index];\n if (audiogramDataItem.isRequired) {\n if (audiogramDataItem.intensity > 120 || audiogramDataItem.intensity < -10 || CheckUtils.isNullOrEmptyString(audiogramDataItem.intensity)) {\n audiogramData[index].hasError = true;\n isValid = false;\n } else {\n audiogramData[index].hasError = false;\n }\n }\n }\n return {\n isValid: isValid,\n audiogramData: audiogramData\n };\n }\n\n /**\n * Check if the audiogram data has any intensity set or not\n * @param {Object} audiogramData Audiogram data to check\n * @returns {Bool} True if empty, false if not\n */\n }, {\n key: \"isAudiogramDataEmpty\",\n value: function isAudiogramDataEmpty(audiogramData) {\n var isEmpty = true;\n for (var index = 0; index < audiogramData.length; index += 1) {\n var audiogramDataItem = audiogramData[index];\n if (!CheckUtils.isNullOrEmptyString(audiogramDataItem.intensity)) {\n isEmpty = false;\n }\n }\n return isEmpty;\n }\n\n /**\n * Check if the both sides of audiogram data has any intensity set or not\n * @param {Object} audiogramDataLeft Audiogram data to check\n * @param {Object} audiogramDataRight Audiogram data to check\n * @returns {Bool} True if empty, false if not\n */\n }, {\n key: \"isBothSidesAudiogramDataEmpty\",\n value: function isBothSidesAudiogramDataEmpty(audiogramDataLeft, audiogramDataRight) {\n return this.isAudiogramDataEmpty(audiogramDataLeft) && this.isAudiogramDataEmpty(audiogramDataRight);\n }\n\n /**\n * Check if a side is Right or Binural\n * @param {*} side Side to check\n * @returns {Bool} True if Right of Binural, false if not\n */\n }, {\n key: \"isSideRight\",\n value: function isSideRight(side) {\n return side === ClientOrderMode.BINAURAL || side === ClientOrderMode.RIGHT;\n }\n\n /**\n * Check if a side is Left or Binural\n * @param {*} side Side to check\n * @returns {Bool} True if left of Binural, false if not\n */\n }, {\n key: \"isSideLeft\",\n value: function isSideLeft(side) {\n return side === ClientOrderMode.BINAURAL || side === ClientOrderMode.LEFT;\n }\n\n /**\n * Check if a side is Binural\n * @param {*} side Side to check\n * @returns {Bool} True if Binural, false if not\n */\n }, {\n key: \"isSideBinural\",\n value: function isSideBinural(side) {\n return side === ClientOrderMode.BINAURAL;\n }\n }]);\n}();\nexport default AudiogramUtils;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { TranslationKeys, AudiogramConstants } from '../infrastructure/const';\nimport TranslationManager from '../infrastructure/translation-manager';\nimport AudiogramUtils from '../utilities/audiogram-utils';\nimport { AudiogramGraphData } from '../configuration/audiogram-data';\nimport CheckUtils from '../utilities/check-utils';\n// import Logger from '../../../../wdh-logger/wdh-logger';\n\n/**\n * Component showing an audiogram graph\n * @memberOf module:wdh-feature-b2b\n * @example\n * import AudiogramGraph from 'wdh-feature-b2b/src/js/components/audiogram-graph';\n * {}}\n />\n */\nvar AudiogramGraph = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {String} props.side Left or Right side\n * @param {Object} props.audiogramData Array of data to show in the component\n * @param {Number} props.audiogramData.frequency Freqency (key) for the x axie\n * @param {Number} props.audiogramData.intensity Intensity (value) for the x axie\n * @param {Bool} props.audiogramData.isRequired Is the frequency mandatory to fill out or not (not used in graph)\n * @param {Bool} props.audiogramData.hasError Does the validation fail or not (not used in graph)\n * @param {Function} props.onDataChanged Event to fire, when data has changed on the component\n */\n function AudiogramGraph(props) {\n var _this;\n _classCallCheck(this, AudiogramGraph);\n _this = _callSuper(this, AudiogramGraph, [props]);\n _this.state = {};\n\n /**\n * Translation texts for the component\n * @private\n * @type {Object}\n */\n _this.translations = {\n acLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_ACLABEL),\n hzLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_HZLABEL),\n dbhlLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_DBHLLABEL)\n };\n\n /**\n * The local audiogram data\n * @private\n * @type {Object}\n */\n _this.audiogramData = [];\n return _this;\n }\n\n /**\n * Set the audigram data, when rendered the first time\n * @private\n */\n _inherits(AudiogramGraph, _React$Component);\n return _createClass(AudiogramGraph, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n this.createAudiogramData(this.props.audiogramData);\n }\n\n /**\n * Set the audigram data, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n this.createAudiogramData(nextProps.audiogramData);\n }\n\n /**\n * Converts the clicked position to frequency and intensity\n * Send data to parent control, to re-draws graph and table\n * @param {Object} event Event from the onClick\n * @private\n */\n }, {\n key: \"onGridClicked\",\n value: function onGridClicked(event) {\n var position = AudiogramGraph.createPosition(event);\n if (this.props.onDataChanged) {\n var newPosition = {\n frequency: position.frequency,\n intensity: position.intensity\n };\n this.props.onDataChanged(this.props.side, newPosition);\n }\n }\n\n /**\n * Create path on format: M[x1],[y1]L[x2],[y2]...L[xn],[yn]\n * e.g.: M20,209L66,115L112,115L135\n * @returns {String} Path to create the line on the graph\n * @private\n * */\n }, {\n key: \"createPath\",\n value: function createPath() {\n var path = '';\n for (var index = 0; index < this.audiogramData.length; index += 1) {\n var position = this.audiogramData[index];\n if (index === 0) {\n path += \"M\".concat(position.x, \",\").concat(position.y);\n } else {\n path += \"L\".concat(position.x, \",\").concat(position.y);\n }\n }\n return path;\n }\n\n /**\n * Calculate the position (x + y) from the frequency and intensity for all AudigramData\n * Set the class variable with the new data\n * @param {Object} audiogramData AaudiogramData from props\n * @private\n */\n }, {\n key: \"createAudiogramData\",\n value: function createAudiogramData(audiogramData) {\n this.audiogramData = [];\n for (var index = 0; index < audiogramData.length; index += 1) {\n var position = audiogramData[index];\n if (!CheckUtils.isNullObject(position.intensity)) {\n position.x = AudiogramUtils.convertFromFrequency(position.frequency);\n position.y = AudiogramUtils.convertFromIntensity(position.intensity);\n this.audiogramData.push(position);\n }\n }\n }\n\n /**\n * Create the hover text for the circles on the graph\n * @param {Number} x X coordinate of the circle on the graph\n * @param {Number} y Y coordinate of the circle on the graph\n * @returns {String} Label in format 'AC xx dB HL @ xx Hz'\n * @private\n */\n }, {\n key: \"createTitle\",\n value: function createTitle(x, y) {\n var frequency = AudiogramUtils.convertToFrequency(x);\n var frequencyLabel = frequency >= 1000 ? \"\".concat(frequency / 1000, \"k\") : \"\".concat(frequency);\n var intensity = AudiogramUtils.convertToIntensity(y);\n return \"\".concat(this.translations.acLabel, \"\\n\").concat(intensity, \" \").concat(this.translations.dbhlLabel, \" @ \").concat(frequencyLabel, \" \").concat(this.translations.hzLabel);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(this.props.side, \"-audiogram audiogram\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n id: \"chart1\",\n className: \"chart active\"\n }, /*#__PURE__*/React.createElement(\"svg\", {\n width: \"460\",\n height: \"390\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"wrap-svg\",\n transform: \"translate(70,20)\"\n }, AudiogramGraphData.map(function (data) {\n var gClassName = \"\".concat(data.lineClass, \"-line \").concat(data.lineClass, \"line-\").concat(data.id);\n var gTransform = \"translate(\".concat(data.lineFrom, \",\").concat(data.lineTo, \")\");\n return /*#__PURE__*/React.createElement(\"g\", {\n className: gClassName,\n transform: gTransform,\n key: data.lineClass + data.id\n }, /*#__PURE__*/React.createElement(\"line\", {\n stroke: data.color,\n strokeWidth: data.width,\n y1: data.y1,\n y2: data.y2,\n x1: data.x1,\n x2: data.x2\n }), /*#__PURE__*/React.createElement(\"text\", {\n className: \"axis-number axis-number-x\",\n y: data.y2,\n x: data.x,\n dy: data.dy,\n textAnchor: data.textAnchor\n }, data.label));\n }), /*#__PURE__*/React.createElement(\"svg\", {\n top: \"0\",\n left: \"20\",\n width: \"320\",\n height: \"336\",\n viewBox: \"0 0 320 336\",\n className: \"line-svg\",\n id: \"chart1\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"320\",\n height: \"336\",\n style: {\n fill: 'transparent'\n },\n onClick: function onClick(e) {\n _this2.onGridClicked(e);\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"line\",\n stroke: this.props.side === AudiogramConstants.LEFT ? '#b4164a' : '#336da9',\n d: this.createPath(),\n style: {\n cursor: 'pointer',\n fill: 'none'\n },\n id: \"line\".concat(this.props.side)\n }, /*#__PURE__*/React.createElement(\"set\", {\n attributeName: \"opacity\",\n from: \"1\",\n to: \"0.4\",\n begin: \"mouseover\",\n end: \"mouseout\"\n })), this.audiogramData.map(function (position) {\n return /*#__PURE__*/React.createElement(\"circle\", {\n r: \"5\",\n className: \"circle\",\n cx: position.x,\n cy: position.y,\n fill: _this2.props.side === AudiogramConstants.LEFT ? '#fff' : 'url(#right-circle-1)',\n stroke: _this2.props.side === AudiogramConstants.LEFT ? '#b4164a' : 'transparent',\n style: {\n cursor: 'pointer'\n },\n key: position.frequency\n }, /*#__PURE__*/React.createElement(\"title\", null, _this2.createTitle(position.x, position.y)), /*#__PURE__*/React.createElement(\"set\", {\n attributeName: \"opacity\",\n from: \"1\",\n to: \"0.4\",\n begin: \"line\".concat(_this2.props.side, \".mouseover\"),\n end: \"line\".concat(_this2.props.side, \".mouseout\")\n }));\n }))))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph-title\"\n }, /*#__PURE__*/React.createElement(\"span\", null, this.translations.acLabel)));\n }\n }], [{\n key: \"createPosition\",\n value:\n /**\n * Get position from screen and control, to calculate clicked position on the control\n * Convert y to intensity (DB) from formula/rounding\n * Convert x to frequency (frequency) from formula/rounding\n * @param {Object} event Event from the onClick\n * @returns {Object} New position as frequency and intensity\n * @private\n */\n function createPosition(event) {\n var target = event.target;\n var targetDim = target.getBoundingClientRect();\n var x = event.clientX - targetDim.left;\n var y = event.clientY - targetDim.top;\n var intensity = AudiogramUtils.convertToIntensity(y);\n var intensityRounded = AudiogramUtils.roundIntensity(intensity);\n x = AudiogramUtils.roundFrequency(x);\n var frequency = AudiogramUtils.convertToFrequency(x);\n return {\n frequency: frequency,\n intensity: intensityRounded\n };\n }\n }]);\n}(React.Component);\nAudiogramGraph.propTypes = {\n side: PropTypes.string.isRequired,\n audiogramData: PropTypes.arrayOf(PropTypes.shape({\n frequency: PropTypes.number,\n intensity: PropTypes.number,\n isRequired: PropTypes.bool,\n hasError: PropTypes.bool\n })).isRequired,\n onDataChanged: PropTypes.func\n};\nAudiogramGraph.defaultProps = {\n onDataChanged: null\n};\nexport default AudiogramGraph;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport AudiogramUtils from '../utilities/audiogram-utils';\nimport CheckUtils from '../utilities/check-utils';\n// import Logger from '../../../../wdh-logger/wdh-logger';\n\n/**\n * Component to handle the custom text input for the audiogram table\n * @memberOf module:wdh-feature-b2b\n * @example\n * import AudiogramTextInput from 'wdh-feature-b2b/src/js/components/audiogram-text-input';\n * { this.onAudiogramTextBoxChanged(newData); }}\n />\n */\nvar AudiogramTextInput = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Number} props.frequency Frequency (key) of the textbox\n * @param {Number} props.intensity Intensity (value) of the textbox\n * @param {Bool} props.isRequired Is the value required\n * @param {Bool} props.hasError Should the textbox be highlighted as error\n * @param {Function} props.onDataChanged Event to fire, when data has changed on the component\n */\n function AudiogramTextInput(props) {\n var _this;\n _classCallCheck(this, AudiogramTextInput);\n _this = _callSuper(this, AudiogramTextInput, [props]);\n /**\n * intensity: local value of intensity, to have onChange validation, before sending final value to parent in onBlur\n * hasError: local flag to be cleared, when user has entred a value (and before the parent is notified)\n * @private\n * @type {Object}\n */\n _this.state = {\n intensity: '',\n hasError: false\n };\n /**\n * regex to validate the input\n * changeValidation: allow '-' or '-10' to '999'\n * blurValidation: allow '-10' to '999'\n * @private\n * @type {Object}\n */\n _this.regex = {\n changeValidation: /^-?[0-9]{0,3}$/,\n blurValidation: /^-?[0-9]{1,3}$/\n };\n return _this;\n }\n\n /**\n * Set the intensity, when rendered the first time\n * @private\n */\n _inherits(AudiogramTextInput, _React$Component);\n return _createClass(AudiogramTextInput, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n this.setStateFromProps(this.props);\n }\n\n /**\n * Set the intensity, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n this.setStateFromProps(nextProps);\n }\n\n /**\n * Update the component state if the entered value is valid\n * @param {Object} event Event with the entered value\n * @private\n */\n }, {\n key: \"onAudiogramChanged\",\n value: function onAudiogramChanged(event) {\n var intensity = event.target.value;\n if (this.regex.changeValidation.test(intensity) === true) {\n this.setState({\n intensity: intensity\n });\n if (this.state.hasError) {\n this.setState({\n hasError: false\n });\n }\n }\n }\n\n /**\n * Send the updated date from the textbox to the parent, if the value is valid\n * @param {Object} event Event with the entered value\n * @private\n */\n }, {\n key: \"onAudiogramBlured\",\n value: function onAudiogramBlured(event) {\n if (this.props.onDataChanged) {\n var frequency = this.props.frequency;\n var hasError = this.state.hasError;\n var intensity = event.target.value;\n if (this.regex.blurValidation.test(intensity) === true) {\n intensity = AudiogramUtils.roundIntensity(intensity);\n hasError = false;\n } else {\n intensity = null;\n }\n var newData = {\n frequency: frequency,\n intensity: intensity,\n hasError: hasError\n };\n this.props.onDataChanged(newData);\n }\n }\n\n /**\n * Update the state for intensity and hasError if it has changed in props.\n * Set intensity to empty string if number value is null\n * @param {Object} props Props with intensity and hasError\n * @private\n */\n }, {\n key: \"setStateFromProps\",\n value: function setStateFromProps(props) {\n var newIntensity = props.intensity;\n if (CheckUtils.isNullObject(newIntensity)) {\n newIntensity = '';\n }\n if (this.state.intensity !== newIntensity && this.state.hasError !== props.hasError) {\n this.setState({\n intensity: newIntensity,\n hasError: props.hasError\n });\n } else if (this.state.intensity !== newIntensity) {\n this.setState({\n intensity: newIntensity\n });\n } else if (this.state.hasError !== props.hasError) {\n this.setState({\n hasError: props.hasError\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var inputClasses = classNames({\n required: this.props.isRequired === true,\n 'has-error': this.state.hasError === true\n });\n return /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n maxLength: \"3\",\n className: inputClasses,\n value: this.state.intensity,\n onBlur: function onBlur(event) {\n _this2.onAudiogramBlured(event);\n },\n onChange: function onChange(event) {\n _this2.onAudiogramChanged(event);\n }\n });\n }\n }]);\n}(React.Component);\nAudiogramTextInput.propTypes = {\n frequency: PropTypes.number.isRequired,\n isRequired: PropTypes.bool,\n onDataChanged: PropTypes.func,\n /* eslint-disable */ //Only used to set state in setStateFromProps()\n intensity: PropTypes.number,\n hasError: PropTypes.bool\n /* eslint-enable */ // Only used to set state in setStateFromProps()\n};\nAudiogramTextInput.defaultProps = {\n onDataChanged: null,\n intensity: null,\n isRequired: false,\n hasError: false\n};\nexport default AudiogramTextInput;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { AudiogramTableData } from '../configuration/audiogram-data';\nimport { AudiogramConstants } from '../infrastructure/const';\nimport AudiogramTextInput from './audiogram-text-input';\nimport LogoData from '../configuration/logo-data';\n// import Logger from '../../../../wdh-logger/wdh-logger';\n\n/**\n * Component showing an audiogram table\n * @memberOf module:wdh-feature-b2b\n * @example\n * import AudiogramTable from 'wdh-feature-b2b/src/js/components/audiogram-table';\n * {}}\n />\n */\nvar AudiogramTable = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {String} props.side Left or Right side\n * @param {Object} props.audiogramData Array of data to show in the component\n * @param {Number} props.audiogramData.frequency Freqency (key) for the table header\n * @param {Number} props.audiogramData.intensity Intensity (value) of the data\n * @param {Bool} props.audiogramData.isRequired Is the frequency mandatory to fill out or not\n * @param {Bool} props.audiogramData.hasError Does the validation fail or not\n * @param {Function} props.onDataChanged Event to fire, when data has changed on the component\n */\n function AudiogramTable(props) {\n var _this;\n _classCallCheck(this, AudiogramTable);\n _this = _callSuper(this, AudiogramTable, [props]);\n _this.state = {};\n\n /**\n * The local audiogram data\n * @private\n * @type {Object}\n */\n _this.audiogramData = [];\n return _this;\n }\n\n /**\n * Set the audigram data, when rendered the first time\n * @private\n */\n _inherits(AudiogramTable, _React$Component);\n return _createClass(AudiogramTable, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n this.createAudiogramData(this.props.audiogramData);\n }\n\n /**\n * Set the audigram data, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n this.createAudiogramData(nextProps.audiogramData);\n }\n\n /**\n * Send the updated date from the textbox to the parent\n * @param {Object} data Updated data from the texbox\n * @private\n */\n }, {\n key: \"onAudiogramTextBoxChanged\",\n value: function onAudiogramTextBoxChanged(data) {\n if (this.props.onDataChanged) {\n this.props.onDataChanged(this.props.side, data);\n }\n }\n\n /**\n * Merge the configuration AudigramData with the AudigramData from the parent\n * @param {Object} audiogramData audiogramData from the props\n * @private\n */\n }, {\n key: \"createAudiogramData\",\n value: function createAudiogramData(audiogramData) {\n var _this2 = this;\n this.audiogramData = [];\n var _loop = function _loop() {\n var staticDataItem = AudiogramTableData[index];\n var audiogramDataItem = audiogramData.find(function (element) {\n return element.frequency === staticDataItem.frequency;\n });\n if (typeof audiogramDataItem !== 'undefined') {\n staticDataItem.intensity = audiogramDataItem.intensity;\n staticDataItem.isRequired = audiogramDataItem.isRequired;\n staticDataItem.hasError = audiogramDataItem.hasError;\n } else {\n staticDataItem.intensity = null;\n }\n _this2.audiogramData.push(staticDataItem);\n };\n for (var index = 0; index < AudiogramTableData.length; index += 1) {\n _loop();\n }\n }\n\n /**\n * Creates an image tag for either left or rigth side\n * @returns {JSX} Html for the image tag\n * @private\n */\n }, {\n key: \"renderImage\",\n value: function renderImage() {\n var dataUrl = null;\n if (this.props.side === AudiogramConstants.LEFT) {\n dataUrl = LogoData.leftAudiogramImage;\n }\n if (this.props.side === AudiogramConstants.RIGHT) {\n dataUrl = LogoData.rightAudiogramImage;\n }\n return /*#__PURE__*/React.createElement(\"img\", {\n src: dataUrl,\n alt: this.props.side\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(this.props.side, \"-audiogram audiogram\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"table-graph\"\n }, /*#__PURE__*/React.createElement(\"table\", null, /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", {\n className: \"line-header\",\n colSpan: \"12\"\n })), /*#__PURE__*/React.createElement(\"tr\", {\n className: \"title\"\n }, /*#__PURE__*/React.createElement(\"td\", null), AudiogramTableData.map(function (data) {\n return /*#__PURE__*/React.createElement(\"td\", {\n key: _this3.props.side + data.frequency\n }, data.label);\n }))), /*#__PURE__*/React.createElement(\"tbody\", null, /*#__PURE__*/React.createElement(\"tr\", {\n className: \"active\"\n }, /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(\"span\", null, this.renderImage())), this.audiogramData.map(function (data) {\n return /*#__PURE__*/React.createElement(\"td\", {\n key: _this3.props.side + data.frequency\n }, /*#__PURE__*/React.createElement(AudiogramTextInput, {\n frequency: data.frequency,\n intensity: data.intensity,\n isRequired: data.isRequired,\n hasError: data.hasError && _this3.props.validate,\n onDataChanged: function onDataChanged(newData) {\n _this3.onAudiogramTextBoxChanged(newData);\n }\n }));\n }))))));\n }\n }]);\n}(React.Component);\nAudiogramTable.propTypes = {\n side: PropTypes.string.isRequired,\n audiogramData: PropTypes.arrayOf(PropTypes.shape({\n frequency: PropTypes.number,\n intensity: PropTypes.number,\n isRequired: PropTypes.bool,\n hasError: PropTypes.bool\n })).isRequired,\n onDataChanged: PropTypes.func,\n validate: PropTypes.bool\n};\nAudiogramTable.defaultProps = {\n onDataChanged: null,\n validate: true\n};\nexport default AudiogramTable;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { TranslationKeys, AudiogramConstants, ClientOrderMode } from '../infrastructure/const';\nimport TranslationManager from '../infrastructure/translation-manager';\nimport AudiogramGraph from './audiogram-graph';\nimport AudiogramTable from './audiogram-table';\nimport AudiogramUtils from '../utilities/audiogram-utils';\nimport ModalDialog from './modal-dialog';\nimport LogoData from '../configuration/logo-data';\n// import Logger from '../../../../wdh-logger/wdh-logger';\n\n/**\n * Component showing the audiogram (graphs, tables and logic between them)\n * @memberOf module:wdh-feature-b2b\n * @example\n * import Audiogram from 'wdh-feature-b2b/src/js/components/audiogram';\n * { this.onAudiogramCancelClicked(); }}\n onSaveClicked={(audiogramDataLeft, audiogramDataRight) => { this.onAudiogramSaveClicked(audiogramDataLeft, audiogramDataRight); }}\n />\n */\nvar Audiogram = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.audiogramDataLeft Array of data to show in the Left part of the audiogram\n * @param {Number} props.audiogramDataLeft.frequency Freqency (key) of the data\n * @param {Number} props.audiogramDataLeft.intensity Intensity (value) of the data\n * @param {Bool} props.audiogramDataLeft.isRequired Is the frequency mandatory to fill out or not\n * @param {Bool} props.audiogramDataLeft.hasError Does the validation fail or not\n * @param {Object} props.audiogramDataRight Array of data to show in the Right part of the audiogram\n * @param {Number} props.audiogramDataRight.frequency Freqency (key) of the data\n * @param {Number} props.audiogramDataRight.intensity Intensity (value) of the data\n * @param {Bool} props.audiogramDataRight.isRequired Is the frequency mandatory to fill out or not\n * @param {Bool} props.audiogramDataRight.hasError Does the validation fail or not\n * @param {Object} props.clientOrderMode Left/Right/Binural\n * @param {Function} props.onCancelClicked Event to fire, when cancel is clicked\n * @param {Function} props.onSaveClicked Event to fire, when save is clicked\n */\n function Audiogram(props) {\n var _this;\n _classCallCheck(this, Audiogram);\n _this = _callSuper(this, Audiogram, [props]);\n /**\n * audiogramDataLeft: Data saved on the component, until the save button is clieck and data is sent to parent\n * audiogramDataRight: Data saved on the component, until the save button is clieck and data is sent to parent\n * showValidationMessage: Flag to show the validation message\n * deleteRightSideGraphModalIsOpen: Flag to check if the DeleteRightSideGraph modal is open\n * deleteLeftSideGraphModalIsOpen: Flag to check if the DeleteLeftSideGrap modal is open\n * copyRightSideGraphModalIsOpen: Flag to check if the CopyRightSideGraph modal is open\n * copyLeftSideGraphModalIsOpen: Flag to check if the CopyLeftSideGrap modal is open\n * cancelAudiogramModalIsOpen: Flag to check if the CancelAudiogram modal is open\n * @private\n * @type {Object}\n */\n _this.state = {\n audiogramDataLeft: [],\n audiogramDataRight: [],\n showValidationMessage: false,\n deleteRightSideGraphModalIsOpen: false,\n deleteLeftSideGraphModalIsOpen: false,\n copyRightSideGraphModalIsOpen: false,\n copyLeftSideGraphModalIsOpen: false,\n cancelAudiogramModalIsOpen: false,\n leftValid: true,\n rightValid: true\n };\n\n /**\n * Translation texts for the component\n * @private\n * @type {Object}\n */\n _this.translations = {\n deleteLeftSideGraphLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_DELETE_LEFT_SIDE_GRAPH),\n deleteRightSideGraphLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_DELETE_RIGHT_SIDE_GRAPH),\n cancelAudiogramLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_CANCEL_AUDIOGRAM),\n requiredMessageLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_REQUIREDFIELDSMESSAGE),\n cancelAudiogramButtonLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_CANCELAUDIOGRAMBUTTON),\n saveAudiogramButtonLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_SAVEAUDIOGRAMBUTTON),\n acLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_ACLABEL),\n okLabel: TranslationManager.getTranslation(TranslationKeys.SHARED_OK),\n cancelLabel: TranslationManager.getTranslation(TranslationKeys.SHARED_CANCEL),\n scrollAudiogramMobileText: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_SCROLL_AUDIOGRAM_MOBILE_TEXT)\n };\n return _this;\n }\n\n /**\n * Set the audigram data, when rendered the first time\n * @private\n */\n _inherits(Audiogram, _React$Component);\n return _createClass(Audiogram, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n this.setStateFromProps(this.props);\n }\n\n /**\n * Set the audigram data, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n this.setStateFromProps(nextProps);\n }\n\n /**\n * Handles the on save click event\n * @private\n */\n }, {\n key: \"onSaveClicked\",\n value: function onSaveClicked() {\n var showValidationMessage = false;\n var audiogramDataLeft = JSON.parse(JSON.stringify(this.state.audiogramDataRight));\n var audiogramDataRight = JSON.parse(JSON.stringify(this.state.audiogramDataLeft));\n var isValid = AudiogramUtils.isBothSidesAudiogramDataEmpty(audiogramDataLeft, audiogramDataRight) || this.validateAudiogram(audiogramDataLeft, audiogramDataRight, true);\n if (isValid) {\n if (this.props.onSaveClicked) {\n this.props.onSaveClicked(this.state.audiogramDataLeft, this.state.audiogramDataRight);\n }\n } else {\n showValidationMessage = true;\n }\n this.setState({\n showValidationMessage: showValidationMessage\n });\n }\n\n /**\n * Handles the on cancel click event\n * Ask the user for confirmation, if they want to cancel or not\n * @private\n */\n }, {\n key: \"onCancelClicked\",\n value: function onCancelClicked() {\n for (var i = 0; i < this.state.audiogramDataLeft.length; i += 1) {\n if (this.state.audiogramDataLeft[i].intensity !== this.props.audiogramDataLeft[i].intensity) {\n this.setState({\n cancelAudiogramModalIsOpen: true\n });\n return;\n }\n }\n for (var _i = 0; _i < this.state.audiogramDataRight.length; _i += 1) {\n if (this.state.audiogramDataRight[_i].intensity !== this.props.audiogramDataRight[_i].intensity) {\n this.setState({\n cancelAudiogramModalIsOpen: true\n });\n return;\n }\n }\n this.props.onCancelClicked();\n }\n\n /**\n * Handles the on data changed event\n * Update the audiogram data for the changed side in the state\n * Remove the validation message if it is shown, and the audiogram data is now valid\n * @param {String} side Side that has changed (Left/Right)\n * @param {Bool} newAudiogramDataItem New data that has changed\n * @private\n */\n }, {\n key: \"onDataChanged\",\n value: function onDataChanged(side, newAudiogramDataItem) {\n if (side === AudiogramConstants.LEFT) {\n var audiogramDataClone = JSON.parse(JSON.stringify(this.state.audiogramDataRight));\n audiogramDataClone = Audiogram.updateAudiogramData(audiogramDataClone, newAudiogramDataItem);\n var showValidationMessage = this.state.showValidationMessage;\n if (this.state.showValidationMessage) {\n showValidationMessage = !this.validateAudiogram(audiogramDataClone, this.state.audiogramDataLeft, false);\n }\n this.setState({\n audiogramDataRight: audiogramDataClone,\n showValidationMessage: showValidationMessage\n });\n } else if (side === AudiogramConstants.RIGHT) {\n var _audiogramDataClone = JSON.parse(JSON.stringify(this.state.audiogramDataLeft));\n _audiogramDataClone = Audiogram.updateAudiogramData(_audiogramDataClone, newAudiogramDataItem);\n var _showValidationMessage = this.state.showValidationMessage;\n if (this.state.showValidationMessage) {\n _showValidationMessage = !this.validateAudiogram(this.state.audiogramDataRight, _audiogramDataClone, false);\n }\n this.setState({\n audiogramDataLeft: _audiogramDataClone,\n showValidationMessage: _showValidationMessage\n });\n }\n }\n\n /**\n * Handles the on left copy click event\n * Only copy if binural and there is data on the left side\n * Ask the user for confirmation, if there is data on the left side\n * @private\n */\n }, {\n key: \"onLeftCopyClicked\",\n value: function onLeftCopyClicked() {\n if (!AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataRight) && this.props.clientOrderMode === ClientOrderMode.BINAURAL) {\n if (!AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataLeft)) {\n this.setState({\n copyLeftSideGraphModalIsOpen: true\n });\n } else {\n this.copyLeftSideGraphAccepted();\n }\n }\n }\n\n /**\n * Handles the on left copy click event\n * Only copy if binural and there is data on the left side\n * Ask the user for confirmation, if there is data on the right side\n * @private\n */\n }, {\n key: \"onRightCopyClicked\",\n value: function onRightCopyClicked() {\n if (!AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataLeft) && this.props.clientOrderMode === ClientOrderMode.BINAURAL) {\n if (!AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataRight)) {\n this.setState({\n copyRightSideGraphModalIsOpen: true\n });\n } else {\n this.copyRightSideGraphAccepted();\n }\n }\n }\n\n /**\n * Handles the on left delete click event\n * Only delete if left is active nad there is data on the left side\n * Ask the user for confirmation, before deleting\n * @private\n */\n }, {\n key: \"onLeftDeleteClicked\",\n value: function onLeftDeleteClicked() {\n if (!AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataRight) && this.props.clientOrderMode !== ClientOrderMode.LEFT) {\n this.setState({\n deleteLeftSideGraphModalIsOpen: true\n });\n }\n }\n\n /**\n * Handles the on right delete click event\n * Only delete if right is active nad there is data on the right side\n * Ask the user for confirmation, before deleting\n * @private\n */\n }, {\n key: \"onRightDeleteClicked\",\n value: function onRightDeleteClicked() {\n if (!AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataLeft) && this.props.clientOrderMode !== ClientOrderMode.RIGHT) {\n this.setState({\n deleteRightSideGraphModalIsOpen: true\n });\n }\n }\n\n /**\n * Update the state for audiogramData\n * @param {Object} props Props with audiogramData\n * @private\n */\n }, {\n key: \"setStateFromProps\",\n value: function setStateFromProps(props) {\n this.setState({\n audiogramDataRight: props.audiogramDataRight\n });\n this.setState({\n audiogramDataLeft: props.audiogramDataLeft\n });\n }\n\n /**\n * Handles the on left copy accepted click event\n * Close the modal and copy data from the left side to the right side\n * Remove the validation message if it is shown, and the audiogram data is now valid\n * @private\n */\n }, {\n key: \"copyLeftSideGraphAccepted\",\n value: function copyLeftSideGraphAccepted() {\n this.setState({\n copyLeftSideGraphModalIsOpen: false\n });\n var audiogramDataRight = this.state.audiogramDataRight;\n var audiogramDataRightClone = JSON.parse(JSON.stringify(audiogramDataRight));\n for (var index = 0; index < audiogramDataRightClone.length; index += 1) {\n var audiogramDataRightItem = audiogramDataRightClone[index];\n audiogramDataRightItem.hasError = false;\n }\n var showValidationMessage = this.state.showValidationMessage;\n if (this.state.showValidationMessage) {\n showValidationMessage = !this.validateAudiogram(audiogramDataRightClone, this.state.audiogramDataLeft, false);\n }\n this.setState({\n audiogramDataLeft: audiogramDataRightClone,\n showValidationMessage: showValidationMessage\n });\n }\n\n /**\n * Handles the on left copy canceled click event\n * Close the modal\n * @private\n */\n }, {\n key: \"copyLeftSideGraphCanceled\",\n value: function copyLeftSideGraphCanceled() {\n this.setState({\n copyLeftSideGraphModalIsOpen: false\n });\n }\n\n /**\n * Handles the on right copy accepted click event\n * Close the modal and copy data from the right side to the left side\n * Remove the validation message if it is shown, and the audiogram data is now valid\n * @private\n */\n }, {\n key: \"copyRightSideGraphAccepted\",\n value: function copyRightSideGraphAccepted() {\n this.setState({\n copyRightSideGraphModalIsOpen: false\n });\n var audiogramDataLeft = this.state.audiogramDataLeft;\n var audiogramDataLeftClone = JSON.parse(JSON.stringify(audiogramDataLeft));\n for (var index = 0; index < audiogramDataLeftClone.length; index += 1) {\n var audiogramDataLeftItem = audiogramDataLeftClone[index];\n audiogramDataLeftItem.hasError = false;\n }\n var showValidationMessage = this.state.showValidationMessage;\n if (this.state.showValidationMessage) {\n showValidationMessage = !this.validateAudiogram(this.state.audiogramDataRight, audiogramDataLeftClone, false);\n }\n this.setState({\n audiogramDataRight: audiogramDataLeftClone,\n showValidationMessage: showValidationMessage\n });\n }\n\n /**\n * Handles the on right copy canceled click event\n * Close the modal\n * @private\n */\n }, {\n key: \"copyRightSideGraphCanceled\",\n value: function copyRightSideGraphCanceled() {\n this.setState({\n copyRightSideGraphModalIsOpen: false\n });\n }\n\n /**\n * Handles the on left delete accepted click event\n * Close the modal and clear the data\n * Remove the validation message if it is shown, and the audiogram data is now valid\n * @private\n */\n }, {\n key: \"deleteLeftSideGraphAccepted\",\n value: function deleteLeftSideGraphAccepted() {\n this.setState({\n deleteLeftSideGraphModalIsOpen: false\n });\n var audiogramDataRight = this.state.audiogramDataRight;\n var audiogramDataRightClone = JSON.parse(JSON.stringify(audiogramDataRight));\n for (var index = 0; index < audiogramDataRightClone.length; index += 1) {\n var audiogramDataItem = audiogramDataRightClone[index];\n audiogramDataItem.intensity = null;\n audiogramDataItem.hasError = false;\n }\n var showValidationMessage = this.state.showValidationMessage;\n if (this.state.showValidationMessage) {\n showValidationMessage = !this.validateAudiogram(audiogramDataRightClone, this.state.audiogramDataLeft, false);\n }\n this.setState({\n audiogramDataRight: audiogramDataRightClone,\n showValidationMessage: showValidationMessage\n });\n }\n\n /**\n * Handles the on left delete canceled click event\n * Close the modal\n * @private\n */\n }, {\n key: \"deleteLeftSideGraphCanceled\",\n value: function deleteLeftSideGraphCanceled() {\n this.setState({\n deleteLeftSideGraphModalIsOpen: false\n });\n }\n\n /**\n * Handles the on right delete accepted click event\n * Close the modal and clear the data\n * Remove the validation message if it is shown, and the audiogram data is now valid\n * @private\n */\n }, {\n key: \"deleteRightSideGraphAccepted\",\n value: function deleteRightSideGraphAccepted() {\n this.setState({\n deleteRightSideGraphModalIsOpen: false\n });\n var audiogramDataLeft = this.state.audiogramDataLeft;\n var audiogramDataLeftClone = JSON.parse(JSON.stringify(audiogramDataLeft));\n for (var index = 0; index < audiogramDataLeftClone.length; index += 1) {\n var audiogramDataItem = audiogramDataLeftClone[index];\n audiogramDataItem.intensity = null;\n audiogramDataItem.hasError = false;\n }\n var showValidationMessage = this.state.showValidationMessage;\n if (this.state.showValidationMessage) {\n showValidationMessage = !this.validateAudiogram(this.state.audiogramDataLeft, audiogramDataLeftClone, false);\n }\n this.setState({\n audiogramDataLeft: audiogramDataLeftClone,\n showValidationMessage: showValidationMessage\n });\n }\n\n /**\n * Handles the on right delete canceled click event\n * Close the modal\n * @private\n */\n }, {\n key: \"deleteRightSideGraphCanceled\",\n value: function deleteRightSideGraphCanceled() {\n this.setState({\n deleteRightSideGraphModalIsOpen: false\n });\n }\n\n /**\n * Handles the on cancel audiogram accepted click event\n * Close the modal and close the audiogram\n * @private\n */\n }, {\n key: \"cancelAudiogramAccepted\",\n value: function cancelAudiogramAccepted() {\n this.setState({\n cancelAudiogramModalIsOpen: false\n });\n if (this.props.onCancelClicked) {\n this.props.onCancelClicked();\n }\n }\n\n /**\n * Handles the on cancel audiogram canceled click event\n * Close the modal\n * @private\n */\n }, {\n key: \"cancelAudiogramCanceled\",\n value: function cancelAudiogramCanceled() {\n this.setState({\n cancelAudiogramModalIsOpen: false\n });\n }\n\n /**\n * Validate the audiogram, to check that all required frequencies are filled out\n * @param {Object} audiogramDataLeftInput Left Audiogram data to be validated\n * @param {Object} audiogramDataRightInput Right Audiogram data to be validated\n * @param {bool} updateState True if state should be updated, else false\n * @returns {Bool} True if data is valid, else false\n * @private\n */\n }, {\n key: \"validateAudiogram\",\n value: function validateAudiogram(audiogramDataRightInput, audiogramDataLeftInput, updateState) {\n var audiogramDataLeftClone = JSON.parse(JSON.stringify(audiogramDataLeftInput));\n var audiogramDataRightClone = JSON.parse(JSON.stringify(audiogramDataRightInput));\n var isLeftValid = true;\n var isRightValid = true;\n if (AudiogramUtils.isSideLeft(this.props.clientOrderMode) && (this.props.isLeftMandatory || !AudiogramUtils.isAudiogramDataEmpty(audiogramDataLeftClone))) {\n var validationResult = AudiogramUtils.validateAudiogramData(audiogramDataLeftClone);\n isLeftValid = validationResult.isValid;\n audiogramDataLeftClone = validationResult.audiogramData;\n }\n if (AudiogramUtils.isSideRight(this.props.clientOrderMode) && (this.props.isRightMandatory || !AudiogramUtils.isAudiogramDataEmpty(audiogramDataRightClone))) {\n var _validationResult = AudiogramUtils.validateAudiogramData(audiogramDataRightClone);\n isRightValid = _validationResult.isValid;\n audiogramDataRightClone = _validationResult.audiogramData;\n }\n if (updateState) {\n this.setState({\n audiogramDataLeft: audiogramDataLeftClone,\n audiogramDataRight: audiogramDataRightClone,\n leftValid: isLeftValid,\n rightValid: isRightValid\n });\n }\n return isLeftValid && isRightValid;\n }\n\n /**\n * Defines the custom svg object to draw the right circle\n * @returns {Object} Html for the custom svg object\n * @private\n */\n }, {\n key: \"renderCenterColumn\",\n value:\n /**\n * Renders the AC label, copy buttons and delete buttons\n * @returns {JSX} Html created\n * @private\n */\n function renderCenterColumn() {\n var _this2 = this;\n var audiogramDataLeftEmpty = AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataLeft);\n var audiogramDataRightEmpty = AudiogramUtils.isAudiogramDataEmpty(this.state.audiogramDataRight);\n var copyLeftClassNames = classNames('copy-left', 'copy-graph', {\n enable: !audiogramDataRightEmpty && this.props.clientOrderMode === ClientOrderMode.BINAURAL\n }, {\n disable: audiogramDataRightEmpty || this.props.clientOrderMode !== ClientOrderMode.BINAURAL\n });\n var copyRightClassNames = classNames('copy-right', 'copy-graph', {\n enable: !audiogramDataLeftEmpty && this.props.clientOrderMode === ClientOrderMode.BINAURAL\n }, {\n disable: audiogramDataLeftEmpty || this.props.clientOrderMode !== ClientOrderMode.BINAURAL\n });\n var removeLeftClassNames = classNames('remove-left', 'remove-graph', {\n enable: !audiogramDataRightEmpty && this.props.clientOrderMode !== ClientOrderMode.LEFT\n }, {\n disable: audiogramDataRightEmpty || this.props.clientOrderMode === ClientOrderMode.LEFT\n });\n var removeRightClassNames = classNames('remove-right', 'remove-graph', {\n enable: !audiogramDataLeftEmpty && this.props.clientOrderMode !== ClientOrderMode.RIGHT\n }, {\n disable: audiogramDataLeftEmpty || this.props.clientOrderMode === ClientOrderMode.RIGHT\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-switch-chart\"\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"active\"\n }, this.translations.acLabel), /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-copy-chart\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: copyLeftClassNames,\n onClick: function onClick() {\n return _this2.onLeftCopyClicked();\n },\n role: \"presentation\"\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: copyRightClassNames,\n onClick: function onClick() {\n return _this2.onRightCopyClicked();\n },\n role: \"presentation\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-remove-chart\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: removeLeftClassNames,\n onClick: function onClick() {\n return _this2.onLeftDeleteClicked();\n },\n role: \"presentation\"\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: removeRightClassNames,\n onClick: function onClick() {\n return _this2.onRightDeleteClicked();\n },\n role: \"presentation\"\n })));\n }\n\n /**\n * Renders the four modals for confirming the copy/delete actions\n * @returns {JSX} Html created\n * @private\n */\n }, {\n key: \"renderModals\",\n value: function renderModals() {\n var _this3 = this;\n return /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.deleteRightSideGraphModalIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick(event) {\n return _this3.deleteRightSideGraphAccepted(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this3.deleteRightSideGraphCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel,\n blurElementID: \"wdh-feature-btb-audiogram-dialog\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.deleteLeftSideGraphLabel)), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.deleteLeftSideGraphModalIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick(event) {\n return _this3.deleteLeftSideGraphAccepted(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this3.deleteLeftSideGraphCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel,\n blurElementID: \"wdh-feature-btb-audiogram-dialog\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.deleteRightSideGraphLabel)), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.copyRightSideGraphModalIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick(event) {\n return _this3.copyRightSideGraphAccepted(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this3.copyRightSideGraphCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel,\n blurElementID: \"wdh-feature-btb-audiogram-dialog\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.deleteRightSideGraphLabel)), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.copyLeftSideGraphModalIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick(event) {\n return _this3.copyLeftSideGraphAccepted(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this3.copyLeftSideGraphCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel,\n blurElementID: \"wdh-feature-btb-audiogram-dialog\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.deleteLeftSideGraphLabel)), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.cancelAudiogramModalIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick(event) {\n return _this3.cancelAudiogramAccepted(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this3.cancelAudiogramCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel,\n blurElementID: \"wdh-feature-btb-audiogram-dialog\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.cancelAudiogramLabel)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n var leftAudiogramClasses = classNames({\n 'wdh-feature-btb-dimmed': this.props.clientOrderMode === ClientOrderMode.LEFT\n });\n var rightAudiogramClasses = classNames({\n 'wdh-feature-btb-dimmed': this.props.clientOrderMode === ClientOrderMode.RIGHT\n });\n var messageClasses = classNames({\n 'helper-text': true,\n hide: !this.state.showValidationMessage\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"scroll-when-small\"\n }, /*#__PURE__*/React.createElement(\"table\", {\n id: \"wdh-feature-btb-audiogram-dialog\"\n }, /*#__PURE__*/React.createElement(\"tbody\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", null, Audiogram.renderRightCirleSvg(), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wrapper charts-block\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: leftAudiogramClasses\n }, /*#__PURE__*/React.createElement(AudiogramGraph, {\n side: AudiogramConstants.LEFT,\n audiogramData: this.state.audiogramDataRight,\n onDataChanged: function onDataChanged(side, audiogramData) {\n _this4.onDataChanged(side, audiogramData);\n }\n }), /*#__PURE__*/React.createElement(AudiogramTable, {\n side: AudiogramConstants.LEFT,\n audiogramData: this.state.audiogramDataRight,\n onDataChanged: function onDataChanged(side, audiogramData) {\n _this4.onDataChanged(side, audiogramData);\n },\n validate: !this.state.rightValid\n })), this.renderCenterColumn(), /*#__PURE__*/React.createElement(\"div\", {\n className: rightAudiogramClasses\n }, /*#__PURE__*/React.createElement(AudiogramGraph, {\n side: AudiogramConstants.RIGHT,\n audiogramData: this.state.audiogramDataLeft,\n onDataChanged: function onDataChanged(side, audiogramData) {\n _this4.onDataChanged(side, audiogramData);\n }\n }), /*#__PURE__*/React.createElement(AudiogramTable, {\n side: AudiogramConstants.RIGHT,\n audiogramData: this.state.audiogramDataLeft,\n onDataChanged: function onDataChanged(side, audiogramData) {\n _this4.onDataChanged(side, audiogramData);\n },\n validate: !this.state.leftValid\n })), this.renderModals()))), /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(\"p\", {\n className: messageClasses\n }, this.translations.requiredMessageLabel), /*#__PURE__*/React.createElement(\"button\", {\n className: \"wdh-feature-b2b-button\",\n type: \"button\",\n onClick: function onClick(event) {\n return _this4.onCancelClicked(event);\n }\n }, this.translations.cancelAudiogramButtonLabel), /*#__PURE__*/React.createElement(\"button\", {\n className: \"wdh-feature-b2b-button\",\n type: \"button\",\n onClick: function onClick(event) {\n return _this4.onSaveClicked(event);\n }\n }, this.translations.saveAudiogramButtonLabel)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"mobile-scroll-msg\"\n }, this.translations.scrollAudiogramMobileText)))));\n }\n }], [{\n key: \"updateAudiogramData\",\n value:\n /**\n * When a frequency/intensity has changed on either the graph or the table, update the audiogram data\n * If new frequency: add the frequency/intensity to the audiogram data\n * If existing frequency: add the intensity on that frequency in the audiogram data\n * @param {Object} audiogramData Audiogram data before the update\n * @param {Object} newAudiogramDataItem Frequency/intensity to add/update in the audiogram data\n * @returns {Object} Audiogram data after the update\n */\n function updateAudiogramData(audiogramData, newAudiogramDataItem) {\n var newAudiogramData = [];\n var added = false;\n for (var index = 0; index < audiogramData.length; index += 1) {\n var audiogramDataItem = audiogramData[index];\n if (audiogramDataItem.frequency === newAudiogramDataItem.frequency) {\n newAudiogramDataItem.isRequired = audiogramDataItem.isRequired;\n newAudiogramData.push(newAudiogramDataItem);\n added = true;\n } else if (audiogramDataItem.frequency > newAudiogramDataItem.frequency) {\n if (added === false) {\n newAudiogramData.push(newAudiogramDataItem);\n added = true;\n }\n newAudiogramData.push(audiogramDataItem);\n } else {\n newAudiogramData.push(audiogramDataItem);\n }\n }\n if (added === false) {\n newAudiogramData.push(newAudiogramDataItem);\n }\n return newAudiogramData;\n }\n }, {\n key: \"renderRightCirleSvg\",\n value: function renderRightCirleSvg() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n id: \"mySvg5\",\n width: \"80\",\n height: \"80\"\n }, /*#__PURE__*/React.createElement(\"defs\", {\n id: \"mdef\"\n }, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"right-circle-1\",\n x: \"0\",\n y: \"0\",\n height: \"9\",\n width: \"9\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n x: \"0\",\n y: \"0\",\n width: \"9\",\n height: \"9\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n xlinkHref: LogoData.rightAudiogramCirleSvg\n }))));\n }\n }]);\n}(React.Component);\nAudiogram.propTypes = {\n onCancelClicked: PropTypes.func,\n onSaveClicked: PropTypes.func,\n clientOrderMode: PropTypes.string.isRequired,\n /* eslint-disable */ //Only used to set state in setStateFromProps()\n audiogramDataLeft: PropTypes.arrayOf(PropTypes.shape({\n frequency: PropTypes.number,\n intensity: PropTypes.number,\n isRequired: PropTypes.bool,\n hasError: PropTypes.bool\n })).isRequired,\n audiogramDataRight: PropTypes.arrayOf(PropTypes.shape({\n frequency: PropTypes.number,\n intensity: PropTypes.number,\n isRequired: PropTypes.bool,\n hasError: PropTypes.bool\n })).isRequired,\n isLeftMandatory: PropTypes.bool,\n isRightMandatory: PropTypes.bool\n /* eslint-enable */ // Only used to set state in setStateFromProps()\n};\nAudiogram.defaultProps = {\n onCancelClicked: null,\n onSaveClicked: null,\n isLeftMandatory: false,\n isRightMandatory: false\n};\nexport default Audiogram;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../infrastructure/const';\n\n/**\n * Component showing an audiogram inside the dynamic part of client orders step 2\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrdersAudiogram from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-audiogram';\n * { this.onShowAudiogramClicked(); }}\n />\n */\nvar ClientOrdersAudioGram = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.controller Controller that this component is modifying\n * @param {String} props.controller.variableId VariableId for the variable being edited\n * @param {String} props.controller.name Name of the variable being edited\n * @param {String} props.side Side that the component is placed in (left/right)\n * @param {Function} props.onShowAudiogramClicked Event to fire, when show audiogram is clicked\n */\n function ClientOrdersAudioGram(props) {\n var _this;\n _classCallCheck(this, ClientOrdersAudioGram);\n _this = _callSuper(this, ClientOrdersAudioGram, [props]);\n _this.state = {};\n _this.translations = {\n showAudiogramButton: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_SHOWAUDIOGRAMBUTTON),\n enterAudiogramInformation: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_ENTERAUDIOGRAMINFORMATION),\n mandatoryFormField: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD)\n };\n return _this;\n }\n _inherits(ClientOrdersAudioGram, _React$Component);\n return _createClass(ClientOrdersAudioGram, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var hasError = false;\n if (this.props.isMandatory && this.props.isValid === false) {\n hasError = true;\n }\n var divWrapperClasses = classNames({\n 'inner-group-box-dark': true,\n 'audiogram-box': true,\n 'has-error': hasError\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"required-wrapper-for-help-text\"\n }, hasError ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-field form-field message-bottom\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"help-text\"\n }, this.translations.mandatoryFormField)) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperClasses,\n id: this.props.controller.variableId\n }, /*#__PURE__*/React.createElement(\"span\", null, this.translations.enterAudiogramInformation), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"wdh-feature-b2b-button\",\n onClick: function onClick() {\n _this2.props.onShowAudiogramClicked();\n }\n }, this.translations.showAudiogramButton))));\n }\n }]);\n}(React.Component);\nexport default ClientOrdersAudioGram;\nClientOrdersAudioGram.propTypes = {\n controller: PropTypes.shape({\n variableId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired\n }),\n onShowAudiogramClicked: PropTypes.func,\n isValid: PropTypes.bool,\n isMandatory: PropTypes.bool\n};\nClientOrdersAudioGram.defaultProps = {\n onShowAudiogramClicked: function onShowAudiogramClicked() {},\n controller: {},\n isValid: false,\n isMandatory: false\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Slider from 'react-slick';\nimport CheckUtils from '../utilities/check-utils';\nvar ColorSlider = /*#__PURE__*/function (_React$Component) {\n function ColorSlider(props) {\n var _this;\n _classCallCheck(this, ColorSlider);\n _this = _callSuper(this, ColorSlider, [props]);\n _this.state = {\n // selectedValue: this.props.selectedValue,\n };\n _this.slider = /*#__PURE__*/React.createRef();\n return _this;\n }\n _inherits(ColorSlider, _React$Component);\n return _createClass(ColorSlider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.selectedIndex = this.getSelectedIndex();\n this.slider.current.slickGoTo(this.selectedIndex);\n }\n\n /**\n * Set the colorslider data, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.selectedValue !== nextProps.selectedValue) {\n this.selectedIndex = this.getSelectedIndex(nextProps.selectedValue);\n this.slider.current.slickGoTo(this.selectedIndex);\n }\n }\n }, {\n key: \"onColorClick\",\n value: function onColorClick(e) {\n var colorId = e.currentTarget.getAttribute('data-value');\n this.props.onValueChange(colorId);\n }\n }, {\n key: \"getSelectedIndex\",\n value: function getSelectedIndex(selectedValue) {\n if (CheckUtils.isNullOrEmptyString(selectedValue)) {\n selectedValue = this.props.selectedValue;\n }\n for (var index = 0; index < this.props.colors.length; index += 1) {\n if (this.props.colors[index].id === selectedValue) {\n return index;\n }\n }\n return 0;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var divWrapperCssClasses = classNames('wdh-feature-btb-colorslider');\n var settings = {\n dots: false,\n infinite: true,\n speed: 500,\n slidesToShow: Math.min(7, this.props.colors.length),\n slidesToScroll: 1,\n className: this.props.className,\n responsive: [{\n breakpoint: 1800,\n settings: {\n slidesToShow: Math.min(6, this.props.colors.length),\n slidesToScroll: 1\n }\n }, {\n breakpoint: 1400,\n settings: {\n slidesToShow: Math.min(5, this.props.colors.length),\n slidesToScroll: 1\n }\n }, {\n breakpoint: 1200,\n settings: {\n slidesToShow: Math.min(4, this.props.colors.length),\n slidesToScroll: 1\n }\n }, {\n breakpoint: 992,\n settings: {\n slidesToShow: Math.min(3, this.props.colors.length),\n slidesToScroll: 1\n }\n }, {\n breakpoint: 768,\n settings: {\n slidesToShow: Math.min(2, this.props.colors.length),\n slidesToScroll: 1\n }\n }, {\n breakpoint: 580,\n settings: {\n slidesToShow: Math.min(1, this.props.colors.length),\n slidesToScroll: 1\n }\n }],\n focusOnSelect: false,\n initialSlide: this.selectedIndex\n };\n var divWrapperStyle = {\n maxWidth: \"\".concat((this.props.colors.length * 50 + 200) / 16, \"rem\")\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperCssClasses,\n style: divWrapperStyle\n }, /*#__PURE__*/React.createElement(Slider, _extends({\n ref: this.slider\n }, settings), this.props.colors.map(function (color) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: color.id,\n \"data-value\": color.id,\n className: classNames('color-item', {\n 'color-forceable': color.forceable\n }, {\n selected: color.id === _this2.props.selectedValue\n }),\n onClick: function onClick(event) {\n return _this2.onColorClick(event);\n },\n role: \"presentation\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: classNames('color-frame', {\n selected: color.id === _this2.props.selectedValue\n })\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"color-circle\",\n style: {\n backgroundColor: color.hex\n }\n })), /*#__PURE__*/React.createElement(\"span\", {\n className: \"color-name\"\n }, color.name), /*#__PURE__*/React.createElement(\"span\", {\n className: \"color-name color-id\"\n }, color.colorId));\n })));\n }\n }]);\n}(React.Component);\nColorSlider.propTypes = {\n onValueChange: PropTypes.func,\n selectedValue: PropTypes.string,\n colors: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n hex: PropTypes.string,\n colorId: PropTypes.string,\n forceable: PropTypes.bool\n })).isRequired,\n id: PropTypes.string,\n className: PropTypes.string,\n showHelpText: PropTypes.bool,\n helpTextHTML: PropTypes.string\n};\nColorSlider.defaultProps = {\n id: '',\n selectedValue: '',\n onValueChange: function onValueChange() {},\n className: '',\n showHelpText: false,\n helpTextHTML: ' '\n};\nexport default ColorSlider;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { TranslationKeys, AudiogramConstants, ClientOrderAssignmentStates } from '../../infrastructure/const';\nimport ColorSlider from '../../components/color-slider';\nimport CheckUtils from '../../utilities/check-utils';\nimport ToolTip from '../tool-tip';\nimport ProductsUtils from '../../utilities/products-utils';\n\n/**\n * Component showing a color selector inside the dynamic part of client orders step 2\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrdersColorSelector from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-color-selector';\n * { this.onValueChanged(childController, value, side); }}\n />\n */\nvar ClientOrdersColorSelector = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.controller Controller that this component is modifying\n * @param {String} props.controller.variableId VariableId for the variable being edited\n * @param {String} props.controller.name Name of the variable being edited\n * @param {String} props.controller.values Possible values for the control\n * @param {String} props.controller.values.name Name of the value\n * @param {String} props.controller.values.valueId Id of the value\n * @param {String} props.controller.values.colorHex Hex color of the value\n * @param {String} props.side Side that the component is placed in (left/right)\n * @param {String} productImageUrl Url for the product\n * @param {String} showProductInformation Should product information be shown\n * @param {Function} props.onValueChanged Event to fire, when value has changed\n */\n function ClientOrdersColorSelector(props) {\n var _this;\n _classCallCheck(this, ClientOrdersColorSelector);\n _this = _callSuper(this, ClientOrdersColorSelector, [props]);\n _this.state = {};\n var hintTranslationsKey = TranslationKeys.CLIENTORDERSTEP2_FEATURE_HINT + props.controller.variableId;\n _this.translations = {\n left: TranslationManager.getTranslation(TranslationKeys.SHARED_LEFT),\n right: TranslationManager.getTranslation(TranslationKeys.SHARED_RIGHT),\n labelMandatory: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD),\n hint: TranslationManager.hasTranslation(hintTranslationsKey) ? TranslationManager.getTranslation(hintTranslationsKey) : ''\n };\n return _this;\n }\n _inherits(ClientOrdersColorSelector, _React$Component);\n return _createClass(ClientOrdersColorSelector, [{\n key: \"getVariableIdDataAttribute\",\n value: function getVariableIdDataAttribute() {\n var attribute = \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side);\n return attribute;\n }\n\n /**\n * Get the opposite side of the control\n * @private\n */\n }, {\n key: \"oppositeSide\",\n value: function oppositeSide() {\n if (this.props.side === AudiogramConstants.LEFT) {\n return AudiogramConstants.RIGHT;\n }\n if (this.props.side === AudiogramConstants.RIGHT) {\n return AudiogramConstants.LEFT;\n }\n return null;\n }\n }, {\n key: \"renderSideLabel\",\n value: function renderSideLabel() {\n return /*#__PURE__*/React.createElement(\"span\", null, this.translations[this.props.side]);\n }\n }, {\n key: \"assignIfOneColor\",\n value: function assignIfOneColor() {\n var propsShortCut = this.props.controller.values;\n if (propsShortCut.length === 1) {\n propsShortCut.forEach(function (value) {\n value.state = ClientOrderAssignmentStates.ASSIGNED;\n });\n }\n }\n }, {\n key: \"renderProductImage\",\n value: function renderProductImage() {\n if (CheckUtils.isNullObject(this.props.productImageUrl)) {\n return /*#__PURE__*/React.createElement(\"img\", {\n src: \"\",\n alt: \"\",\n style: {\n display: 'none'\n }\n });\n }\n return /*#__PURE__*/React.createElement(\"img\", {\n src: this.props.productImageUrl,\n onError: ProductsUtils.fillImageNotFound,\n alt: \"\"\n });\n }\n }, {\n key: \"renderNoImage\",\n value: function renderNoImage() {\n if (CheckUtils.isNullObject(this.props.productImageUrl)) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"icomoon icon-budicon-no-image\"\n });\n }\n return null;\n }\n }, {\n key: \"renderHardwarePreview\",\n value: function renderHardwarePreview() {\n if (this.props.showProductInformation === false) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"hardware-preview-\".concat(this.oppositeSide())\n }, this.renderNoImage(), this.renderProductImage());\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.props.isHidden) {\n return null;\n }\n var colors = [];\n var selectedValue = '';\n this.props.controller.values.forEach(function (value) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n selectedValue = value.valueId;\n }\n colors.push({\n id: value.valueId,\n name: value.name,\n hex: value.colorHex,\n colorId: value.colorId,\n forceable: value.state === ClientOrderAssignmentStates.FORCEABLE\n });\n });\n var hasError = this.props.controller.mandatory === true && selectedValue === '';\n if (this.props.isChild && hasError) {\n this.props.onChildHasError();\n }\n var hasToolTip = this.translations.hint !== '';\n var divWrapperClasses = classNames({\n 'client-orders-color-selector': true,\n 'inner-group-box-dark': true,\n 'has-error': hasError,\n 'has-tool-tip': hasToolTip\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"required-wrapper-for-help-text\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"help-text\",\n dangerouslySetInnerHTML: {\n __html: this.translations.labelMandatory\n },\n style: {\n visibility: hasError ? 'visible' : 'hidden'\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperClasses,\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.oppositeSide()),\n \"data-variable-id\": this.getVariableIdDataAttribute()\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"color-spot-label color-spot-label-\".concat(this.oppositeSide())\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"shell-color-label-\".concat(this.oppositeSide())\n }, this.props.controller.name), hasToolTip && /*#__PURE__*/React.createElement(ToolTip, {\n tooltip: this.translations.hint\n })), this.assignIfOneColor(), /*#__PURE__*/React.createElement(ColorSlider, {\n colors: colors,\n className: this.oppositeSide(),\n selectedValue: selectedValue,\n onValueChange: function onValueChange(valueId) {\n _this2.props.onValueChanged(_this2.props.controller, valueId, _this2.props.side);\n },\n showHelpText: hasError,\n helpTextHTML: this.translations.labelMandatory\n }), this.renderHardwarePreview()));\n }\n }]);\n}(React.Component);\nexport default ClientOrdersColorSelector;\nClientOrdersColorSelector.propTypes = {\n controller: PropTypes.shape({\n variableId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n mandatory: PropTypes.bool,\n values: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n valueId: PropTypes.string,\n colorHex: PropTypes.string,\n colorId: PropTypes.string\n }))\n }).isRequired,\n side: PropTypes.string.isRequired,\n productImageUrl: PropTypes.string,\n showProductInformation: PropTypes.bool,\n onValueChanged: PropTypes.func,\n isHidden: PropTypes.bool,\n isChild: PropTypes.bool,\n onChildHasError: PropTypes.func\n};\nClientOrdersColorSelector.defaultProps = {\n showProductInformation: false,\n productImageUrl: null,\n onValueChanged: function onValueChanged() {},\n isHidden: false,\n isChild: false,\n onChildHasError: function onChildHasError() {}\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { TranslationKeys, Events } from '../../infrastructure/const';\nvar EventBus = window.DGS.Event.getInstance();\n\n/**\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrderServiceDecidesCheckbox from 'wdh-feature-b2b/src/js/components/client-orders/client-order-service-decides-checkbox';\n * this.onValueChanged()}\n * id={'id'}\n * isChecked={false}\n * />\n */\nvar ClientOrderServiceDecidesCheckbox = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.isVisible\n * @param {String} props.onValueChanged\n * @param {String} props.id\n * @param {Boolean} props.isChecked\n */\n function ClientOrderServiceDecidesCheckbox(props) {\n var _this;\n _classCallCheck(this, ClientOrderServiceDecidesCheckbox);\n _this = _callSuper(this, ClientOrderServiceDecidesCheckbox, [props]);\n _this.state = {\n // isChecked: this.props.isChecked,\n };\n _this.translations = {\n serviceDecidesMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_SERVICE_DECIDES_MESSAGE)\n };\n return _this;\n }\n _inherits(ClientOrderServiceDecidesCheckbox, _React$Component);\n return _createClass(ClientOrderServiceDecidesCheckbox, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {}\n }, {\n key: \"onValueChanged\",\n value: function onValueChanged(event) {\n var target = event.target;\n var value = target.type === 'checkbox' ? target.checked : target.value;\n EventBus.trigger(Events.SERVICE_DECIDES_VALUE_CHANGED, {\n serviceDecidesSelected: value,\n serviceDecidesGroup: this.props.serviceDecidesGroup,\n side: this.props.side\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (!this.props.isDisplayed) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-decides\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n onChange: function onChange(event) {\n return _this2.onValueChanged(event);\n },\n id: this.props.id,\n checked: this.props.isChecked\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: this.props.id\n }, this.translations.serviceDecidesMessage, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\"))));\n }\n }]);\n}(React.Component);\nexport default ClientOrderServiceDecidesCheckbox;\nClientOrderServiceDecidesCheckbox.propTypes = {\n isDisplayed: PropTypes.bool,\n id: PropTypes.string.isRequired,\n isChecked: PropTypes.bool,\n side: PropTypes.string.isRequired,\n serviceDecidesGroup: PropTypes.number\n};\nClientOrderServiceDecidesCheckbox.defaultProps = {\n isDisplayed: false,\n isChecked: false,\n serviceDecidesGroup: null\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport SelectList from '../select-list';\nimport { TranslationKeys, ClientOrderAssignmentStates, Events } from '../../infrastructure/const';\nimport TranslationManager from './../../infrastructure/translation-manager';\nimport CheckUtils from '../../utilities/check-utils';\nimport ClientOrderServiceDecidesCheckbox from './client-order-service-decides-checkbox';\nimport ToolTip from '../tool-tip';\nvar EventBus = window.DGS.Event.getInstance();\n\n/**\n * Component showing a dropdown inside the dynamic part of client orders step 2\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrdersDropdown from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-dropdown';\n * { this.onValueChanged(childController, value, side); }}\n />\n */\nvar ClientOrdersDropdown = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.controller Controller that this component is modifying\n * @param {String} props.controller.variableId VariableId for the variable being edited\n * @param {String} props.controller.name Name of the variable being edited\n * @param {String} props.controller.values Possible values for the control\n * @param {String} props.controller.values.name Name of the value\n * @param {String} props.controller.values.valueId Id of the value\n * @param {String} props.controller.values.state State the value (assignable/assigned/forceable)\n * @param {String} props.side Side that the component is placed in (left/right)\n * @param {Function} props.onValueChanged Event to fire, when value has changed\n */\n function ClientOrdersDropdown(props) {\n var _this;\n _classCallCheck(this, ClientOrdersDropdown);\n _this = _callSuper(this, ClientOrdersDropdown, [props]);\n _this.state = {\n serviceDecidesSelected: false\n };\n var hintTranslationsKey = TranslationKeys.CLIENTORDERSTEP2_FEATURE_HINT + props.controller.variableId;\n _this.translations = {\n labelMandatory: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD),\n hint: TranslationManager.hasTranslation(hintTranslationsKey) ? TranslationManager.getTranslation(hintTranslationsKey) : ''\n };\n return _this;\n }\n _inherits(ClientOrdersDropdown, _React$Component);\n return _createClass(ClientOrdersDropdown, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n var _this2 = this;\n this.setState({\n serviceDecidesSelected: this.props.serviceDecidesSelected\n });\n EventBus.on(Events.SERVICE_DECIDES_VALUE_CHANGED, function (event) {\n if (event.serviceDecidesGroup === _this2.props.controller.serviceDecidesGroup && _this2.state.serviceDecidesSelected !== event.serviceDecidesSelected && event.side === _this2.props.side) {\n _this2.setState({\n serviceDecidesSelected: event.serviceDecidesSelected\n });\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n if (this.props.isHidden) {\n return null;\n }\n var items = [];\n var selectedValue = '';\n this.props.controller.values.forEach(function (value) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n selectedValue = value.valueId;\n }\n items.push({\n value: value.valueId,\n text: value.name !== undefined ? value.name : '',\n forceable: value.state === ClientOrderAssignmentStates.FORCEABLE\n });\n });\n var hasError = this.props.controller.mandatory === true && CheckUtils.isNullOrEmptyString(selectedValue) && !this.state.serviceDecidesSelected;\n if (this.props.isChild && hasError) {\n this.props.onChildHasError();\n }\n var hasToolTip = this.translations.hint !== '';\n var divWrapperClasses = classNames({\n 'client-orders-dropdown': true,\n 'inner-group-box-dark': true,\n 'has-error': hasError,\n 'has-tool-tip': hasToolTip\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"required-wrapper-for-help-text\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"help-text\",\n dangerouslySetInnerHTML: {\n __html: this.translations.labelMandatory\n },\n style: {\n visibility: hasError ? 'visible' : 'hidden'\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperClasses\n }, /*#__PURE__*/React.createElement(SelectList, {\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side),\n items: items,\n selectedValue: selectedValue,\n label: this.props.controller.name,\n onValueChange: function onValueChange(event) {\n _this3.props.onValueChanged(_this3.props.controller, event.target.value, _this3.props.side);\n },\n showHelpText: hasError,\n helpTextHTML: this.translations.labelMandatory,\n disabled: this.state.serviceDecidesSelected,\n showFloatLabel: true\n }), hasToolTip && /*#__PURE__*/React.createElement(ToolTip, {\n tooltip: this.translations.hint\n }), /*#__PURE__*/React.createElement(ClientOrderServiceDecidesCheckbox, {\n isDisplayed: this.props.displayServiceDecidesMessage,\n isChecked: this.state.serviceDecidesSelected,\n side: this.props.side,\n serviceDecidesGroup: this.props.controller.serviceDecidesGroup,\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side, \"-service-decides\")\n })));\n }\n }]);\n}(React.Component);\nexport default ClientOrdersDropdown;\nClientOrdersDropdown.propTypes = {\n controller: PropTypes.shape({\n variableId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n mandatory: PropTypes.bool,\n values: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n valueId: PropTypes.string,\n state: PropTypes.string\n })),\n serviceDecides: PropTypes.bool,\n serviceDecidesGroup: PropTypes.number\n }).isRequired,\n side: PropTypes.string.isRequired,\n onValueChanged: PropTypes.func,\n displayServiceDecidesMessage: PropTypes.bool,\n serviceDecidesSelected: PropTypes.bool,\n isHidden: PropTypes.bool,\n isChild: PropTypes.bool,\n onChildHasError: PropTypes.func\n};\nClientOrdersDropdown.defaultProps = {\n onValueChanged: function onValueChanged() {},\n displayServiceDecidesMessage: false,\n serviceDecidesSelected: false,\n isHidden: false,\n isChild: false,\n onChildHasError: function onChildHasError() {}\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport RadioList from '../radio-list';\nimport { TranslationKeys, ClientOrderAssignmentStates, Events } from '../../infrastructure/const';\nimport TranslationManager from './../../infrastructure/translation-manager';\nimport CheckUtils from '../../utilities/check-utils';\nimport ClientOrderServiceDecidesCheckbox from './client-order-service-decides-checkbox';\nvar EventBus = window.DGS.Event.getInstance();\n/**\n * Component showing a radiobox inside the dynamic part of client orders step 2\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrdersRadioBox from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-radio-box';\n * { this.onValueChanged(childController, value, side); }}\n />\n */\nvar ClientOrdersRadioBox = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.controller Controller that this component is modifying\n * @param {String} props.controller.variableId VariableId for the variable being edited\n * @param {String} props.controller.name Name of the variable being edited\n * @param {String} props.controller.values Possible values for the control\n * @param {String} props.controller.values.name Name of the value\n * @param {String} props.controller.values.valueId Id of the value\n * @param {String} props.side Side that the component is placed in (left/right)\n * @param {Function} props.onValueChanged Event to fire, when value has changed\n */\n function ClientOrdersRadioBox(props) {\n var _this;\n _classCallCheck(this, ClientOrdersRadioBox);\n _this = _callSuper(this, ClientOrdersRadioBox, [props]);\n _this.state = {\n selectedValue: null,\n serviceDecidesSelected: false\n };\n var hintTranslationsKey = TranslationKeys.CLIENTORDERSTEP2_FEATURE_HINT + props.controller.variableId;\n _this.translations = {\n labelMandatory: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD),\n hint: TranslationManager.hasTranslation(hintTranslationsKey) ? TranslationManager.getTranslation(hintTranslationsKey) : ''\n };\n return _this;\n }\n _inherits(ClientOrdersRadioBox, _React$Component);\n return _createClass(ClientOrdersRadioBox, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n var _this2 = this;\n this.setState({\n serviceDecidesSelected: this.props.serviceDecidesSelected\n });\n if (!CheckUtils.isNullObject(this.props.controller) && !CheckUtils.isNullObject(this.props.controller.values)) {\n this.setAssignedValueFromController(this.props.controller);\n }\n EventBus.on(Events.SERVICE_DECIDES_VALUE_CHANGED, function (event) {\n if (event.serviceDecidesGroup === _this2.props.controller.serviceDecidesGroup && _this2.state.serviceDecidesSelected !== event.serviceDecidesSelected && event.side === _this2.props.side) {\n _this2.setState({\n serviceDecidesSelected: event.serviceDecidesSelected,\n selectedValue: null\n });\n }\n });\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.controller !== this.props.controller && !CheckUtils.isNullObject(nextProps.controller)) {\n this.setAssignedValueFromController(nextProps.controller);\n }\n }\n }, {\n key: \"setAssignedValueFromController\",\n value: function setAssignedValueFromController(controller) {\n var selectedItem = controller.values.find(function (x) {\n return x.state === ClientOrderAssignmentStates.ASSIGNED;\n });\n if (!CheckUtils.isNullObject(selectedItem)) {\n this.setState({\n selectedValue: selectedItem.valueId\n });\n } else {\n this.setState({\n selectedValue: null\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n if (this.props.isHidden) {\n return null;\n }\n var items = [];\n this.props.controller.values.forEach(function (value) {\n items.push({\n value: value.valueId,\n text: value.name !== undefined ? value.name : '',\n forceable: value.state === ClientOrderAssignmentStates.FORCEABLE\n });\n });\n var hasError = this.props.controller.mandatory === true && this.state.selectedValue === null && !this.state.serviceDecidesSelected;\n if (this.props.isChild && hasError) {\n this.props.onChildHasError();\n }\n var divWrapperClasses = classNames({\n 'client-orders-radio-box': true,\n 'inner-group-box-dark': true,\n 'has-error': hasError\n });\n var id = \"radio-list-\".concat(this.props.controller.variableId, \"-\").concat(this.props.side, \"-\").concat(ClientOrdersRadioBox.randomString(4));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"required-wrapper-for-help-text\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"help-text\",\n dangerouslySetInnerHTML: {\n __html: this.translations.labelMandatory\n },\n style: {\n visibility: hasError ? 'visible' : 'hidden'\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperClasses,\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side)\n }, /*#__PURE__*/React.createElement(RadioList, {\n label: this.props.controller.name,\n items: items,\n selectedValue: this.state.selectedValue,\n id: id,\n onValueChange: function onValueChange(event) {\n _this3.props.onValueChanged(_this3.props.controller, event.target.value);\n },\n unselectEnabled: true,\n showHelpText: hasError,\n helpTextHTML: this.translations.labelMandatory,\n disabled: this.state.serviceDecidesSelected,\n tooltip: this.translations.hint\n }), /*#__PURE__*/React.createElement(ClientOrderServiceDecidesCheckbox, {\n isDisplayed: this.props.displayServiceDecidesMessage,\n isChecked: this.state.serviceDecidesSelected,\n side: this.props.side,\n serviceDecidesGroup: this.props.controller.serviceDecidesGroup,\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side, \"-service-decides\")\n })));\n }\n }], [{\n key: \"randomString\",\n value:\n /**\n * Generate a random string\n * @param {Number} length Length of the random string\n */\n function randomString(length) {\n var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n var string = '';\n for (var r = 0; r < length; r += 1) {\n string += letters.charAt(Math.floor(Math.random() * letters.length));\n }\n return string;\n }\n }]);\n}(React.Component);\nexport default ClientOrdersRadioBox;\nClientOrdersRadioBox.propTypes = {\n controller: PropTypes.shape({\n variableId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n mandatory: PropTypes.bool,\n values: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n valueId: PropTypes.string\n })),\n serviceDecides: PropTypes.bool,\n serviceDecidesGroup: PropTypes.number,\n displayServiceDecidesMessage: PropTypes.bool\n }).isRequired,\n side: PropTypes.string.isRequired,\n onValueChanged: PropTypes.func.isRequired,\n displayServiceDecidesMessage: PropTypes.bool,\n serviceDecidesSelected: PropTypes.bool,\n isHidden: PropTypes.bool,\n isChild: PropTypes.bool,\n onChildHasError: PropTypes.func\n};\nClientOrdersRadioBox.defaultProps = {\n displayServiceDecidesMessage: false,\n serviceDecidesSelected: false,\n isHidden: false,\n isChild: false,\n onChildHasError: function onChildHasError() {}\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ClientOrderMode } from '../../infrastructure/const';\nimport ProductsUtils from '../../utilities/products-utils';\nvar ClientOrdersImage = function ClientOrdersImage(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-group-box-transparent\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: props.side === ClientOrderMode.LEFT ? 'hardware-preview-right' : 'hardware-preview-left'\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: props.productImageUrl,\n onError: ProductsUtils.fillImageNotFound,\n alt: \"\"\n })));\n};\nexport default ClientOrdersImage;\nClientOrdersImage.propTypes = {\n side: PropTypes.string.isRequired,\n productImageUrl: PropTypes.string\n};\nClientOrdersImage.defaultProps = {\n productImageUrl: ''\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ClientOrdersColorSelector from '../../components/client-orders/client-orders-color-selector';\nimport ClientOrdersDropdown from '../../components/client-orders/client-orders-dropdown';\nimport ClientOrdersRadioBox from '../../components/client-orders/client-orders-radio-box';\nimport ClientOrdersTabbedPane from '../../components/client-orders/client-orders-tabbed-pane';\nimport Accordion from '../bulk-order/accordion';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { ClientOrderAssignmentStates, TranslationKeys } from '../../infrastructure/const';\nimport CheckUtils from '../../utilities/check-utils';\nimport ClientOrdersImage from \"./client-orders-image-controller\";\n// import Logger from '../../../../../../wdh-foundation/wdh-logger/wdh-logger';\n\n/**\n * Component showing a collapsible pane inside the dynamic part of client orders step 2\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrdersCollapsiblePane from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-collapsible-pane';\n * { this.onValueChanged(childController, value, side); }}\n unselectEnabled={this.state.unselectEnabled}\n />\n */\nvar ClientOrdersCollapsiblePane = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.controller Controller that this component is modifying\n * @param {String} props.controller.variableId VariableId for the variable being edited\n * @param {String} props.controller.name Name of the variable being edited\n * @param {Array} props.controller.values Possible values for the control\n * @param {String} props.side Side that the component is placed in (left/right)\n * @param {Function} props.onValueChanged Event to fire, when value has changed\n * @param {Bool} props.unselectEnabled Should it be possible to unselect\n */\n function ClientOrdersCollapsiblePane(props) {\n var _this;\n _classCallCheck(this, ClientOrdersCollapsiblePane);\n _this = _callSuper(this, ClientOrdersCollapsiblePane, [props]);\n var helperTextTranslationsKey = TranslationKeys.CLIENTORDERSTEP2_HELPER_TEXT_TRANSLATION_PREFIX + props.controller.helperText;\n _this.translations = {\n labelMandatory: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD),\n helperText: TranslationManager.hasTranslation(helperTextTranslationsKey) ? TranslationManager.getTranslation(helperTextTranslationsKey) : ''\n };\n _this.state = {\n selectedValue: null,\n hasError: false\n };\n _this.childHasError = false;\n _this.onChildHasError = _this.onChildHasError.bind(_this);\n return _this;\n }\n _inherits(ClientOrdersCollapsiblePane, _React$Component);\n return _createClass(ClientOrdersCollapsiblePane, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.getSelectedValue();\n }\n\n /**\n * Set the audigram data, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n var selectedExists = false;\n nextProps.controller.values.forEach(function (value) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n selectedExists = true;\n _this2.setState({\n selectedValue: value.valueId\n });\n }\n });\n if (!selectedExists) {\n this.setState({\n selectedValue: null\n });\n }\n }\n\n /* after finishing rendering of child components, check to see if any reported an error. if so, set our state accordingly. */\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (prevState.hasError !== this.childHasError) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n hasError: this.childHasError\n });\n }\n }\n }, {\n key: \"onTabClick\",\n value: function onTabClick(controller, value) {\n if (this.props.unselectEnabled && value === this.state.selectedValue) {\n value = null;\n }\n this.setState({\n selectedValue: value\n });\n this.props.onValueChanged(controller, value);\n }\n }, {\n key: \"onChildHasError\",\n value: function onChildHasError() {\n this.childHasError = true;\n }\n }, {\n key: \"getSelectedValue\",\n value: function getSelectedValue() {\n var _this3 = this;\n this.props.controller.values.forEach(function (value) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n _this3.setState({\n selectedValue: value.valueId\n });\n }\n });\n }\n }, {\n key: \"renderChildController\",\n value: function renderChildController(controller, side, displayServiceDecidesMessage, serviceDecidesSelected) {\n var _this4 = this;\n switch (controller.type) {\n case 'color-selector':\n return /*#__PURE__*/React.createElement(ClientOrdersColorSelector, {\n side: side,\n controller: controller,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n isHidden: controller.isHidden,\n isChild: true,\n onChildHasError: function onChildHasError() {\n return _this4.onChildHasError();\n }\n });\n case 'dropdown':\n return /*#__PURE__*/React.createElement(ClientOrdersDropdown, {\n isHidden: controller.isHidden,\n displayServiceDecidesMessage: displayServiceDecidesMessage,\n serviceDecidesSelected: serviceDecidesSelected,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n isChild: true,\n onChildHasError: function onChildHasError() {\n return _this4.onChildHasError();\n }\n });\n case 'radio-box':\n return /*#__PURE__*/React.createElement(ClientOrdersRadioBox, {\n isHidden: controller.isHidden,\n displayServiceDecidesMessage: displayServiceDecidesMessage,\n serviceDecidesSelected: serviceDecidesSelected,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n isChild: true,\n onChildHasError: function onChildHasError() {\n return _this4.onChildHasError();\n }\n });\n case 'tabbed-pane':\n return /*#__PURE__*/React.createElement(ClientOrdersTabbedPane, {\n isHidden: controller.isHidden,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: this.props.serviceDecidesAssignments,\n isChild: true,\n onChildHasError: function onChildHasError() {\n return _this4.onChildHasError();\n }\n });\n case 'collapsible-pane':\n return /*#__PURE__*/React.createElement(ClientOrdersCollapsiblePane, {\n isHidden: controller.isHidden,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: this.props.serviceDecidesAssignments,\n isChild: true,\n onChildHasError: function onChildHasError() {\n return _this4.onChildHasError();\n }\n });\n case 'image':\n return /*#__PURE__*/React.createElement(ClientOrdersImage, {\n side: side,\n productImageUrl: this.props.productImageUrl\n });\n default:\n return null;\n }\n }\n }, {\n key: \"renderChildControllers\",\n value: function renderChildControllers(controller, side) {\n var _this5 = this;\n if (controller === null) {\n return null;\n }\n if (controller.values === undefined) {\n return null;\n }\n var childControllers = [];\n controller.values.forEach(function (value) {\n if (value.controllers !== undefined) {\n value.controllers.forEach(function (childController) {\n childControllers.push(childController);\n });\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", null, childControllers.map(function (childController) {\n var displayServiceDecidesMessage = false;\n var selected = false;\n if (childController.serviceDecides && !CheckUtils.isNullObject(_this5.props.serviceDecidesAssignments)) {\n var serviceDecides = _this5.props.serviceDecidesAssignments.find(function (x) {\n return x.serviceDecidesGroup === childController.serviceDecidesGroup;\n });\n if (serviceDecides.variableIds.length > 0 && serviceDecides.variableIds[0] === childController.variableId) {\n displayServiceDecidesMessage = true;\n }\n selected = serviceDecides.serviceDecidesSelected;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: childController.variableId\n }, _this5.renderChildController(childController, side, displayServiceDecidesMessage, selected));\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n // reset our flag.\n this.childHasError = false;\n if (this.props.isHidden) {\n return null;\n }\n var divWrapperClasses = classNames({\n 'client-orders-collapsible-pane': true,\n 'has-error': this.state.hasError\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperClasses,\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side)\n }, /*#__PURE__*/React.createElement(Accordion, {\n title: this.props.controller.groupName,\n subtitle: this.translations.helperText,\n forceActive: this.state.hasError && this.props.forceActive,\n defaultOpen: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n name: \"ChildControllers\",\n className: \"child-controllers\"\n }, this.renderChildControllers(this.props.controller, this.props.side))));\n }\n }]);\n}(React.Component);\nexport default ClientOrdersCollapsiblePane;\nClientOrdersCollapsiblePane.propTypes = {\n controller: PropTypes.shape({\n mandatory: PropTypes.bool,\n helperText: PropTypes.string,\n variableId: PropTypes.string.isRequired,\n groupName: PropTypes.string.isRequired,\n values: PropTypes.array.isRequired\n }).isRequired,\n side: PropTypes.string.isRequired,\n onValueChanged: PropTypes.func,\n unselectEnabled: PropTypes.bool,\n serviceDecidesAssignments: PropTypes.array,\n isHidden: PropTypes.bool,\n forceActive: PropTypes.bool,\n productImageUrl: PropTypes.string\n};\nClientOrdersCollapsiblePane.defaultProps = {\n onValueChanged: function onValueChanged() {},\n unselectEnabled: false,\n serviceDecidesAssignments: null,\n isHidden: false,\n forceActive: false,\n productImageUrl: ''\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ClientOrdersColorSelector from '../../components/client-orders/client-orders-color-selector';\nimport ClientOrdersDropdown from '../../components/client-orders/client-orders-dropdown';\nimport ClientOrdersRadioBox from '../../components/client-orders/client-orders-radio-box';\nimport ClientOrdersCollapsiblePane from '../../components/client-orders/client-orders-collapsible-pane';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { ClientOrderAssignmentStates, ClientOrderMode, TranslationKeys } from '../../infrastructure/const';\nimport CheckUtils from '../../utilities/check-utils';\nimport ClientOrdersImage from \"./client-orders-image-controller\";\n// import Logger from '../../../../../wdh-logger/wdh-logger';\n\n/**\n * Component showing a tabbed pane inside the dynamic part of client orders step 2\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrdersTabbedPane from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-tabbed-pane';\n * { this.onValueChanged(childController, value, side); }}\n unselectEnabled={this.state.unselectEnabled}\n />\n */\nvar ClientOrdersTabbedPane = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.controller Controller that this component is modifying\n * @param {String} props.controller.variableId VariableId for the variable being edited\n * @param {String} props.controller.name Name of the variable being edited\n * @param {Array} props.controller.values Possible values for the control\n * @param {String} props.side Side that the component is placed in (left/right)\n * @param {Function} props.onValueChanged Event to fire, when value has changed\n * @param {Bool} props.unselectEnabled Should it be possible to unselect\n */\n function ClientOrdersTabbedPane(props) {\n var _this;\n _classCallCheck(this, ClientOrdersTabbedPane);\n _this = _callSuper(this, ClientOrdersTabbedPane, [props]);\n _this.translations = {\n labelMandatory: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD)\n };\n _this.state = {\n selectedValue: null\n };\n return _this;\n }\n _inherits(ClientOrdersTabbedPane, _React$Component);\n return _createClass(ClientOrdersTabbedPane, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.getSelectedValue();\n }\n\n /**\n * Set the audigram data, when props has updated\n * @param {Object} nextProps The new props\n * @private\n */\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n var selectedExists = false;\n nextProps.controller.values.forEach(function (value) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n selectedExists = true;\n _this2.setState({\n selectedValue: value.valueId\n });\n }\n });\n if (!selectedExists) {\n this.setState({\n selectedValue: null\n });\n }\n }\n }, {\n key: \"onTabClick\",\n value: function onTabClick(controller, value) {\n if (this.props.unselectEnabled && value === this.state.selectedValue) {\n value = null;\n }\n this.setState({\n selectedValue: value\n });\n this.props.onValueChanged(controller, value);\n }\n }, {\n key: \"getSelectedValue\",\n value: function getSelectedValue() {\n var _this3 = this;\n this.props.controller.values.forEach(function (value) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n _this3.setState({\n selectedValue: value.valueId\n });\n }\n });\n }\n }, {\n key: \"renderChildController\",\n value: function renderChildController(controller, side, displayServiceDecidesMessage, serviceDecidesSelected) {\n var _this4 = this;\n switch (controller.type) {\n case 'color-selector':\n return /*#__PURE__*/React.createElement(ClientOrdersColorSelector, {\n side: side,\n controller: controller,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n isHidden: controller.isHidden\n });\n case 'dropdown':\n return /*#__PURE__*/React.createElement(ClientOrdersDropdown, {\n isHidden: controller.isHidden,\n displayServiceDecidesMessage: displayServiceDecidesMessage,\n serviceDecidesSelected: serviceDecidesSelected,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n }\n });\n case 'radio-box':\n return /*#__PURE__*/React.createElement(ClientOrdersRadioBox, {\n isHidden: controller.isHidden,\n displayServiceDecidesMessage: displayServiceDecidesMessage,\n serviceDecidesSelected: serviceDecidesSelected,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n }\n });\n case 'tabbed-pane':\n return /*#__PURE__*/React.createElement(ClientOrdersTabbedPane, {\n isHidden: controller.isHidden,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: this.props.serviceDecidesAssignments\n });\n case 'collapsible-pane':\n return /*#__PURE__*/React.createElement(ClientOrdersCollapsiblePane, {\n isHidden: controller.isHidden,\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this4.props.onValueChanged(childController, value);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: this.props.serviceDecidesAssignments\n });\n case 'image':\n return /*#__PURE__*/React.createElement(ClientOrdersImage, {\n side: side,\n productImageUrl: this.props.productImageUrl\n });\n default:\n return null;\n }\n }\n }, {\n key: \"renderChildControllers\",\n value: function renderChildControllers(controller, side) {\n var _this5 = this;\n if (controller === null) {\n return null;\n }\n if (controller.values === undefined) {\n return null;\n }\n var childControllers = [];\n controller.values.forEach(function (value) {\n if (value.controllers !== undefined) {\n if (value.state === ClientOrderAssignmentStates.ASSIGNED) {\n value.controllers.forEach(function (childController) {\n childControllers.push(childController);\n });\n }\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", null, childControllers.map(function (childController) {\n var displayServiceDecidesMessage = false;\n var selected = false;\n if (childController.serviceDecides && !CheckUtils.isNullObject(_this5.props.serviceDecidesAssignments)) {\n var serviceDecides = _this5.props.serviceDecidesAssignments.find(function (x) {\n return x.serviceDecidesGroup === childController.serviceDecidesGroup;\n });\n if (serviceDecides.variableIds.length > 0 && serviceDecides.variableIds[0] === childController.variableId) {\n displayServiceDecidesMessage = true;\n }\n selected = serviceDecides.serviceDecidesSelected;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: childController.variableId\n }, _this5.renderChildController(childController, side, displayServiceDecidesMessage, selected));\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this6 = this;\n if (this.props.isHidden) {\n return null;\n }\n var hasError = this.props.controller.mandatory === true && this.state.selectedValue === null;\n var divWrapperClasses = classNames({\n 'client-orders-tabbed-pane': true,\n 'has-error': hasError\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: divWrapperClasses,\n id: \"\".concat(this.props.controller.variableId, \"-\").concat(this.props.side)\n }, this.props.displayTabs && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames('wdh-feature-b2b-tabs', _defineProperty({}, \"tabs-\".concat(this.props.controller.values.length), true))\n }, this.props.controller.values.filter(function (val) {\n return !CheckUtils.isNullOrEmptyString(val.name);\n }).map(function (value) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: value.valueId,\n \"data-value-id\": value.valueId,\n onClick: function onClick() {\n _this6.onTabClick(_this6.props.controller, value.valueId, _this6.props.side);\n },\n role: \"presentation\",\n className: classNames({\n active: value.valueId === _this6.state.selectedValue,\n 'tab-forceable': value.state === ClientOrderAssignmentStates.FORCEABLE\n })\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\")), /*#__PURE__*/React.createElement(\"span\", null, value.name));\n })), hasError && /*#__PURE__*/React.createElement(\"div\", {\n className: \"help-text\"\n }, this.translations.labelMandatory)), /*#__PURE__*/React.createElement(\"div\", {\n name: \"ChildControllers\"\n }, this.renderChildControllers(this.props.controller, this.props.side)));\n }\n }]);\n}(React.Component);\nexport default ClientOrdersTabbedPane;\nClientOrdersTabbedPane.propTypes = {\n controller: PropTypes.shape({\n mandatory: PropTypes.bool,\n variableId: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n values: PropTypes.array.isRequired\n }).isRequired,\n side: PropTypes.string.isRequired,\n onValueChanged: PropTypes.func,\n unselectEnabled: PropTypes.bool,\n serviceDecidesAssignments: PropTypes.array,\n isHidden: PropTypes.bool,\n displayTabs: PropTypes.bool,\n productImageUrl: PropTypes.string\n};\nClientOrdersTabbedPane.defaultProps = {\n onValueChanged: function onValueChanged() {},\n unselectEnabled: false,\n serviceDecidesAssignments: null,\n isHidden: false,\n displayTabs: true,\n productImageUrl: ''\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport TranslationManager from '../infrastructure/translation-manager';\nimport { TranslationKeys } from '../infrastructure/const';\n\n/**\n * Component to show add-to-cart button and handle add to cart functionallity\n * @memberOf module:wdh-feature-b2b\n * @example\n * import AddToCartClientOrdersButton from 'wdh-feature-b2b/src/js/components/add-to-cart-client-orders-button';\n * this.addToCartClicked(e)} enabled={true} />\n */\nvar AddToCartClientOrdersButton = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Func} props.onButtonClicked The button is clicked\n * @param {Bool} props.enabled The button is enabled\n */\n function AddToCartClientOrdersButton(props) {\n var _this;\n _classCallCheck(this, AddToCartClientOrdersButton);\n _this = _callSuper(this, AddToCartClientOrdersButton, [props]);\n\n /**\n * hasProducts: Flag control the text on the add-to-cart button\n * enableCartButton: Flag control enable/disable of the add-to-cart button\n * showCartConfirmationModal: Flag control the visiblity of the show-cart-confimation modal\n * addedToCartProducts: Product to show in the how-cart-confimation modal\n * @private\n * @type {Object}\n */\n _this.state = {};\n\n /**\n * Translation texts for the component\n * @private\n * @type {object}\n */\n _this.translations = {\n pleaseAddQuantityLabelText: TranslationManager.getTranslation(TranslationKeys.SHARED_PLEASEADDQUANTITY),\n updateCartButtonText: TranslationManager.getTranslation(TranslationKeys.SHARED_UPDATECART),\n addToCartButtonText: TranslationManager.getTranslation(TranslationKeys.SHARED_ADDTOCART)\n };\n return _this;\n }\n _inherits(AddToCartClientOrdersButton, _React$Component);\n return _createClass(AddToCartClientOrdersButton, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var cartButton = classNames({\n 'wdh-feature-b2b-button dark-bg add-to-cart': true\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-addToCartButton\"\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: cartButton,\n onClick: function onClick(e) {\n _this2.props.onButtonClicked(e);\n },\n type: \"button\"\n }, this.props.clientOrderInCart ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"message\"\n }, this.translations.updateCartButtonText) : /*#__PURE__*/React.createElement(\"span\", {\n className: \"message\"\n }, this.translations.addToCartButtonText), ' ', /*#__PURE__*/React.createElement(\"i\", {\n className: \"icon icon-ecommerce-shopcart\"\n })));\n }\n }]);\n}(React.Component);\nAddToCartClientOrdersButton.propTypes = {\n onButtonClicked: PropTypes.func,\n clientOrderInCart: PropTypes.bool\n};\nAddToCartClientOrdersButton.defaultProps = {\n onButtonClicked: function onButtonClicked() {},\n clientOrderInCart: false\n};\nexport default AddToCartClientOrdersButton;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport CheckUtils from './check-utils';\nimport moment from 'moment';\nvar DateTimeUtils = /*#__PURE__*/function () {\n function DateTimeUtils() {\n _classCallCheck(this, DateTimeUtils);\n }\n return _createClass(DateTimeUtils, null, [{\n key: \"ageInMonths\",\n value: function ageInMonths(date) {\n if (CheckUtils.isNullObject(date)) {\n return null;\n }\n var oneDay = 24 * 60 * 60 * 1000;\n var diffDays = Math.round(Math.abs((new Date(date).getTime() - new Date(Date.now()).getTime()) / oneDay));\n return Math.ceil(diffDays / 365.22 * 12);\n }\n }, {\n key: \"convertDate\",\n value: function convertDate(date) {\n var desiredFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'MM/DD/YY';\n var currentFormat = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'YYYY-MM-DD';\n if (CheckUtils.isNullOrEmptyString(date)) {\n return '';\n }\n return moment(date, currentFormat).format(desiredFormat);\n }\n }]);\n}();\nexport default DateTimeUtils;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { TranslationKeys } from '../../infrastructure/const';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport CheckUtils from '../../utilities/check-utils';\nimport ModalDialog from '../../components/modal-dialog';\nimport TextInput from '../../components/text-input';\n\n// /**\n// * Component showing a dropdown inside the dynamic part of client orders step 2\n// * @memberOf module:wdh-feature-b2b\n// * @example\n// * import ClientOrdersDropdown from 'wdh-feature-b2b/src/js/components/client-orders/client-orders-dropdown';\n// * { this.onValueChanged(childController, value, side); }}\n// />\n// */\nvar ClientOrdersAddFavouriteDialog = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Function} props.onValueChanged Event to fire, when value has changed\n * @param {bool} props.isOpen Should modal be displayed\n */\n function ClientOrdersAddFavouriteDialog(props) {\n var _this;\n _classCallCheck(this, ClientOrdersAddFavouriteDialog);\n _this = _callSuper(this, ClientOrdersAddFavouriteDialog, [props]);\n _this.state = {\n submitted: false,\n name: '',\n valid: false\n };\n _this.translations = {\n saveFavourite: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_SAVEFAVOURITEBUTTON),\n mandatoryFormField: TranslationManager.getTranslation(TranslationKeys.SHARED_MANDATORYFORMFIELD),\n header: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_ADDFAVOURITEHEADER)\n };\n return _this;\n }\n _inherits(ClientOrdersAddFavouriteDialog, _React$Component);\n return _createClass(ClientOrdersAddFavouriteDialog, [{\n key: \"onValueChange\",\n value: function onValueChange(event) {\n if (!CheckUtils.isNullObject(event) && !CheckUtils.isNullObject(event.target)) {\n this.setState({\n name: event.target.value,\n valid: !CheckUtils.isNullOrEmptyString(event.target.value)\n });\n }\n }\n }, {\n key: \"onSubmit\",\n value: function onSubmit() {\n this.setState({\n submitted: true\n });\n if (this.state.valid) {\n this.props.onSubmit(this.state.name);\n this.resetForm();\n }\n }\n }, {\n key: \"onCancel\",\n value: function onCancel() {\n this.resetForm();\n this.props.onCancel();\n }\n }, {\n key: \"resetForm\",\n value: function resetForm() {\n this.setState({\n name: '',\n valid: false,\n submitted: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.props.isOpen,\n className: \"wdh-feature-btb-modalContent favourite-popup\",\n onOkClick: function onOkClick(event) {\n return _this2.onSubmit(event);\n },\n onCancelClick: function onCancelClick() {\n return _this2.onCancel();\n },\n okLabel: this.translations.saveFavourite,\n type: ModalDialog.types.okCancel\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-addToFavourites shipping-address-grid\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.header), /*#__PURE__*/React.createElement(TextInput, {\n id: \"wdh-b2b-add-favourite\",\n onValueChange: function onValueChange(event) {\n return _this2.onValueChange(event);\n },\n inputValue: this.state.name,\n name: \"addFavourite\",\n showHelpText: this.state.submitted && !this.state.valid,\n helpTextHTML: this.translations.mandatoryFormField,\n hasError: this.state.submitted && !this.state.valid\n })));\n }\n }]);\n}(React.Component);\nexport default ClientOrdersAddFavouriteDialog;\nClientOrdersAddFavouriteDialog.propTypes = {\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n isOpen: PropTypes.bool\n};\nClientOrdersAddFavouriteDialog.defaultProps = {\n onCancel: function onCancel() {},\n onSubmit: function onSubmit() {},\n isOpen: false\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _readOnlyError(r) { throw new TypeError('\"' + r + '\" is read-only'); }\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\n/* eslint-disable */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { WDHComponent } from '../../../../wdh-foundation/wdh';\nimport Audiogram from './components/audiogram';\nimport ConfigurationManager from './infrastructure/configuration-manager';\nimport SiteLinkManager from './infrastructure/site-link-manager';\nimport { TranslationKeys, ClientOrderMode, SiteLinks, SpinnerTypes, QueryStrings, AddToCartButtonTypes, ClientOrderCommonTypes, ClientOrderAssignmentStates, Events, FeatureFlags, FeatureFlagValues, EventTypes } from './infrastructure/const';\nimport TranslationManager from './infrastructure/translation-manager';\nimport Wizard from './components/wizard';\nimport ModalDialog from './components/modal-dialog';\nimport StickyHeader from './components/sticky-header';\nimport ClientOrdersAudioGram from './components/client-orders/client-orders-audiogram';\nimport ClientOrdersColorSelector from './components/client-orders/client-orders-color-selector';\nimport ClientOrdersDropdown from './components/client-orders/client-orders-dropdown';\nimport ClientOrdersRadioBox from './components/client-orders/client-orders-radio-box';\nimport ClientOrdersTabbedPane from './components/client-orders/client-orders-tabbed-pane';\nimport ClientOrdersCollapsiblePane from './components/client-orders/client-orders-collapsible-pane';\nimport ClientOrderService from './services/client-order-service';\nimport RadioList from './components/radio-list';\nimport Logger from '../../../../wdh-foundation/wdh-logger/wdh-logger';\nimport Spinner from './components/spinner';\nimport CheckUtils from './utilities/check-utils';\nimport AddToCartClientOrdersButton from './components/add-to-cart-client-orders-button';\nimport UrlUtils from './utilities/url-utils';\nimport ApiClient from './infrastructure/api/api-client';\nimport GeneralError from './components/general-error';\nimport DateTimeUtils from './utilities/datetime-utils';\nimport ProductUtils from './utilities/products-utils';\nimport ClientOrdersUtils from './utilities/client-orders-utils';\nimport ClientOrderRemoveFromCartModal from './components/client-orders/client-order-remove-from-cart-modal';\nimport ClientOrdersAddFavouriteDialog from './components/client-orders/client-orders-add-favourite-dialog';\nimport FeatureFlagWrapper from './components/feature-flag-wrapper';\nimport Loader from \"react-loader-advanced\";\nimport { loaderBackgroundStyle, loaderOpacityLight, spinner } from \"../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner\";\nimport ClientOrdersImage from \"./components/client-orders/client-orders-image-controller\";\nimport ProductsUtils from './utilities/products-utils';\n\n/**\n * Component for showing the second step of the client orders\n * @memberOf module:wdh-feature-b2b\n */\nvar WDHFeatureB2BClientOrderStep2Spot = /*#__PURE__*/function (_WDHComponent) {\n function WDHFeatureB2BClientOrderStep2Spot() {\n var className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wdh-feature-b2b-client-order-step2-spot';\n _classCallCheck(this, WDHFeatureB2BClientOrderStep2Spot);\n return _callSuper(this, WDHFeatureB2BClientOrderStep2Spot, [className]);\n }\n _inherits(WDHFeatureB2BClientOrderStep2Spot, _WDHComponent);\n return _createClass(WDHFeatureB2BClientOrderStep2Spot, [{\n key: \"init\",\n value: function init(component) {\n var _this = this;\n // Check that shop initialization has executed\n if (!ConfigurationManager.validateConfigurationLoaded(this.constructor.name)) {\n // if not, we can wait for the shop init event.\n EventBus.on(EventTypes.SHOP_INIT_READY, function () {\n if (!ConfigurationManager.validateConfigurationLoaded(_this.constructor.name)) {\n return;\n }\n ReactDOM.render(/*#__PURE__*/React.createElement(ClientOrderStep2, {\n className: _this.className\n }), component.querySelector('.component-content'));\n });\n return;\n }\n ReactDOM.render(/*#__PURE__*/React.createElement(ClientOrderStep2, {\n className: this.className\n }), component.querySelector('.component-content'));\n }\n }]);\n}(WDHComponent);\nexport default WDHFeatureB2BClientOrderStep2Spot;\nvar EventBus = window.DGS.Event.getInstance();\n\n/**\n * @param props\n * @memberof module:wdh-feature-b2b\n * @example\n * \n * @private\n */\nvar ClientOrderStep2 = /*#__PURE__*/function (_React$Component) {\n function ClientOrderStep2(props) {\n var _this2;\n _classCallCheck(this, ClientOrderStep2);\n _this2 = _callSuper(this, ClientOrderStep2, [props]);\n _this2.addToCartLabel = TranslationManager.getTranslation(TranslationKeys.SHARED_ADDTOCART);\n _this2.state = {\n hideSpinner: false,\n forceableDialogIsOpen: false,\n forceAssignments: null,\n forceableErrorDialogIsOpen: false,\n forceableErrorMessage: null,\n copyErrorDialogIsOpen: false,\n isAudiogramVisible: false,\n audiogramDataLeft: [],\n audiogramDataRight: [],\n isAudiogramValid: false,\n leftAssignments: null,\n rightAssignments: null,\n sharedAssignments: null,\n isLeftPurchasable: true,\n isRightPurchasable: true,\n clientOrderMode: ClientOrderMode.BINAURAL,\n wizardSteps: [{\n labelActive: TranslationManager.getTranslation(TranslationKeys.CLIENTORDER_NAVIGATION_STEP1_LABEL),\n labelPassive: TranslationManager.getTranslation(TranslationKeys.CLIENTORDER_NAVIGATION_STEP1_SHORT_LABEL),\n link: SiteLinkManager.getSiteLink(SiteLinks.CLIENTORDERSTEP1),\n value: '1'\n }, {\n labelActive: TranslationManager.getTranslation(TranslationKeys.CLIENTORDER_NAVIGATION_STEP2_LABEL),\n labelPassive: TranslationManager.getTranslation(TranslationKeys.CLIENTORDER_NAVIGATION_STEP2_SHORT_LABEL),\n link: SiteLinkManager.getSiteLink(SiteLinks.CLIENTORDERSTEP2),\n value: '2'\n }, {\n labelActive: TranslationManager.getTranslation(TranslationKeys.CLIENTORDER_NAVIGATION_STEP3_LABEL),\n labelPassive: TranslationManager.getTranslation(TranslationKeys.CLIENTORDER_NAVIGATION_STEP3_SHORT_LABEL),\n link: SiteLinkManager.getSiteLink(SiteLinks.CLIENTORDERSTEP3),\n value: '3'\n }],\n activeWizardStepIndex: 1,\n productImageUrlLeft: null,\n productImageUrlRight: null,\n addToCardButtonEnabled: true,\n ageInMonths: null,\n showError: false,\n errorMessage: null,\n error: null,\n mandatoryFilledOut: false,\n clientOrderCategories: [],\n currentClientOrder: null,\n colorNames: {\n leftColor: null,\n rightColor: null\n },\n inCart: false,\n inCartProductsIds: [],\n /**\n * Disabling configuration will remove your product from cart\n */\n removeProductFromCartDialogIsOpen: false,\n /**\n * WDHEC-4637: Apply control to shopping cart to only contain one client order at the time as it has been done on Magento shops\n */\n removeClientOrderFromCartModalIsOpen: false,\n isAudiogramMandatory: false,\n addToFavouriteDialogOpen: false,\n favouriteAddedDialogOpen: false,\n forceAccordionsOpen: false\n };\n _this2.translations = {\n cancelAudiogramButtonLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_CANCELAUDIOGRAMBUTTON),\n saveAudiogramButtonLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_SAVEAUDIOGRAMBUTTON),\n clientOrderErrorMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_ERROR_MESSAGE),\n clientOrderStep2ForceMessageLine1: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_1),\n clientOrderStep2ForceMessageLine2: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_2),\n clientOrderStep2ForceMessageLine3: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_3),\n clientOrderStep2ForceMessageLine4: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_4),\n clientOrderStep2RightOnly: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_RIGHT_ONLY),\n clientOrderStep2LeftOnly: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_LEFT_ONLY),\n clientOrderStep2Header: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_HEADER),\n clientOrderStep2Paragraph: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_PARAGRAPH),\n clientOrderStep2Binaural: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_BINAURAL),\n clientOrderStep2RequiredFieldsInfo: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_REQUIRED_FIELDS_INFO),\n clientOrderStep2Info: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_INFO),\n clientOrderStep2CopySelections: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_COPY_SELECTIONS),\n clientOrderStep2CopyRight: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_COPY_RIGHT),\n clientOrderStep2CopyLeft: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_COPY_LEFT),\n clientOrderStep2CopyError: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_COPY_ERROR),\n clientOrderStep2RemoveConfigurationWarning: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_REMOVE_CONFIGURATION_WARNING),\n left: TranslationManager.getTranslation(TranslationKeys.SHARED_LEFT),\n right: TranslationManager.getTranslation(TranslationKeys.SHARED_RIGHT),\n addToFavourites: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP1_ADD_TO_FAVOURITES),\n favouriteSaved: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_FAVOURITECONFIGURATIONSAVED)\n };\n _this2.wrapperRef = /*#__PURE__*/React.createRef();\n return _this2;\n }\n _inherits(ClientOrderStep2, _React$Component);\n return _createClass(ClientOrderStep2, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n var _this3 = this;\n EventBus.on(Events.SERVICE_DECIDES_VALUE_CHANGED, function (event) {\n var assignments = event.side === ClientOrderMode.RIGHT ? _this3.state.rightAssignments : _this3.state.leftAssignments;\n var currentServiceDecides = assignments.serviceDecidesAssignments.find(function (x) {\n return x.serviceDecidesGroup === event.serviceDecidesGroup;\n });\n if (!CheckUtils.isNullObject(currentServiceDecides)) {\n currentServiceDecides.serviceDecidesSelected = event.serviceDecidesSelected;\n var currentAssignments = ClientOrderService.getCurrentAssignments(assignments.controllers, assignments.serviceDecidesAssignments, event.side);\n ClientOrderService.mergeTemplateWithAssignments(_this3.state.template, event.side, _this3.state.productId, currentAssignments, _this3.state.ageInMonths).then(function (newAssignments) {\n if (event.side === ClientOrderMode.LEFT) {\n _this3.setState({\n leftAssignments: newAssignments\n }, function () {\n _this3.validateAssignments();\n _this3.updateClientOrder({\n leftAssignments: newAssignments\n }).then(function (clientOrderResult) {\n _this3.setState({\n currentClientOrder: clientOrderResult,\n hideSpinner: true\n });\n });\n });\n } else if (event.side === ClientOrderMode.RIGHT) {\n _this3.setState({\n rightAssignments: newAssignments\n }, function () {\n _this3.validateAssignments();\n _this3.updateClientOrder({\n rightAssignments: newAssignments\n }).then(function (clientOrderResult) {\n _this3.setState({\n currentClientOrder: clientOrderResult,\n hideSpinner: true\n });\n });\n });\n }\n });\n }\n });\n ApiClient.category.getClientOrderCategories().then(function (categories) {\n _this3.setState({\n clientOrderCategories: categories\n });\n });\n var clientOrderId = UrlUtils.getParameterByName(QueryStrings.CLIENT_ORDER_ID);\n var openAudiogramParameter = UrlUtils.getParameterByName(QueryStrings.CLIENT_ORDER_OPEN_AUDIOGRAM);\n if (CheckUtils.isNullOrEmptyString(clientOrderId)) {\n this.showError(this.translations.clientOrderErrorMessage, 'Missing clientOrderId parameter in url');\n return;\n }\n ApiClient.clientOrder.get(clientOrderId).then(function (clientOrder) {\n var productId = clientOrder.productId;\n var wizardSteps = JSON.parse(JSON.stringify(_this3.state.wizardSteps));\n wizardSteps[0].link += \"?clientOrderId=\".concat(clientOrderId);\n wizardSteps[0].labelPassive = _this3.GetFirstWizardStepLabel(clientOrder.categoryId, clientOrder.endUserInformation);\n wizardSteps[1].link += \"?clientOrderId=\".concat(clientOrderId);\n wizardSteps[1].labelActive = \"\".concat(clientOrder.configuration[0].productInformation.marketingTitle, \" \").concat(clientOrder.configuration[0].productInformation.marketingSubTitle);\n var isEditFlag = clientOrder.inCart ? '&isEdit=true' : '';\n wizardSteps[2].link += \"?clientOrderId=\".concat(clientOrderId).concat(isEditFlag);\n _this3.setState({\n wizardSteps: wizardSteps,\n currentClientOrder: clientOrder\n });\n var ageInMonths = DateTimeUtils.ageInMonths(clientOrder.endUserInformation != null ? clientOrder.endUserInformation.birthday : null);\n if (clientOrder.inCart) {\n ApiClient.cart.getClientOrderCartProducts(clientOrder.id).then(function (result) {\n _this3.setState({\n inCartProductsIds: result\n });\n });\n }\n ClientOrderService.getTemplate(productId, ageInMonths).then(function (template) {\n var audiogramDataLeft = _this3.initializeAudiogramData(template.common);\n var audiogramDataRight = _this3.initializeAudiogramData(template.common);\n var clientOrderMode = ClientOrderService.GetClientOrderMode(clientOrder.configuration);\n var leftData = clientOrder.configuration.find(function (element) {\n return element.side === ClientOrderMode.LEFT;\n });\n var rightData = clientOrder.configuration.find(function (element) {\n return element.side === ClientOrderMode.RIGHT;\n });\n _this3.mergeAudiogramData(audiogramDataLeft, leftData.audiogram);\n _this3.mergeAudiogramData(audiogramDataRight, rightData.audiogram);\n Promise.all([ClientOrderService.mergeTemplateWithAssignments(template, ClientOrderMode.LEFT, productId, CheckUtils.isNullOrEmptyArray(leftData.attributes) ? template.defaultConfiguration : leftData.attributes, ageInMonths), ClientOrderService.mergeTemplateWithAssignments(template, ClientOrderMode.RIGHT, productId, CheckUtils.isNullOrEmptyArray(rightData.attributes) ? template.defaultConfiguration : rightData.attributes, ageInMonths), ClientOrderService.mergeCommonWithAssignments(template, clientOrder.common)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 3),\n leftAssignments = _ref2[0],\n rightAssignments = _ref2[1],\n sharedAssignments = _ref2[2];\n if (!CheckUtils.isNullOrEmptyString(leftAssignments.errorMessage)) {\n _this3.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: leftAssignments.errorMessage,\n isLeftPurchasable: leftAssignments.isPurchasable\n });\n return;\n }\n if (!CheckUtils.isNullOrEmptyString(rightAssignments.errorMessage)) {\n _this3.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: rightAssignments.errorMessage,\n isRightPurchasable: rightAssignments.isPurchasable\n });\n return;\n }\n _this3.setState({\n audiogramDataLeft: audiogramDataLeft,\n audiogramDataRight: audiogramDataRight,\n productId: productId,\n template: template,\n leftAssignments: leftAssignments,\n rightAssignments: rightAssignments,\n sharedAssignments: sharedAssignments,\n clientOrderMode: clientOrderMode,\n hideSpinner: true,\n ageInMonths: ageInMonths,\n productImageUrlLeft: ProductUtils.fillMissingImage(leftAssignments.productInformation.imageUrl),\n productImageUrlRight: ProductUtils.fillMissingImage(rightAssignments.productInformation.imageUrl),\n isAudiogramVisible: openAudiogramParameter === 'true',\n inCart: clientOrder.inCart,\n isLeftPurchasable: leftAssignments.isPurchasable,\n isRightPurchasable: rightAssignments.isPurchasable\n }, function () {\n return _this3.validateAssignments();\n });\n }).catch(function (error) {\n return _this3.showError(_this3.translations.clientOrderErrorMessage, \"Error merging templates with assignments -> \".concat(JSON.stringify(error)), error);\n });\n }).catch(function (error) {\n return _this3.showError(_this3.translations.clientOrderErrorMessage, \"Error getting template -> \".concat(JSON.stringify(error)), error);\n });\n ApiClient.clientOrder.getPatientOrder(clientOrderId).then(function (patientOrder) {\n _this3.setState({\n patientOrder: patientOrder\n });\n });\n }).catch(function (error) {\n return _this3.showError(_this3.translations.clientOrderErrorMessage, \"An error occurred getting client order with id \".concat(clientOrderId, \"-> \").concat(JSON.stringify(error)), error);\n });\n }\n\n /**\n * Switch between viewing left/both/right side(s)\n * @param {Object} e The event\n * @private\n */\n }, {\n key: \"onClientOrderModeChanged\",\n value: function onClientOrderModeChanged(e) {\n var _this4 = this;\n var selectedClientOrderMode = e.currentTarget.value;\n this.setState({\n clientOrderMode: selectedClientOrderMode\n }, function () {\n _this4.validateAssignments();\n });\n }\n\n /**\n * Show the audiogram\n * @private\n */\n }, {\n key: \"onShowAudiogramClicked\",\n value: function onShowAudiogramClicked() {\n this.setState({\n isAudiogramVisible: true\n });\n }\n\n /**\n * Reset the hasError flags on all audiogram data\n * Hide the audiogram\n * @private\n */\n }, {\n key: \"onAudiogramCancelClicked\",\n value: function onAudiogramCancelClicked() {\n var _this$state = this.state,\n audiogramDataLeft = _this$state.audiogramDataLeft,\n audiogramDataRight = _this$state.audiogramDataRight;\n var audiogramDataLeftClone = JSON.parse(JSON.stringify(audiogramDataLeft));\n var audiogramDataRightClone = JSON.parse(JSON.stringify(audiogramDataRight));\n for (var index = 0; index < audiogramDataLeftClone.length; index += 1) {\n var audiogramDataItem = audiogramDataLeftClone[index];\n audiogramDataItem.hasError = false;\n }\n for (var _index = 0; _index < audiogramDataRightClone.length; _index += 1) {\n var _audiogramDataItem = audiogramDataRightClone[_index];\n _audiogramDataItem.hasError = false;\n }\n this.setState({\n audiogramDataLeft: audiogramDataLeftClone,\n audiogramDataRight: audiogramDataRightClone,\n isAudiogramVisible: false\n });\n }\n\n /**\n * Save the audiogram data in the state\n * @param audiogramDataLeft Audiogram date from the left side\n * @param audiogramDataRight Audiogram date from the right side\n * @private\n */\n }, {\n key: \"onAudiogramSaveClicked\",\n value: function onAudiogramSaveClicked(audiogramDataLeft, audiogramDataRight) {\n var _this5 = this;\n var audiogramDataLeftClone = JSON.parse(JSON.stringify(audiogramDataLeft));\n var audiogramDataRightClone = JSON.parse(JSON.stringify(audiogramDataRight));\n this.setState({\n audiogramDataLeft: audiogramDataLeftClone,\n audiogramDataRight: audiogramDataRightClone,\n isAudiogramVisible: false,\n hideSpinner: false\n }, function () {\n _this5.validateAssignments();\n _this5.updateClientOrder({\n audiogramDataLeft: audiogramDataLeft,\n audiogramDataRight: audiogramDataRight\n }).then(function (clientOrderResult) {\n _this5.setState({\n currentClientOrder: clientOrderResult,\n hideSpinner: true\n });\n });\n });\n }\n\n /**\n * A new value was selected for a controller\n * @param {object} controller The controller that has a new value\n * @param {string} value The new value or null if controller was deselected\n * @private\n */\n }, {\n key: \"onControllerValueChanged\",\n value: function onControllerValueChanged(controller, value, side) {\n var _this6 = this;\n this.setState({\n hideSpinner: false\n }, function () {\n var currentAssignments = null;\n var serviceDecidesAssignments = null;\n if (side === ClientOrderMode.LEFT) {\n // eslint-disable-next-line prefer-destructuring\n serviceDecidesAssignments = _this6.state.leftAssignments.serviceDecidesAssignments;\n }\n if (side === ClientOrderMode.RIGHT) {\n // eslint-disable-next-line prefer-destructuring\n serviceDecidesAssignments = _this6.state.rightAssignments.serviceDecidesAssignments;\n }\n if (CheckUtils.isNullObject(controller)) {\n Logger.error('Invalid controller in onControllerValueChanged');\n return;\n }\n var selectedValue = _this6.getControllerValue(controller, value);\n\n // Controller value was changed -> Old value needs to be removed from the assignments list (note: All child assignments needs to be removed as well)\n var removedAssignments = ClientOrderService.getCurrentControllerAssignment(controller, serviceDecidesAssignments);\n _this6.unselectServiceDecidesForRemovedAssignments(serviceDecidesAssignments, side, removedAssignments);\n\n //moving state dependent vars here\n if (side === ClientOrderMode.LEFT) {\n currentAssignments = ClientOrderService.getCurrentAssignments(_this6.state.leftAssignments.controllers, serviceDecidesAssignments, side);\n }\n if (side === ClientOrderMode.RIGHT) {\n currentAssignments = ClientOrderService.getCurrentAssignments(_this6.state.rightAssignments.controllers, serviceDecidesAssignments, side);\n }\n if (side === 'shared') {\n currentAssignments = ClientOrderService.getCurrentAssignments(_this6.state.sharedAssignments);\n }\n if (CheckUtils.isNullObject(currentAssignments)) {\n Logger.error('Invalid side in onControllerValueChanged');\n return;\n }\n var newAssignments = currentAssignments.filter(function (x) {\n return !removedAssignments.some(function (a) {\n return a.variableId === x.variableId;\n });\n });\n if (!CheckUtils.isNullOrEmptyString(value) && !CheckUtils.isNullOrEmptyString(selectedValue)) {\n newAssignments.push({\n variableId: controller.variableId.toString(),\n valueId: value.toString()\n });\n }\n\n // Check for forceable value\n if (!CheckUtils.isNullObject(selectedValue)) {\n if (selectedValue.state === ClientOrderAssignmentStates.FORCEABLE) {\n _this6.showForceableDialog(_this6.state.productId, side, newAssignments, controller.variableId, controller.name, selectedValue.name, currentAssignments, removedAssignments);\n return;\n }\n }\n if (side === 'shared') {\n ClientOrderService.mergeCommonWithAssignments(_this6.state.template, newAssignments).then(function (assignments) {\n _this6.updateClientOrder({\n sharedAssignments: assignments\n }).then(function (clientOrderResult) {\n _this6.setState({\n sharedAssignments: assignments,\n hideSpinner: true,\n currentClientOrder: clientOrderResult\n }, function () {\n return _this6.validateAssignments();\n });\n });\n }).catch(function (error) {\n _this6.showError(_this6.translations.clientOrderErrorMessage, \"Error merging template with assignments from onControllerValueChanged -> \".concat(JSON.stringify(error)), error);\n _this6.setState({\n hideSpinner: true\n });\n });\n } else {\n ClientOrderService.mergeTemplateWithAssignments(_this6.state.template, side, _this6.state.productId, newAssignments, _this6.state.ageInMonths).then(function (assignments) {\n if (!CheckUtils.isNullOrEmptyString(assignments.errorMessage)) {\n _this6.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: assignments.errorMessage\n });\n return;\n }\n if (side === ClientOrderMode.LEFT) {\n _this6.updateClientOrder({\n leftAssignments: assignments\n }).then(function (clientOrderResult) {\n _this6.setState({\n leftAssignments: assignments,\n isLeftPurchasable: assignments.isPurchasable,\n productImageUrlLeft: ProductUtils.fillMissingImage(assignments.productInformation.imageUrl),\n hideSpinner: true,\n currentClientOrder: clientOrderResult\n }, function () {\n return _this6.validateAssignments();\n });\n });\n } else {\n _this6.updateClientOrder({\n rightAssignments: assignments\n }).then(function (clientOrderResult) {\n _this6.setState({\n rightAssignments: assignments,\n isRightPurchasable: assignments.isPurchasable,\n productImageUrlRight: ProductUtils.fillMissingImage(assignments.productInformation.imageUrl),\n hideSpinner: true,\n currentClientOrder: clientOrderResult\n }, function () {\n return _this6.validateAssignments();\n });\n });\n }\n }).catch(function (error) {\n _this6.showError(_this6.translations.clientOrderErrorMessage, \"Error merging template with assignments from onControllerValueChanged -> \".concat(JSON.stringify(error)), error);\n _this6.setState({\n hideSpinner: true\n });\n });\n }\n });\n }\n\n /**\n * change custom shell color for ITE devices when copying to other ear for the special use case\n * with Transparent Red (right ear) and Transparent Blue (left ear).\n * @param assignments\n */\n }, {\n key: \"onCopyCustomShellColor\",\n value: function onCopyCustomShellColor(assignments) {\n assignments.forEach(function (assignment) {\n if (assignment.variableId === '3622') {\n // custom Shell Color\n if (assignment.valueId === '3693') {\n // value is transparent red color\n assignment.valueId = '3692'; // switch value to transparent blue color so copy will succeed\n } else if (assignment.valueId === '3692') {\n // value is transparent blue color\n assignment.valueId = '3693'; // switch value to transparent red color so copy will succeed\n }\n }\n });\n }\n\n /**\n * Copying to the opposite side\n * @param {String} target The target side\n * @private\n */\n }, {\n key: \"onCopy\",\n value: function onCopy(target) {\n var _this7 = this;\n if (target === ClientOrderMode.LEFT) {\n if (this.state.rightAssignments !== undefined) {\n var newAssignments = ClientOrderService.getCurrentAssignments(this.state.rightAssignments.controllers, this.state.rightAssignments.serviceDecidesAssignments);\n this.onCopyCustomShellColor(newAssignments);\n\n // query new assignments\n ClientOrderService.mergeTemplateWithAssignments(this.state.template, ClientOrderMode.LEFT, this.state.productId, newAssignments, this.state.ageInMonths).then(function (assignments) {\n if (!CheckUtils.isNullOrEmptyString(assignments.errorMessage)) {\n _this7.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: assignments.errorMessage\n });\n return;\n }\n\n // update client order\n _this7.updateClientOrder({\n leftAssignments: assignments\n }).then(function (clientOrderResult) {\n _this7.setState({\n leftAssignments: assignments,\n isLeftPurchasable: assignments.isPurchasable,\n productImageUrlLeft: ProductUtils.fillMissingImage(assignments.productInformation.imageUrl),\n hideSpinner: true,\n currentClientOrder: clientOrderResult,\n forceableDialogIsOpen: false\n }, function () {\n // update service decides assignments\n if (!CheckUtils.isNullObject(assignments.serviceDecidesAssignments)) {\n assignments.serviceDecidesAssignments.forEach(function (a) {\n EventBus.trigger(Events.SERVICE_DECIDES_VALUE_CHANGED, {\n serviceDecidesSelected: a.serviceDecidesSelected,\n serviceDecidesGroup: a.serviceDecidesGroup,\n side: ClientOrderMode.LEFT\n });\n });\n }\n _this7.validateAssignments();\n });\n });\n }).catch(function (response) {\n if (!CheckUtils.isNullOrEmptyString(response.errorMessage)) {\n Logger.warn(\"onCopy -> mergeTemplateWithAssignments -> error occurred -> \".concat(response.errorMessage));\n _this7.setState({\n copyErrorDialogIsOpen: true\n });\n }\n });\n }\n } else if (this.state.leftAssignments !== undefined) {\n var _newAssignments = ClientOrderService.getCurrentAssignments(this.state.leftAssignments.controllers, this.state.leftAssignments.serviceDecidesAssignments);\n this.onCopyCustomShellColor(_newAssignments);\n\n // query assignments\n ClientOrderService.mergeTemplateWithAssignments(this.state.template, ClientOrderMode.RIGHT, this.state.productId, _newAssignments, this.state.ageInMonths).then(function (assignments) {\n if (!CheckUtils.isNullOrEmptyString(assignments.errorMessage)) {\n _this7.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: assignments.errorMessage\n });\n return;\n }\n\n // update client order\n _this7.updateClientOrder({\n rightAssignments: assignments\n }).then(function (clientOrderResult) {\n _this7.setState({\n rightAssignments: assignments,\n isRightPurchasable: assignments.isPurchasable,\n productImageUrlRight: ProductUtils.fillMissingImage(assignments.productInformation.imageUrl),\n hideSpinner: true,\n currentClientOrder: clientOrderResult,\n forceableDialogIsOpen: false\n }, function () {\n // update service decides assignments\n if (!CheckUtils.isNullObject(assignments.serviceDecidesAssignments)) {\n assignments.serviceDecidesAssignments.forEach(function (a) {\n EventBus.trigger(Events.SERVICE_DECIDES_VALUE_CHANGED, {\n serviceDecidesSelected: a.serviceDecidesSelected,\n serviceDecidesGroup: a.serviceDecidesGroup,\n side: ClientOrderMode.RIGHT\n });\n });\n }\n _this7.validateAssignments();\n });\n });\n }).catch(function (response) {\n if (!CheckUtils.isNullOrEmptyString(response.errorMessage)) {\n Logger.warn(\"onCopy -> mergeTemplateWithAssignments -> error occurred -> \".concat(response.errorMessage));\n _this7.setState({\n copyErrorDialogIsOpen: true\n });\n }\n });\n }\n }\n\n /**\n * grabs the currently selected colours from the colour selector components and returns the colour name value\n *\n * @param controllers\n * @param side\n */\n }, {\n key: \"getSelectedColorName\",\n value: function getSelectedColorName(controllers, side) {\n var _this8 = this;\n var colorNames = this.state.colorNames;\n var colorFound = false;\n if (!CheckUtils.isNullOrEmptyArray(controllers)) {\n controllers.forEach(function (controller) {\n if (!colorFound) {\n if (controller.type === 'color-selector') {\n var color = controller.values.find(function (x) {\n return x.state === ClientOrderAssignmentStates.ASSIGNED;\n });\n if (!CheckUtils.isNullOrEmptyObject(color)) {\n if (side === ClientOrderMode.LEFT) {\n colorNames.leftColor = color.name;\n }\n if (side === ClientOrderMode.RIGHT) {\n colorNames.rightColor = color.name;\n }\n colorFound = true;\n }\n return colorNames;\n }\n\n // recursive call to loop through pane and tabbed pane components\n if (controller.type === 'pane' || controller.type === 'tabbed-pane' || controller.type === 'collapsible-pane') {\n _this8.getSelectedColorName(controller.values[0].controllers, side);\n }\n }\n });\n return colorNames;\n }\n }\n }, {\n key: \"onAddToCartClicked\",\n value: function onAddToCartClicked() {\n var _this9 = this;\n if (!this.state.addToCardButtonEnabled || !this.state.mandatoryFilledOut) {\n var inactiveDivs = document.querySelectorAll('.inner-group-box:not(.wdh-feature-btb-dimmed)');\n if (inactiveDivs) {\n // eslint-disable-next-line no-restricted-syntax\n var _iterator = _createForOfIteratorHelper(inactiveDivs),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var el = _step.value;\n if (el.querySelector('.has-error')) {\n this.setState({\n forceAccordionsOpen: true\n });\n var firstInstanceOfInvalidField = el.querySelector('.has-error');\n $('.has-error').addClass('addRequiredBorder');\n window.scrollTo({\n behavior: 'smooth',\n top: firstInstanceOfInvalidField.getBoundingClientRect().top + (window.scrollY - Number(this.checkForScrollOffset()))\n });\n return;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n } else {\n ApiClient.cart.getCartDetails().then(function (cartValue) {\n // Grab the colors from our hearing aids and add them to state.\n var _this9$state = _this9.state,\n colorNames = _this9$state.colorNames,\n leftAssignments = _this9$state.leftAssignments,\n rightAssignments = _this9$state.rightAssignments;\n colorNames.leftColor = _this9.getSelectedColorName(leftAssignments.controllers, ClientOrderMode.LEFT).leftColor;\n colorNames.rightColor = _this9.getSelectedColorName(rightAssignments.controllers, ClientOrderMode.RIGHT).rightColor;\n _this9.setState({\n colorNames: colorNames\n });\n if (!CheckUtils.isNullObject(cartValue) && !CheckUtils.isNullOrEmptyArray(cartValue.clientOrders) && !cartValue.clientOrders.some(function (x) {\n return x === _this9.state.currentClientOrder.id;\n })) {\n _this9.setState({\n hideSpinner: false,\n removeClientOrderFromCartModalIsOpen: true\n });\n return;\n }\n if (_this9.showRemoveFromCartMessage()) {\n _this9.setState({\n removeProductFromCartDialogIsOpen: true\n });\n return;\n }\n _this9.addToCart();\n }).catch(function (error) {\n return _this9.showError(_this9.translations.clientOrderErrorMessage, \"An error occurred getting cart -> \".concat(JSON.stringify(error)), error);\n });\n }\n }\n\n /**\n * Remove product from cart dialog was cancelled\n * @private\n */\n }, {\n key: \"onRemoveProductCanceled\",\n value: function onRemoveProductCanceled() {\n var _this10 = this;\n if (!CheckUtils.isNullOrEmptyArray(this.state.inCartProductsIds)) {\n if (this.state.inCartProductsIds.length === 2) {\n this.state.clientOrderMode = ClientOrderMode.BINAURAL;\n } else {\n var conf = this.state.currentClientOrder.configuration.find(function (element) {\n return element.id === _this10.state.inCartProductsIds[0];\n });\n if (conf.side === ClientOrderMode.RIGHT) {\n this.setState({\n clientOrderMode: ClientOrderMode.RIGHT\n });\n } else {\n this.setState({\n clientOrderMode: ClientOrderMode.LEFT\n });\n }\n }\n }\n this.setState({\n removeProductFromCartDialogIsOpen: false\n });\n }\n\n /**\n * Calculate the sticky header position\n * @private\n */\n }, {\n key: \"getStickyHeaderTopPosition\",\n value: function getStickyHeaderTopPosition() {\n var subheaderSpot = document.querySelector('.component.wdh-feature-b2b-subheaderspot > .component-content');\n var topPosition = 0;\n if (subheaderSpot) {\n var subHeaderSpotTopPosition = subheaderSpot.style.top === '' ? 0 : parseFloat(subheaderSpot.style.top);\n topPosition = subheaderSpot.offsetHeight + subHeaderSpotTopPosition;\n }\n return \"\".concat(topPosition, \"px\");\n }\n\n /**\n * Get value from controller\n * @param {Object} controller The controller to get the\n * @param {String} valueId The valueid getting the value from\n * @private\n */\n }, {\n key: \"getControllerValue\",\n value: function getControllerValue(controller, valueId) {\n if (CheckUtils.isNullObject(controller) || CheckUtils.isNullObject(controller.values) || CheckUtils.isNullObject(valueId)) {\n return null;\n }\n return controller.values.find(function (v) {\n return v.valueId === valueId || v.valueId.toString() === valueId.toString();\n });\n }\n\n /**\n * Handler for canceling 'ClientOrderRemoveFromCartModal' modal -> close modal\n * WDHEC-4637: Apply control to shopping cart to only contain one client order at the time as it has been done on Magento shops\n * @private\n */\n }, {\n key: \"removeClientOrderFromCartModalCanceled\",\n value: function removeClientOrderFromCartModalCanceled() {\n this.setState({\n hideSpinner: true,\n removeClientOrderFromCartModalIsOpen: false\n });\n }\n\n /**\n * Handler for approving 'ClientOrderRemoveFromCartModal' modal -> add Client Order to cart\n * WDHEC-4637: Apply control to shopping cart to only contain one client order at the time as it has been done on Magento shops\n * @private\n */\n }, {\n key: \"removeClientOrderFromCartModalAccepted\",\n value: function removeClientOrderFromCartModalAccepted() {\n var _this11 = this;\n this.setState({\n hideSpinner: false,\n removeClientOrderFromCartModalIsOpen: false\n }, function () {\n _this11.addToCart();\n });\n }\n\n /**\n * Add to cart is clicked\n * @private\n */\n }, {\n key: \"checkForScrollOffset\",\n value: function checkForScrollOffset() {\n var headerHeight = document.querySelector('#header .sticky-navigation1') !== null ? document.querySelector('#header .sticky-navigation1').offsetHeight : 0;\n var subHeader = document.querySelector('.wdh-feature-b2b-subheaderspot') !== null ? document.querySelector('.wdh-feature-b2b-subheaderspot').offsetHeight : 0;\n var stickyHeader = document.querySelector('.add-to-cart-sticky');\n var scrollOffset = 0;\n if (stickyHeader) {\n scrollOffset = headerHeight + subHeader + 50 + stickyHeader.offsetHeight;\n } else {\n scrollOffset = headerHeight + subHeader + 50;\n }\n return scrollOffset;\n }\n }, {\n key: \"GetFirstWizardStepLabel\",\n value: function GetFirstWizardStepLabel(categoryId, endUserInformation) {\n if (ConfigurationManager.getFeatureFlagValue(FeatureFlags.USE_END_USER_TYPE) === FeatureFlagValues.END_USER_TYPE.JAPAN) {\n return \"\".concat(ClientOrdersUtils.getCategoryName(this.state.clientOrderCategories, categoryId), \" \").concat(this.state.wizardSteps[0].labelPassive, \" \").concat(endUserInformation.lastName, \" \").concat(endUserInformation.firstName);\n }\n return \"\".concat(ClientOrdersUtils.getCategoryName(this.state.clientOrderCategories, categoryId), \" \").concat(this.state.wizardSteps[0].labelPassive, \" \").concat(endUserInformation.firstName, \" \").concat(endUserInformation.lastName);\n }\n }, {\n key: \"isAudiogramValid\",\n value: function isAudiogramValid(audiogramDataLeft, audiogramDataRight, leftAssignments, rightAssignments, sharedAssignments, clientOrderMode) {\n if (clientOrderMode === ClientOrderMode.RIGHT) {\n leftAssignments = null;\n } else if (clientOrderMode === ClientOrderMode.LEFT) {\n rightAssignments = null;\n }\n var isAudiogramValid = ClientOrderService.validateAudiogram(audiogramDataLeft, audiogramDataRight, leftAssignments, rightAssignments, sharedAssignments);\n return isAudiogramValid;\n }\n }, {\n key: \"addToCart\",\n value: function addToCart(disableConfiguration) {\n var _this12 = this;\n this.setState({\n removeProductFromCartDialogIsOpen: false,\n hideSpinner: false,\n addToCardButtonEnabled: false\n }, function () {\n _this12.updateClientOrder({\n leftAssignments: _this12.state.leftAssignments,\n audiogramDataLeft: _this12.state.audiogramDataLeft,\n rightAssignments: _this12.state.rightAssignments,\n audiogramDataRight: _this12.state.audiogramDataRight,\n sharedAssignments: _this12.state.sharedAssignments,\n clientOrderMode: _this12.state.clientOrderMode\n }, true).then(function (clientOrder) {\n ApiClient.cart.addClientOrder(clientOrder.id).then(function () {\n // Update Patient Order after client order has been set. ItemNumbers are not set in the response,\n // so we have to retrieve the client order from api and read the itemNumbers from that response.\n ApiClient.clientOrder.get(clientOrder.id).then(function (clientOrderResponse) {\n var _this12$state$patient;\n // Get the clientOrderResponse.configuration\n\n var rightItem = clientOrderResponse.configuration.find(function (earConfiguration) {\n return earConfiguration.side === 'right';\n });\n var leftItem = clientOrderResponse.configuration.find(function (earConfiguration) {\n return earConfiguration.side === 'left';\n });\n var patientOrderData = {\n clientOrderId: clientOrder.id,\n detailsLeft: leftItem.isEnabled ? {\n itemNumber: leftItem.itemNumber,\n imageUrl: _this12.state.productImageUrlLeft\n } : null,\n detailsRight: rightItem.isEnabled ? {\n itemNumber: rightItem.itemNumber,\n imageUrl: _this12.state.productImageUrlRight\n } : null,\n type: _this12.state.clientOrderMode,\n warranties: !CheckUtils.isNullOrEmptyObject(_this12.state.patientOrder) ? _this12.state.patientOrder.warranties : [],\n relatedProductsOrders: !CheckUtils.isNullOrEmptyObject(_this12.state.patientOrder) ? _this12.state.patientOrder.relatedProductsOrders : [],\n smartCharger: (_this12$state$patient = _this12.state.patientOrder) === null || _this12$state$patient === void 0 ? void 0 : _this12$state$patient.smartCharger\n };\n ApiClient.clientOrder.updatePatientOrder(patientOrderData).then(function (response) {\n if (disableConfiguration) {\n ApiClient.clientOrder.disableConfiguration(clientOrder).then(function () {\n // Redirect to next step in wizard\n var wizardSteps = JSON.parse(JSON.stringify(_this12.state.wizardSteps));\n _this12.setState({\n activeWizardStepIndex: _this12.state.activeWizardStepIndex += 1,\n wizardSteps: wizardSteps,\n hideSpinner: true,\n currentClientOrder: clientOrder\n });\n }).catch(function (error) {\n return _this12.showError(_this12.translations.clientOrderErrorMessage, \"An error occurred removing client order product from cart -> \".concat(JSON.stringify(error)), error);\n });\n } else {\n var wizardSteps = JSON.parse(JSON.stringify(_this12.state.wizardSteps));\n _this12.setState({\n activeWizardStepIndex: _this12.state.activeWizardStepIndex += 1,\n wizardSteps: wizardSteps,\n hideSpinner: true,\n currentClientOrder: clientOrder\n });\n }\n }).catch(function (error) {\n return _this12.showError(_this12.translations.clientOrderErrorMessage, \"An error occurred updating the client order -> \".concat(JSON.stringify(error)), error);\n });\n ;\n });\n }).catch(function (error) {\n return _this12.showError(_this12.translations.clientOrderErrorMessage, \"An error occurred adding client order to cart -> \".concat(JSON.stringify(error)), error);\n });\n });\n });\n }\n }, {\n key: \"showRemoveFromCartMessage\",\n value: function showRemoveFromCartMessage() {\n if (this.state.inCart && this.state.clientOrderMode !== ClientOrderMode.BINAURAL) {\n if (this.state.inCartProductsIds.length === 2) {\n return true;\n }\n var leftId = this.state.currentClientOrder.configuration.find(function (element) {\n return element.side === ClientOrderMode.LEFT;\n }).id;\n var rightId = this.state.currentClientOrder.configuration.find(function (element) {\n return element.side === ClientOrderMode.RIGHT;\n }).id;\n if (this.state.clientOrderMode === ClientOrderMode.LEFT && this.state.inCartProductsIds.includes(rightId)) {\n return true;\n }\n if (this.state.clientOrderMode === ClientOrderMode.RIGHT && this.state.inCartProductsIds.includes(leftId)) {\n return true;\n }\n }\n return false;\n }\n }, {\n key: \"updateClientOrder\",\n value: function updateClientOrder(clientOrderProps, addToCardButtonClicked) {\n var _this13 = this;\n return new Promise(function (resolve) {\n // Client order already in cart -> Client order configuration should be updated only after \"Update cart\" button is clicked\n if (_this13.state.inCart && !addToCardButtonClicked) {\n resolve(_this13.state.currentClientOrder);\n return;\n }\n\n // Client order is not in cart -> Client order configuration should be updated after any modification\n var clientOrder = _this13.state.currentClientOrder;\n var leftData = clientOrder.configuration.find(function (element) {\n return element.side === ClientOrderMode.LEFT;\n });\n var rightData = clientOrder.configuration.find(function (element) {\n return element.side === ClientOrderMode.RIGHT;\n });\n if (CheckUtils.isNullObject(leftData) || CheckUtils.isNullObject(rightData)) {\n _this13.showError(_this13.translations.clientOrderErrorMessage, 'Unable to save data as configuration is missing for left or right side');\n }\n\n // Update Client Order\n if (!CheckUtils.isNullObject(clientOrderProps.leftAssignments)) {\n leftData.attributes = ClientOrderService.getCurrentAssignments(clientOrderProps.leftAssignments.controllers, clientOrderProps.leftAssignments.serviceDecidesAssignments);\n leftData.imageUrl = CheckUtils.isNullOrEmptyObject(clientOrderProps.leftAssignments.productInformation) ? null : clientOrderProps.leftAssignments.productInformation.imageUrl;\n }\n if (!CheckUtils.isNullObject(clientOrderProps.audiogramDataLeft)) {\n leftData.audiogram = _this13.convertAudiogramData(clientOrderProps.audiogramDataLeft);\n }\n if (!CheckUtils.isNullObject(clientOrderProps.rightAssignments)) {\n rightData.attributes = ClientOrderService.getCurrentAssignments(clientOrderProps.rightAssignments.controllers, clientOrderProps.rightAssignments.serviceDecidesAssignments);\n rightData.imageUrl = CheckUtils.isNullOrEmptyObject(clientOrderProps.rightAssignments.productInformation) ? null : clientOrderProps.rightAssignments.productInformation.imageUrl;\n }\n if (!CheckUtils.isNullObject(clientOrderProps.audiogramDataRight)) {\n rightData.audiogram = _this13.convertAudiogramData(clientOrderProps.audiogramDataRight);\n }\n if (!CheckUtils.isNullObject(clientOrderProps.clientOrderMode)) {\n leftData.isEnabled = clientOrderProps.clientOrderMode === ClientOrderMode.BINAURAL || _this13.state.clientOrderMode === ClientOrderMode.LEFT;\n rightData.isEnabled = clientOrderProps.clientOrderMode === ClientOrderMode.BINAURAL || _this13.state.clientOrderMode === ClientOrderMode.RIGHT;\n }\n if (!CheckUtils.isNullObject(clientOrderProps.sharedAssignments)) {\n clientOrder.common = ClientOrderService.getCurrentAssignments(clientOrderProps.sharedAssignments);\n }\n if (!CheckUtils.isNullOrEmptyObject(clientOrderProps.colorNames)) {\n leftData.colorName = clientOrderProps.colorNames.leftColor;\n rightData.colorName = clientOrderProps.colorNames.rightColor;\n } else if (!CheckUtils.isNullOrEmptyObject(_this13.state.colorNames)) {\n leftData.colorName = _this13.state.colorNames.leftColor;\n rightData.colorName = _this13.state.colorNames.rightColor;\n }\n ApiClient.clientOrder.update(clientOrder).then(function (clientOrderResult) {\n resolve(clientOrderResult);\n }).catch(function (error) {\n return _this13.showError(_this13.translations.clientOrderErrorMessage, \"An error occurred updating client order -> \".concat(JSON.stringify(error)), error);\n });\n });\n }\n\n /**\n * Validate all assignments\n */\n }, {\n key: \"validateAssignments\",\n value: function validateAssignments() {\n var assignments = {\n sharedAssignments: this.state.sharedAssignments,\n leftAssignments: null,\n audiogramDataLeft: null,\n rightAssignments: null,\n audiogramDataRight: null\n };\n if (this.state.clientOrderMode === ClientOrderMode.LEFT || this.state.clientOrderMode === ClientOrderMode.BINAURAL) {\n assignments.leftAssignments = this.state.leftAssignments;\n assignments.audiogramDataLeft = this.state.audiogramDataLeft;\n }\n if (this.state.clientOrderMode === ClientOrderMode.RIGHT || this.state.clientOrderMode === ClientOrderMode.BINAURAL) {\n assignments.rightAssignments = this.state.rightAssignments;\n assignments.audiogramDataRight = this.state.audiogramDataRight;\n }\n var mandatoryFilledOut = ClientOrderService.validateMandatoryAssignments(assignments);\n if (this.state.clientOrderMode === ClientOrderMode.LEFT || this.state.clientOrderMode === ClientOrderMode.BINAURAL) {\n mandatoryFilledOut = mandatoryFilledOut && this.state.isLeftPurchasable;\n }\n if (this.state.clientOrderMode === ClientOrderMode.RIGHT || this.state.clientOrderMode === ClientOrderMode.BINAURAL) {\n mandatoryFilledOut = mandatoryFilledOut && this.state.isRightPurchasable;\n }\n var isAudiogramMandatory = ClientOrderService.isAudiogramMandatory(this.state.sharedAssignments, this.state.leftAssignments, this.state.rightAssignments);\n var isAudiogramValid = this.isAudiogramValid(this.state.audiogramDataLeft, this.state.audiogramDataRight, this.state.leftAssignments, this.state.rightAssignments, this.state.sharedAssignments, this.state.clientOrderMode);\n this.setState({\n mandatoryFilledOut: mandatoryFilledOut,\n isAudiogramMandatory: isAudiogramMandatory,\n isAudiogramValid: isAudiogramValid\n });\n }\n\n /**\n * Show an error dialog\n * @param {String} message The message\n * @param {String} debugMessage The debug message\n * @param {Object} error The actual error\n * @private\n */\n }, {\n key: \"showError\",\n value: function showError(message, debugMessage, error) {\n Logger.error(\"An error occurred -> \".concat(debugMessage));\n this.setState({\n showError: true,\n errorMessage: message,\n error: error,\n hideSpinner: true\n });\n }\n\n /**\n * Convert audiogram data to the needed format for the api\n * @param {Object} audiogramData The audiogram data\n * @private\n */\n }, {\n key: \"convertAudiogramData\",\n value: function convertAudiogramData(audiogramData) {\n var result = [];\n audiogramData.forEach(function (data) {\n return result.push({\n conduction: 'ac',\n frequency: String(data.frequency),\n intensity: data.intensity\n });\n });\n return result;\n }\n\n /**\n * Initialize the audiogram data\n * @param {Object} common\n * @private\n */\n }, {\n key: \"initializeAudiogramData\",\n value: function initializeAudiogramData(common) {\n if (common === undefined) {\n return null;\n }\n var audiogramCommon = common.find(function (cm) {\n return cm.type === ClientOrderCommonTypes.AUDIOGRAM;\n });\n if (audiogramCommon === undefined || audiogramCommon.fields === undefined) {\n // this.showError(this.translations.clientOrderErrorMessage, 'Missing audiogram or audiogram fields');\n return null;\n }\n var result = [];\n audiogramCommon.fields.forEach(function (field) {\n result.push({\n frequency: Number.parseInt(field.name, 10),\n intensity: null,\n isRequired: field.required,\n hasError: false\n });\n });\n return result;\n }\n\n /**\n * Merge audiogram data with template\n * @param {Object} template The json template\n * @param {Object} data The data to merge\n * @private\n */\n }, {\n key: \"mergeAudiogramData\",\n value: function mergeAudiogramData(template, data) {\n data.forEach(function (value) {\n var foundData = template.find(function (x) {\n return x.frequency === Number.parseInt(value.frequency, 10);\n });\n if (!CheckUtils.isNullObject(foundData)) {\n foundData.intensity = value.intensity;\n }\n });\n }\n\n /**\n * Show the forceable dialog\n * @param {Number} productId The product id\n * @param {String} side The side (left / right)\n * @param {Array} assignments The assignments\n * @param {String} forcingVariableId The variable that requires forcing\n * @param {String} forcingVariableName The name of the variable\n * @param {String} forcingValueName The name of the value\n * @param {Array} oldAssignments The previous assignments before forcing\n * @private\n */\n }, {\n key: \"showForceableDialog\",\n value: function showForceableDialog(productId, side, assignments, forcingVariableId, forcingVariableName, forcingValueName, oldAssignments, removedAssignments) {\n var _this14 = this;\n this.setState({\n hideSpinner: false\n }, function () {\n ClientOrderService.force(side, productId, assignments, forcingVariableId, oldAssignments).then(function (response) {\n var conflictingOptionsText = '';\n var mergedAssignments = side === ClientOrderMode.LEFT ? _this14.state.leftAssignments : _this14.state.rightAssignments;\n if (!CheckUtils.isNullOrEmptyString(response.errorMessage)) {\n _this14.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: response.errorMessage\n });\n return;\n }\n response.removedAssignments.forEach(function (removedAssignment) {\n if (conflictingOptionsText.length !== 0) {\n conflictingOptionsText += ', ';\n }\n conflictingOptionsText += \"\".concat(ClientOrderService.getVariableName(mergedAssignments, removedAssignment.variableId), \" : \").concat(ClientOrderService.getValueName(mergedAssignments, removedAssignment.valueId));\n });\n var forcingOptionsText = \"\".concat(forcingVariableName, \" : \").concat(forcingValueName);\n var forceAssignments = {\n side: side,\n newAssignments: response.assignments,\n conflictingOptionsText: conflictingOptionsText,\n forcingOptionsText: forcingOptionsText,\n removedAssignments: removedAssignments\n };\n _this14.setState({\n forceableDialogIsOpen: true,\n forceAssignments: forceAssignments\n });\n });\n });\n }\n\n /**\n * Force assignments\n * @private\n */\n }, {\n key: \"forceAssignments\",\n value: function forceAssignments() {\n var _this15 = this;\n if (this.state.forceAssignments === null) {\n this.showError(this.translations.clientOrderErrorMessage, 'ForceAssignments must not be null in forceAssignments method');\n this.setState({\n hideSpinner: true,\n forceableDialogIsOpen: false\n });\n return;\n }\n var serviceDecidesAssignments = this.state.forceAssignments.side === ClientOrderMode.LEFT ? this.state.leftAssignments.serviceDecidesAssignments : this.state.rightAssignments.serviceDecidesAssignments;\n this.unselectServiceDecidesForRemovedAssignments(serviceDecidesAssignments, this.state.forceAssignments.side, this.state.forceAssignments.removedAssignments);\n this.setState({\n hideSpinner: false\n }, function () {\n ClientOrderService.mergeTemplateWithAssignments(_this15.state.template, _this15.state.forceAssignments.side, _this15.state.productId, _this15.state.forceAssignments.newAssignments, _this15.state.ageInMonths).then(function (assignments) {\n if (!CheckUtils.isNullOrEmptyString(assignments.errorMessage)) {\n _this15.setState({\n forceableErrorDialogIsOpen: true,\n forceableErrorMessage: assignments.errorMessage\n });\n return;\n }\n if (_this15.state.forceAssignments.side === ClientOrderMode.LEFT) {\n _this15.updateClientOrder({\n leftAssignments: assignments\n }).then(function (clientOrderResult) {\n _this15.setState({\n leftAssignments: assignments,\n isLeftPurchasable: assignments.isPurchasable,\n productImageUrlLeft: ProductUtils.fillMissingImage(assignments.productInformation.imageUrl),\n hideSpinner: true,\n currentClientOrder: clientOrderResult,\n forceableDialogIsOpen: false\n }, function () {\n _this15.validateAssignments();\n });\n });\n } else {\n _this15.updateClientOrder({\n rightAssignments: assignments\n }).then(function (clientOrderResult) {\n _this15.setState({\n rightAssignments: assignments,\n isRightPurchasable: assignments.isPurchasable,\n productImageUrlRight: ProductUtils.fillMissingImage(assignments.productInformation.imageUrl),\n hideSpinner: true,\n currentClientOrder: clientOrderResult,\n forceableDialogIsOpen: false\n }, function () {\n _this15.validateAssignments();\n });\n }).catch(function (error) {\n return _this15.showError(_this15.translations.clientOrderErrorMessage, \"An error occurred updating client order -> \".concat(JSON.stringify(error)), error);\n });\n }\n }).catch(function (error) {\n _this15.showError(_this15.translations.clientOrderErrorMessage, \"Error merging template with assignments from onControllerValueChanged -> \".concat(JSON.stringify(error)), error);\n _this15.setState({\n hideSpinner: true,\n forceableDialogIsOpen: false,\n forceAssignments: null\n });\n });\n });\n }\n\n /**\n * Closes dialog\n */\n }, {\n key: \"forceableErrorOkClicked\",\n value: function forceableErrorOkClicked() {\n if (!CheckUtils.isNullOrEmptyString(this.state.forceableErrorMessage)) {\n this.setState({\n hideSpinner: true,\n forceableErrorDialogIsOpen: false,\n forceableErrorMessage: null\n });\n }\n }\n\n /**\n * Closes dialog\n */\n }, {\n key: \"copyErrorOkClicked\",\n value: function copyErrorOkClicked() {\n this.setState({\n hideSpinner: true,\n copyErrorDialogIsOpen: false\n });\n }\n\n /**\n * Force assigments dialog was cancelled\n * @private\n */\n }, {\n key: \"cancelForceAssignments\",\n value: function cancelForceAssignments() {\n EventBus.trigger(Events.FORCE_ASSIGNMENTS_CANCELED);\n this.setState({\n hideSpinner: true,\n forceableDialogIsOpen: false,\n forceAssignments: null\n });\n }\n }, {\n key: \"unselectServiceDecidesForRemovedAssignments\",\n value: function unselectServiceDecidesForRemovedAssignments(serviceDecidesAssignments, side, removedAssignments) {\n if (CheckUtils.isNullObject(serviceDecidesAssignments)) {\n return;\n }\n serviceDecidesAssignments.forEach(function (serviceDecides) {\n if (removedAssignments.some(function (x) {\n return x.serviceDecidesSelected && serviceDecides.variableIds.some(function (a) {\n return a === x.variableId;\n });\n })) {\n EventBus.trigger(Events.SERVICE_DECIDES_VALUE_CHANGED, {\n serviceDecidesSelected: false,\n serviceDecidesGroup: serviceDecides.serviceDecidesGroup,\n side: side\n });\n }\n });\n }\n }, {\n key: \"addToFavourites\",\n value: function addToFavourites(name) {\n var _this16 = this;\n this.setState({\n addToFavouriteDialogOpen: false,\n hideSpinner: false\n }, function () {\n ApiClient.clientOrder.addFavourite(_this16.state.currentClientOrder.id, name).then(function () {\n _this16.setState({\n hideSpinner: true,\n favouriteAddedDialogOpen: true\n });\n }).catch(function (error) {\n return _this16.showError(_this16.translations.clientOrderErrorMessage, \"An error occurred while adding favorite client order -> \".concat(JSON.stringify(error)), error);\n });\n });\n }\n }, {\n key: \"renderAudiogramDialog\",\n value: function renderAudiogramDialog() {\n var _this17 = this;\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.isAudiogramVisible,\n className: \"wdh-feature-btb-modalContent wdh-feature-btb-modalContent-audiogram\",\n style: {\n content: {\n height: '',\n width: ''\n }\n },\n type: ModalDialog.types.blank\n }, /*#__PURE__*/React.createElement(Audiogram, {\n audiogramDataLeft: this.state.audiogramDataLeft,\n audiogramDataRight: this.state.audiogramDataRight,\n clientOrderMode: this.state.clientOrderMode,\n onCancelClicked: function onCancelClicked() {\n _this17.onAudiogramCancelClicked();\n },\n onSaveClicked: function onSaveClicked(audiogramDataLeft, audiogramDataRight) {\n _this17.onAudiogramSaveClicked(audiogramDataLeft, audiogramDataRight);\n },\n isLeftMandatory: ClientOrderService.isAudiogramSideMandatory(ClientOrderMode.LEFT, this.state.sharedAssignments, this.state.leftAssignments, this.state.rightAssignments),\n isRightMandatory: ClientOrderService.isAudiogramSideMandatory(ClientOrderMode.RIGHT, this.state.sharedAssignments, this.state.leftAssignments, this.state.rightAssignments)\n }));\n }\n }, {\n key: \"renderRemoveProductFromCartDialog\",\n value: function renderRemoveProductFromCartDialog() {\n var _this18 = this;\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.removeProductFromCartDialogIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick() {\n return _this18.addToCart(true);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this18.onRemoveProductCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.clientOrderStep2RemoveConfigurationWarning));\n }\n }, {\n key: \"renderRemoveClientOrderFromCartModal\",\n value: function renderRemoveClientOrderFromCartModal() {\n var _this19 = this;\n return /*#__PURE__*/React.createElement(ClientOrderRemoveFromCartModal, {\n isOpen: this.state.removeClientOrderFromCartModalIsOpen,\n onModalAccepted: function onModalAccepted(event) {\n return _this19.removeClientOrderFromCartModalAccepted(event);\n },\n onModalCanceled: function onModalCanceled(event) {\n return _this19.removeClientOrderFromCartModalCanceled(event);\n }\n });\n }\n }, {\n key: \"renderForceableDialog\",\n value: function renderForceableDialog() {\n var _this20 = this;\n if (this.state.forceAssignments === null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.forceableDialogIsOpen,\n type: ModalDialog.types.okCancel,\n onOkClick: function onOkClick(event) {\n return _this20.forceAssignments(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this20.cancelForceAssignments(event);\n },\n cancelLabel: this.translations.cancelLabel\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.clientOrderStep2ForceMessageLine1), /*#__PURE__*/React.createElement(\"p\", null, this.state.forceAssignments.conflictingOptionsText), /*#__PURE__*/React.createElement(\"p\", null, /*#__PURE__*/React.createElement(\"b\", null, this.translations.clientOrderStep2ForceMessageLine2)), /*#__PURE__*/React.createElement(\"p\", null, this.translations.clientOrderStep2ForceMessageLine3), /*#__PURE__*/React.createElement(\"p\", null, this.translations.clientOrderStep2ForceMessageLine4, \" \", this.state.forceAssignments.forcingOptionsText));\n }\n }, {\n key: \"renderForceableErrorMessageDialog\",\n value: function renderForceableErrorMessageDialog() {\n var _this21 = this;\n if (this.state.forceableErrorMessage === null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.forceableErrorDialogIsOpen,\n type: ModalDialog.types.okOnly,\n onOkClick: function onOkClick(event) {\n return _this21.forceableErrorOkClicked(event);\n },\n okLabel: this.translations.okLabel\n }, /*#__PURE__*/React.createElement(\"p\", null, this.state.forceableErrorMessage));\n }\n }, {\n key: \"renderCopyErrorMessageDialog\",\n value: function renderCopyErrorMessageDialog() {\n var _this22 = this;\n if (!this.state.copyErrorDialogIsOpen) {\n return null;\n }\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.copyErrorDialogIsOpen,\n type: ModalDialog.types.okOnly,\n onOkClick: function onOkClick(event) {\n return _this22.copyErrorOkClicked(event);\n },\n okLabel: this.translations.okLabel\n }, /*#__PURE__*/React.createElement(\"p\", null, TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP2_COPY_ERROR)));\n }\n }, {\n key: \"renderAddFavouriteDialog\",\n value: function renderAddFavouriteDialog() {\n var _this23 = this;\n return /*#__PURE__*/React.createElement(ClientOrdersAddFavouriteDialog, {\n isOpen: this.state.addToFavouriteDialogOpen,\n onCancel: function onCancel() {\n _this23.setState({\n addToFavouriteDialogOpen: false\n });\n },\n onSubmit: function onSubmit(name) {\n return _this23.addToFavourites(name);\n }\n });\n }\n }, {\n key: \"renderFavouriteAddedDialog\",\n value: function renderFavouriteAddedDialog() {\n var _this24 = this;\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.state.favouriteAddedDialogOpen,\n type: ModalDialog.types.okOnly,\n onOkClick: function onOkClick() {\n _this24.setState({\n favouriteAddedDialogOpen: false\n });\n },\n className: \"wdh-feature-btb-modalContent favourite-popup\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-addToFavourites shipping-address-grid\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.favouriteSaved)));\n }\n }, {\n key: \"renderHeader\",\n value: function renderHeader() {\n var _this25 = this;\n var copyBlockClassNames = classNames('patient-order-details-copy', {\n 'hide-copy-block': this.state.clientOrderMode !== ClientOrderMode.BINAURAL\n });\n var copyBlockColumnHeaderClassNames = classNames('column-headers');\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"patient-order-header\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"patient-order-details\"\n }, this.translations.clientOrderStep2Header !== '' && /*#__PURE__*/React.createElement(\"h3\", {\n className: \"step-2-header\"\n }, this.translations.clientOrderStep2Header), this.translations.clientOrderStep2Paragraph !== '' && /*#__PURE__*/React.createElement(\"p\", {\n className: \"step-2-paragraph\"\n }, this.translations.clientOrderStep2Paragraph), /*#__PURE__*/React.createElement(RadioList, {\n id: \"wdh-b2b-sides\",\n items: [{\n value: ClientOrderMode.RIGHT,\n text: this.translations.clientOrderStep2RightOnly\n }, {\n value: ClientOrderMode.BINAURAL,\n text: this.translations.clientOrderStep2Binaural\n }, {\n value: ClientOrderMode.LEFT,\n text: this.translations.clientOrderStep2LeftOnly\n }],\n label: \"\",\n selectedValue: this.state.clientOrderMode,\n onValueChange: function onValueChange(e) {\n _this25.onClientOrderModeChanged(e);\n }\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: copyBlockClassNames\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.clientOrderStep2CopySelections), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"sticky-copyicon-toright\",\n disabled: this.state.clientOrderMode !== ClientOrderMode.BINAURAL,\n onClick: function onClick() {\n return _this25.onCopy(ClientOrderMode.LEFT);\n }\n }, this.translations.clientOrderStep2CopyLeft), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"sticky-copyicon-toleft\",\n disabled: this.state.clientOrderMode !== ClientOrderMode.BINAURAL,\n onClick: function onClick() {\n return _this25.onCopy(ClientOrderMode.RIGHT);\n }\n }, this.translations.clientOrderStep2CopyRight)), /*#__PURE__*/React.createElement(\"div\", {\n className: copyBlockColumnHeaderClassNames\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-header column-right-ear\"\n }, /*#__PURE__*/React.createElement(\"div\", null, this.translations.right)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-header column-left-ear\"\n }, /*#__PURE__*/React.createElement(\"div\", null, this.translations.left))));\n }\n }, {\n key: \"renderFooter\",\n value: function renderFooter() {\n var _this26 = this;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"patient-order-footer\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"patient-order-details\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"patient-order-details-addtocart\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"add-to-cart-wrapper\"\n }, /*#__PURE__*/React.createElement(AddToCartClientOrdersButton, {\n buttonType: AddToCartButtonTypes.CLIENT_ORDER,\n clientOrderInCart: this.state.inCart,\n onButtonClicked: function onButtonClicked(event) {\n return _this26.onAddToCartClicked(event);\n },\n enabled: this.state.addToCardButtonEnabled && this.state.mandatoryFilledOut\n })))));\n }\n }, {\n key: \"renderControllers\",\n value: function renderControllers(assignments, side) {\n var _this27 = this;\n if (CheckUtils.isNullOrEmptyObject(assignments) || CheckUtils.isNullOrEmptyObject(assignments.controllers)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"blurer\"\n }, assignments.controllers.map(function (controller) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: controller.variableId\n }, _this27.renderComponent(controller, side, assignments.serviceDecidesAssignments));\n }));\n }\n }, {\n key: \"renderCommon\",\n value: function renderCommon(sharedAssignments) {\n var _this28 = this;\n if (CheckUtils.isNullOrEmptyObject(sharedAssignments)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-group-box shared\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"inner-group-box\"\n }, sharedAssignments.map(function (controller) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: controller.variableId\n }, _this28.renderComponent(controller, 'shared'));\n })));\n }\n }, {\n key: \"renderAssignments\",\n value: function renderAssignments() {\n var leftGroupClassNames = classNames('inner-group-box side-block', {\n 'wdh-feature-btb-dimmed': this.state.clientOrderMode === ClientOrderMode.LEFT\n });\n var rightGroupClassNames = classNames('inner-group-box side-block', {\n 'wdh-feature-btb-dimmed': this.state.clientOrderMode === ClientOrderMode.RIGHT\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n id: \"assignments\",\n className: \"wdh-feature-b2b-group-box-transparent no-overflow\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: leftGroupClassNames\n }, this.renderControllers(this.state.rightAssignments, ClientOrderMode.RIGHT)), /*#__PURE__*/React.createElement(\"div\", {\n className: rightGroupClassNames\n }, this.renderControllers(this.state.leftAssignments, ClientOrderMode.LEFT)), this.renderCommon(this.state.sharedAssignments));\n }\n }, {\n key: \"renderComponent\",\n value: function renderComponent(controller, side, serviceDecidesAssignments) {\n var _this29 = this;\n var displayServiceDecidesMessage = false;\n var selected = false;\n if (controller.serviceDecides && !CheckUtils.isNullObject(serviceDecidesAssignments)) {\n var serviceDecides = serviceDecidesAssignments.find(function (x) {\n return x.serviceDecidesGroup === controller.serviceDecidesGroup;\n });\n if (serviceDecides.variableIds.length > 0 && serviceDecides.variableIds[0] === controller.variableId) {\n displayServiceDecidesMessage = true;\n }\n selected = serviceDecides.serviceDecidesSelected;\n }\n switch (controller.type) {\n case 'audiogram':\n return /*#__PURE__*/React.createElement(ClientOrdersAudioGram, {\n controller: controller,\n onShowAudiogramClicked: function onShowAudiogramClicked() {\n return _this29.onShowAudiogramClicked();\n },\n side: side,\n isValid: this.state.isAudiogramValid,\n isMandatory: this.state.isAudiogramMandatory\n });\n case 'color-selector':\n return /*#__PURE__*/React.createElement(ClientOrdersColorSelector, {\n side: side,\n controller: controller,\n showProductInformation: true,\n productImageUrl: side === ClientOrderMode.LEFT ? this.state.productImageUrlLeft : this.state.productImageUrlRight,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n isHidden: controller.isHidden\n });\n case 'mini-color-selector':\n return /*#__PURE__*/React.createElement(ClientOrdersColorSelector, {\n side: side,\n controller: controller,\n productImageUrl: side === ClientOrderMode.LEFT ? this.state.productImageUrlLeft : this.state.productImageUrlRight,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n isHidden: controller.isHidden\n });\n case 'dropdown':\n return /*#__PURE__*/React.createElement(ClientOrdersDropdown, {\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n displayServiceDecidesMessage: displayServiceDecidesMessage,\n serviceDecidesSelected: selected,\n isHidden: controller.isHidden\n });\n case 'radio-box':\n return /*#__PURE__*/React.createElement(ClientOrdersRadioBox, {\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n displayServiceDecidesMessage: displayServiceDecidesMessage,\n serviceDecidesSelected: selected,\n isHidden: controller.isHidden\n });\n case 'tabbed-pane':\n return /*#__PURE__*/React.createElement(ClientOrdersTabbedPane, {\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: serviceDecidesAssignments,\n productImageUrl: side === ClientOrderMode.LEFT ? this.state.productImageUrlLeft : this.state.productImageUrlRight,\n isHidden: controller.isHidden\n });\n case 'pane':\n return /*#__PURE__*/React.createElement(ClientOrdersTabbedPane, {\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: serviceDecidesAssignments,\n productImageUrl: side === ClientOrderMode.LEFT ? this.state.productImageUrlLeft : this.state.productImageUrlRight,\n isHidden: controller.isHidden,\n displayTabs: false\n });\n case 'collapsible-pane':\n return /*#__PURE__*/React.createElement(ClientOrdersCollapsiblePane, {\n controller: controller,\n side: side,\n onValueChanged: function onValueChanged(childController, value) {\n _this29.onControllerValueChanged(childController, value, side);\n },\n unselectEnabled: true,\n serviceDecidesAssignments: serviceDecidesAssignments,\n productImageUrl: side === ClientOrderMode.LEFT ? this.state.productImageUrlLeft : this.state.productImageUrlRight,\n isHidden: controller.isHidden,\n forceActive: this.state.forceAccordionsOpen\n });\n case 'image':\n return /*#__PURE__*/React.createElement(ClientOrdersImage, {\n side: side,\n productImageUrl: side === ClientOrderMode.LEFT ? this.state.productImageUrlLeft : this.state.productImageUrlRight\n });\n default:\n Logger.warn(\"Template contains controller with unknown type, type is '\".concat(controller.type, \"' with controllerId=\").concat(controller.variableId));\n return null;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this30 = this;\n if (this.state.showError) {\n return /*#__PURE__*/React.createElement(GeneralError, {\n message: this.state.errorMessage,\n error: this.state.error\n });\n }\n var stickyCopyBlockClassNames = classNames('sticky-copy', {\n 'hide-copy-block': this.state.clientOrderMode !== ClientOrderMode.BINAURAL\n });\n var stickyCopyBlockColumnHeaderClassNames = classNames('sticky-copy-col-header column-headers');\n return /*#__PURE__*/React.createElement(\"div\", null, this.renderForceableDialog(), this.renderForceableErrorMessageDialog(), this.renderCopyErrorMessageDialog(), this.renderAddFavouriteDialog(), this.renderFavouriteAddedDialog(), /*#__PURE__*/React.createElement(Wizard, {\n id: \"wdh-feature-b2b-stepNavigation\",\n activeWizardStepIndex: this.state.activeWizardStepIndex,\n wizardSteps: this.state.wizardSteps\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wrapper-content\",\n ref: this.wrapperRef\n }, this.renderAudiogramDialog(), this.renderRemoveProductFromCartDialog(), this.renderRemoveClientOrderFromCartModal(), this.renderHeader(), /*#__PURE__*/React.createElement(StickyHeader, {\n className: \"sticky-header1\",\n displayWhenNotSticky: false,\n fixedTopPosition: this.getStickyHeaderTopPosition(),\n topPositionCalculation: function topPositionCalculation() {\n var topPosition = _this30.getStickyHeaderTopPosition();\n return topPosition;\n },\n stickyAfterScrollAmmount: 420,\n recalculationDelay: 1600\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"sticky-header-content\"\n }, this.state.clientOrderMode === ClientOrderMode.RIGHT || this.state.clientOrderMode === ClientOrderMode.BINAURAL ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"sticky-image sticky-left\"\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: this.state.productImageUrlRight,\n onError: ProductsUtils.fillImageNotFound,\n alt: \"\"\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: stickyCopyBlockClassNames\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.clientOrderStep2CopySelections), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"sticky-copyicon-toright\",\n disabled: this.state.clientOrderMode !== ClientOrderMode.BINAURAL,\n onClick: function onClick() {\n return _this30.onCopy(ClientOrderMode.LEFT);\n }\n }, this.translations.clientOrderStep2CopyLeft), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"sticky-copyicon-toleft\",\n disabled: this.state.clientOrderMode !== ClientOrderMode.BINAURAL,\n onClick: function onClick() {\n return _this30.onCopy(ClientOrderMode.RIGHT);\n }\n }, this.translations.clientOrderStep2CopyRight)), this.state.clientOrderMode === ClientOrderMode.LEFT || this.state.clientOrderMode === ClientOrderMode.BINAURAL ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"sticky-image sticky-right\"\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: this.state.productImageUrlLeft,\n onError: ProductsUtils.fillImageNotFound,\n alt: \"\"\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: stickyCopyBlockColumnHeaderClassNames\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-header column-right-ear\"\n }, /*#__PURE__*/React.createElement(\"div\", null, this.translations.right)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-header column-left-ear\"\n }, /*#__PURE__*/React.createElement(\"div\", null, this.translations.left))))), /*#__PURE__*/React.createElement(Loader, {\n show: !this.state.hideSpinner,\n message: '',\n contentBlur: loaderOpacityLight,\n backgroundStyle: loaderBackgroundStyle\n }, this.renderAssignments(), this.renderFooter())));\n }\n }]);\n}(React.Component);\nnew WDHFeatureB2BClientOrderStep2Spot().run();","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ModalDialog from '../modal-dialog';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { TranslationKeys, Events } from '../../infrastructure/const';\nimport ApiClient from '../../infrastructure/api/api-client';\nvar EventBus = window.DGS.Event.getInstance();\n\n/**\n * Component showing a modal dialog with warning that shopping cart can only contain one client order at the time (as it has been done on Magento shops) / WDHEC-4637\n * After appriving changes by clicking ok button all client orders added to cart will be removed\n * @memberOf module:wdh-feature-b2b\n * @example\n * import ClientOrderRemoveFromCartModal from 'wdh-feature-b2b/src/js/components/client-orders/client-order-remove-from-cart-modal';\n * this.removeClientOrderFromCartModalAccepted()}\n * onModalCanceled={() => this.removeClientOrderFromCartModalCanceled()}\n * />\n */\nvar ClientOrderRemoveFromCartModal = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {Object} props.isOpen Variable for hiding/displaying modal dialog\n * @param {String} props.onModalAccepted Event to fire, when ok button is clicked\n * @param {String} props.onModalCanceled Event to fire, when cancel button is clicked\n */\n function ClientOrderRemoveFromCartModal(props) {\n var _this;\n _classCallCheck(this, ClientOrderRemoveFromCartModal);\n _this = _callSuper(this, ClientOrderRemoveFromCartModal, [props]);\n _this.state = {};\n _this.translations = {\n warningNote: TranslationManager.getTranslation(TranslationKeys.SHARED_CLIENT_ORDER_RESET),\n okLabel: TranslationManager.getTranslation(TranslationKeys.SHARED_OK),\n cancelLabel: TranslationManager.getTranslation(TranslationKeys.SHARED_CANCEL)\n };\n return _this;\n }\n\n // onModalAccepted(event) {\n // ApiClient.cart.removeClientOrders().then(() => {\n // EventBus.trigger(Events.CART_UPDATED);\n // this.props.onModalAccepted(event);\n // });\n // }\n _inherits(ClientOrderRemoveFromCartModal, _React$Component);\n return _createClass(ClientOrderRemoveFromCartModal, [{\n key: \"onModalAccepted\",\n value: function onModalAccepted(event) {\n var _this2 = this;\n var removeClientOrderPromise = ApiClient.cart.removeClientOrders();\n var deleteAllPatientOrdersPromise = ApiClient.clientOrder.deleteAllPatientOrders();\n Promise.all([removeClientOrderPromise, deleteAllPatientOrdersPromise]).then(function () {\n EventBus.trigger(Events.REFRESH_CART_COUNT);\n _this2.props.onModalAccepted(event);\n });\n }\n }, {\n key: \"onModalCanceled\",\n value: function onModalCanceled(event) {\n this.props.onModalCanceled(event);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n return /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: this.props.isOpen,\n onOkClick: function onOkClick(event) {\n return _this3.onModalAccepted(event);\n },\n okLabel: this.translations.okLabel,\n onCancelClick: function onCancelClick(event) {\n return _this3.onModalCanceled(event);\n },\n cancelLabel: this.translations.cancelLabel,\n type: ModalDialog.types.okCancel\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.warningNote));\n }\n }]);\n}(React.Component);\nexport default ClientOrderRemoveFromCartModal;\nClientOrderRemoveFromCartModal.propTypes = {\n isOpen: PropTypes.bool,\n onModalAccepted: PropTypes.func,\n onModalCanceled: PropTypes.func\n};\nClientOrderRemoveFromCartModal.defaultProps = {\n isOpen: false,\n onModalAccepted: function onModalAccepted() {},\n onModalCanceled: function onModalCanceled() {}\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// import Logger from '../../../../wdh-logger/wdh-logger';\nvar StickyHeader = /*#__PURE__*/function (_React$Component) {\n function StickyHeader(props) {\n var _this;\n _classCallCheck(this, StickyHeader);\n _this = _callSuper(this, StickyHeader, [props]);\n _this.state = {\n isSticky: false,\n style: {\n top: _this.props.fixedTopPosition\n }\n };\n _this.setStickiness = _this.setStickiness.bind(_this);\n _this.scrollAndResizeHandler = _this.scrollAndResizeHandler.bind(_this);\n return _this;\n }\n _inherits(StickyHeader, _React$Component);\n return _createClass(StickyHeader, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.topPositionCalculation !== null) {\n window.addEventListener('scroll', this.scrollAndResizeHandler);\n window.addEventListener('resize', this.scrollAndResizeHandler);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.props.topPositionCalculation !== null) {\n window.removeEventListener('scroll', this.scrollAndResizeHandler);\n window.removeEventListener('resize', this.scrollAndResizeHandler);\n }\n }\n }, {\n key: \"setStickiness\",\n value: function setStickiness() {\n var isSticky = false;\n var style = {};\n var requiredScroll = null;\n var topPosition = 0;\n if (this.props.ScrollAmmountCalculation !== null) {\n requiredScroll = this.props.ScrollAmmountCalculation();\n } else {\n requiredScroll = this.props.stickyAfterScrollAmmount;\n }\n if (window.pageYOffset > requiredScroll) {\n isSticky = true;\n } else if (window.pageYOffset <= requiredScroll) {\n isSticky = false;\n }\n if (!this.state.isSticky) {\n style = {};\n } else if (this.state.isSticky) {\n topPosition = this.props.topPositionCalculation();\n style = {\n top: topPosition\n };\n }\n this.setState({\n style: style,\n isSticky: isSticky\n });\n }\n }, {\n key: \"scrollAndResizeHandler\",\n value: function scrollAndResizeHandler() {\n var _this2 = this;\n this.setStickiness();\n window.setTimeout(function () {\n _this2.setStickiness();\n }, this.props.recalculationDelay);\n }\n }, {\n key: \"render\",\n value: function render() {\n var stickyWrapperClasses = classNames({\n 'is-sticky': this.state.isSticky\n }, 'wdh-feature-btb-stickyheader', this.props.className);\n var stickyClasses = classNames({\n 'is-sticky': this.state.isSticky,\n 'hide-when-not-sticky': !this.props.displayWhenNotSticky,\n 'add-to-cart-sticky': this.state.isSticky\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: stickyWrapperClasses,\n style: !this.state.isSticky && !this.props.displayWhenNotSticky ? {\n height: '0'\n } : {}\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: stickyClasses,\n style: this.state.style\n }, this.props.children));\n }\n }]);\n}(React.Component);\nStickyHeader.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node.isRequired,\n stickyAfterScrollAmmount: PropTypes.number,\n ScrollAmmountCalculation: PropTypes.func,\n fixedTopPosition: PropTypes.string,\n topPositionCalculation: PropTypes.func,\n recalculationDelay: PropTypes.number,\n displayWhenNotSticky: PropTypes.bool\n};\nStickyHeader.defaultProps = {\n className: '',\n stickyAfterScrollAmmount: 0,\n ScrollAmmountCalculation: null,\n fixedTopPosition: 0,\n topPositionCalculation: null,\n recalculationDelay: 1500,\n displayWhenNotSticky: true\n};\nexport default StickyHeader;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport CheckUtils from \"../../utilities/check-utils\";\nvar Accordion = /*#__PURE__*/function (_React$Component) {\n function Accordion(props) {\n var _this;\n _classCallCheck(this, Accordion);\n _this = _callSuper(this, Accordion, [props]);\n _this.state = {\n active: _this.props.defaultOpen,\n clearDefaultOpen: false\n };\n return _this;\n }\n _inherits(Accordion, _React$Component);\n return _createClass(Accordion, [{\n key: \"toggleActive\",\n value: function toggleActive() {\n var active = !this.state.active;\n this.setState({\n active: active,\n clearDefaultOpen: true\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var hasSubtitle = !CheckUtils.isNullOrEmptyString(this.props.subtitle);\n var titleClasses = classNames({\n 'has-subtitle': hasSubtitle,\n 'section-title': true\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"accordion\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"accordion-wrapper\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"accordion-header \".concat(this.state.active ? 'active' : ''),\n onClick: function onClick() {\n _this2.toggleActive();\n },\n role: \"presentation\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: titleClasses\n }, /*#__PURE__*/React.createElement(\"b\", null, this.props.title), hasSubtitle && /*#__PURE__*/React.createElement(\"div\", {\n className: \"section-subtitle\"\n }, this.props.subtitle)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"show-more\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"item-content \".concat(this.state.active ? 'active' : '', \" \").concat(this.props.displayMode === 'flex' ? 'display-flex' : 'display-block')\n }, this.props.children)));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n // open accordion if forced by parent.\n if (props.forceActive && !state.active) {\n return {\n active: true\n };\n }\n if (props.defaultOpen && !state.clearDefaultOpen) {\n return {\n active: true\n };\n }\n return null;\n }\n }]);\n}(React.Component);\nAccordion.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string,\n subtitle: PropTypes.string,\n defaultOpen: PropTypes.bool,\n displayMode: PropTypes.oneOf(['flex', 'block']),\n forceActive: PropTypes.bool\n};\nAccordion.defaultProps = {\n title: '',\n subtitle: '',\n defaultOpen: false,\n displayMode: 'flex',\n forceActive: false\n};\nexport default Accordion;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { ClientOrderMode } from '../infrastructure/const';\nvar ClientOrdersUtils = /*#__PURE__*/function () {\n function ClientOrdersUtils() {\n _classCallCheck(this, ClientOrdersUtils);\n }\n return _createClass(ClientOrdersUtils, null, [{\n key: \"getCategoryName\",\n value: function getCategoryName(clientOrderCategories, categoryId) {\n var category = clientOrderCategories.find(function (x) {\n return x.id === categoryId;\n });\n if (category) {\n return category.title;\n }\n return '';\n }\n }, {\n key: \"anyAudiogramItemHasIntensityForCollection\",\n value: function anyAudiogramItemHasIntensityForCollection(configurationsCollection) {\n var anyLeft = this.anyOneSideAudiogramItemHasIntensity(configurationsCollection.find(function (x) {\n return x.side === ClientOrderMode.LEFT;\n }));\n var anyRight = this.anyOneSideAudiogramItemHasIntensity(configurationsCollection.find(function (x) {\n return x.side === ClientOrderMode.RIGHT;\n }));\n return anyLeft || anyRight;\n }\n }, {\n key: \"anyAudiogramItemHasIntensity\",\n value: function anyAudiogramItemHasIntensity(clientOrder) {\n var anyLeft = this.anyOneSideAudiogramItemHasIntensity(clientOrder.configuration.find(function (x) {\n return x.side === ClientOrderMode.LEFT;\n }));\n var anyRight = this.anyOneSideAudiogramItemHasIntensity(clientOrder.configuration.find(function (x) {\n return x.side === ClientOrderMode.RIGHT;\n }));\n return anyLeft || anyRight;\n }\n }, {\n key: \"anyOneSideAudiogramItemHasIntensity\",\n value: function anyOneSideAudiogramItemHasIntensity(configuration) {\n if (!configuration) {\n return false;\n }\n return configuration.audiogram.some(function (x) {\n return 'intensity' in x;\n });\n }\n }, {\n key: \"leftAudiogramItemHasIntensity\",\n value: function leftAudiogramItemHasIntensity(clientOrder) {\n var left = this.anyOneSideAudiogramItemHasIntensity(clientOrder.configuration.find(function (x) {\n return x.side === ClientOrderMode.LEFT;\n }));\n return left;\n }\n }, {\n key: \"rightAudiogramItemHasIntensity\",\n value: function rightAudiogramItemHasIntensity(clientOrder) {\n var right = this.anyOneSideAudiogramItemHasIntensity(clientOrder.configuration.find(function (x) {\n return x.side === ClientOrderMode.RIGHT;\n }));\n return right;\n }\n }]);\n}();\nexport default ClientOrdersUtils;"],"names":["AudiogramGraphData","id","color","width","label","lineFrom","lineTo","lineClass","y1","y2","dy","textAnchor","dash","stroke","x1","x2","x","AudiogramTableData","frequency","AudiogramFrequencyMapping","point","pointFrom","pointTo","_typeof","o","Symbol","iterator","constructor","prototype","_defineProperties","e","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","i","toPrimitive","call","TypeError","String","Number","_toPrimitive","AudiogramUtils","a","n","_classCallCheck","this","value","toFixed","index","element","newValue","Math","round","audiogramData","isValid","audiogramDataItem","isRequired","intensity","isNullOrEmptyString","hasError","isEmpty","audiogramDataLeft","audiogramDataRight","isAudiogramDataEmpty","side","BINAURAL","RIGHT","LEFT","_callSuper","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","AudiogramGraph","_React$Component","props","_this","state","translations","acLabel","getTranslation","CLIENTORDERSTEP2_ACLABEL","hzLabel","CLIENTORDERSTEP2_HZLABEL","dbhlLabel","CLIENTORDERSTEP2_DBHLLABEL","create","_inherits","createAudiogramData","nextProps","event","position","createPosition","onDataChanged","newPosition","path","concat","y","isNullObject","convertFromFrequency","convertFromIntensity","push","convertToFrequency","frequencyLabel","convertToIntensity","_this2","className","height","transform","map","data","gClassName","gTransform","strokeWidth","top","left","viewBox","style","fill","onClick","onGridClicked","d","createPath","cursor","attributeName","from","to","begin","end","cx","cy","createTitle","targetDim","target","getBoundingClientRect","clientX","clientY","intensityRounded","roundIntensity","roundFrequency","propTypes","defaultProps","AudiogramTextInput","regex","changeValidation","blurValidation","setStateFromProps","test","setState","newData","newIntensity","inputClasses","required","type","maxLength","onBlur","onAudiogramBlured","onChange","onAudiogramChanged","AudiogramTable","_loop","staticDataItem","find","dataUrl","leftAudiogramImage","rightAudiogramImage","src","alt","_this3","colSpan","renderImage","validate","onAudiogramTextBoxChanged","Audiogram","showValidationMessage","deleteRightSideGraphModalIsOpen","deleteLeftSideGraphModalIsOpen","copyRightSideGraphModalIsOpen","copyLeftSideGraphModalIsOpen","cancelAudiogramModalIsOpen","leftValid","rightValid","deleteLeftSideGraphLabel","CLIENTORDERSTEP2_DELETE_LEFT_SIDE_GRAPH","deleteRightSideGraphLabel","CLIENTORDERSTEP2_DELETE_RIGHT_SIDE_GRAPH","cancelAudiogramLabel","CLIENTORDERSTEP2_CANCEL_AUDIOGRAM","requiredMessageLabel","CLIENTORDERSTEP2_REQUIREDFIELDSMESSAGE","cancelAudiogramButtonLabel","CLIENTORDERSTEP2_CANCELAUDIOGRAMBUTTON","saveAudiogramButtonLabel","CLIENTORDERSTEP2_SAVEAUDIOGRAMBUTTON","okLabel","SHARED_OK","cancelLabel","SHARED_CANCEL","scrollAudiogramMobileText","CLIENTORDERSTEP2_SCROLL_AUDIOGRAM_MOBILE_TEXT","newAudiogramDataItem","newAudiogramData","added","xmlnsXlink","xlinkHref","rightAudiogramCirleSvg","JSON","parse","stringify","isBothSidesAudiogramDataEmpty","validateAudiogram","onSaveClicked","_i","onCancelClicked","audiogramDataClone","updateAudiogramData","_audiogramDataClone","_showValidationMessage","clientOrderMode","copyLeftSideGraphAccepted","copyRightSideGraphAccepted","audiogramDataRightClone","audiogramDataLeftClone","audiogramDataRightInput","audiogramDataLeftInput","updateState","isLeftValid","isRightValid","isSideLeft","isLeftMandatory","validationResult","validateAudiogramData","isSideRight","isRightMandatory","_validationResult","audiogramDataLeftEmpty","audiogramDataRightEmpty","copyLeftClassNames","enable","disable","copyRightClassNames","removeLeftClassNames","removeRightClassNames","onLeftCopyClicked","role","onRightCopyClicked","onLeftDeleteClicked","onRightDeleteClicked","isOpen","types","okCancel","onOkClick","deleteRightSideGraphAccepted","onCancelClick","deleteRightSideGraphCanceled","blurElementID","deleteLeftSideGraphAccepted","deleteLeftSideGraphCanceled","copyRightSideGraphCanceled","copyLeftSideGraphCanceled","cancelAudiogramAccepted","cancelAudiogramCanceled","_this4","leftAudiogramClasses","rightAudiogramClasses","messageClasses","hide","renderRightCirleSvg","renderCenterColumn","renderModals","ClientOrdersAudioGram","showAudiogramButton","CLIENTORDERSTEP2_SHOWAUDIOGRAMBUTTON","enterAudiogramInformation","CLIENTORDERSTEP2_ENTERAUDIOGRAMINFORMATION","mandatoryFormField","SHARED_MANDATORYFORMFIELD","isMandatory","divWrapperClasses","controller","variableId","onShowAudiogramClicked","name","_extends","assign","arguments","hasOwnProperty","ColorSlider","slider","selectedIndex","getSelectedIndex","current","slickGoTo","selectedValue","colorId","currentTarget","getAttribute","onValueChange","colors","divWrapperCssClasses","settings","dots","infinite","speed","slidesToShow","min","slidesToScroll","responsive","breakpoint","focusOnSelect","initialSlide","divWrapperStyle","maxWidth","ref","forceable","selected","onColorClick","backgroundColor","hex","showHelpText","helpTextHTML","ClientOrdersColorSelector","hintTranslationsKey","CLIENTORDERSTEP2_FEATURE_HINT","SHARED_LEFT","right","SHARED_RIGHT","labelMandatory","hint","hasTranslation","propsShortCut","values","forEach","ASSIGNED","productImageUrl","display","onError","fillImageNotFound","showProductInformation","oppositeSide","renderNoImage","renderProductImage","isHidden","valueId","colorHex","FORCEABLE","mandatory","isChild","onChildHasError","hasToolTip","dangerouslySetInnerHTML","__html","visibility","getVariableIdDataAttribute","tooltip","assignIfOneColor","onValueChanged","renderHardwarePreview","EventBus","window","DGS","Event","getInstance","ClientOrderServiceDecidesCheckbox","serviceDecidesMessage","CLIENTORDERSTEP2_SERVICE_DECIDES_MESSAGE","checked","trigger","SERVICE_DECIDES_VALUE_CHANGED","serviceDecidesSelected","serviceDecidesGroup","isDisplayed","isChecked","htmlFor","ClientOrdersDropdown","on","items","text","undefined","disabled","showFloatLabel","displayServiceDecidesMessage","serviceDecides","ClientOrdersRadioBox","letters","string","charAt","floor","random","setAssignedValueFromController","selectedItem","randomString","unselectEnabled","ClientOrdersImage","ClientOrdersCollapsiblePane","helperTextTranslationsKey","CLIENTORDERSTEP2_HELPER_TEXT_TRANSLATION_PREFIX","helperText","childHasError","getSelectedValue","selectedExists","prevProps","prevState","childController","serviceDecidesAssignments","_this5","childControllers","controllers","variableIds","renderChildController","A","title","groupName","subtitle","forceActive","defaultOpen","renderChildControllers","ClientOrdersTabbedPane","_this6","displayTabs","filter","val","onTabClick","active","AddToCartClientOrdersButton","pleaseAddQuantityLabelText","SHARED_PLEASEADDQUANTITY","updateCartButtonText","SHARED_UPDATECART","addToCartButtonText","SHARED_ADDTOCART","cartButton","onButtonClicked","clientOrderInCart","DateTimeUtils","date","diffDays","abs","Date","getTime","now","ceil","desiredFormat","currentFormat","format","ClientOrdersAddFavouriteDialog","submitted","valid","saveFavourite","CLIENTORDERSTEP2_SAVEFAVOURITEBUTTON","header","CLIENTORDERSTEP2_ADDFAVOURITEHEADER","onSubmit","resetForm","onCancel","inputValue","_slicedToArray","Array","isArray","_arrayWithHoles","l","u","f","next","done","return","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","WDHFeatureB2BClientOrderStep2Spot","_WDHComponent","component","validateConfigurationLoaded","ClientOrderStep2","querySelector","SHOP_INIT_READY","addToCartLabel","hideSpinner","forceableDialogIsOpen","forceAssignments","forceableErrorDialogIsOpen","forceableErrorMessage","copyErrorDialogIsOpen","isAudiogramVisible","isAudiogramValid","leftAssignments","rightAssignments","sharedAssignments","isLeftPurchasable","isRightPurchasable","wizardSteps","labelActive","CLIENTORDER_NAVIGATION_STEP1_LABEL","labelPassive","CLIENTORDER_NAVIGATION_STEP1_SHORT_LABEL","link","getSiteLink","CLIENTORDERSTEP1","CLIENTORDER_NAVIGATION_STEP2_LABEL","CLIENTORDER_NAVIGATION_STEP2_SHORT_LABEL","CLIENTORDERSTEP2","CLIENTORDER_NAVIGATION_STEP3_LABEL","CLIENTORDER_NAVIGATION_STEP3_SHORT_LABEL","CLIENTORDERSTEP3","activeWizardStepIndex","productImageUrlLeft","productImageUrlRight","addToCardButtonEnabled","ageInMonths","showError","errorMessage","error","mandatoryFilledOut","clientOrderCategories","currentClientOrder","colorNames","leftColor","rightColor","inCart","inCartProductsIds","removeProductFromCartDialogIsOpen","removeClientOrderFromCartModalIsOpen","isAudiogramMandatory","addToFavouriteDialogOpen","favouriteAddedDialogOpen","forceAccordionsOpen","clientOrderErrorMessage","CLIENTORDERSTEP2_ERROR_MESSAGE","clientOrderStep2ForceMessageLine1","CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_1","clientOrderStep2ForceMessageLine2","CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_2","clientOrderStep2ForceMessageLine3","CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_3","clientOrderStep2ForceMessageLine4","CLIENTORDERSTEP2_FORCE_MESSAGE_LINE_4","clientOrderStep2RightOnly","CLIENTORDERSTEP2_RIGHT_ONLY","clientOrderStep2LeftOnly","CLIENTORDERSTEP2_LEFT_ONLY","clientOrderStep2Header","CLIENTORDERSTEP2_HEADER","clientOrderStep2Paragraph","CLIENTORDERSTEP2_PARAGRAPH","clientOrderStep2Binaural","CLIENTORDERSTEP2_BINAURAL","clientOrderStep2RequiredFieldsInfo","CLIENTORDERSTEP2_REQUIRED_FIELDS_INFO","clientOrderStep2Info","CLIENTORDERSTEP2_INFO","clientOrderStep2CopySelections","CLIENTORDERSTEP2_COPY_SELECTIONS","clientOrderStep2CopyRight","CLIENTORDERSTEP2_COPY_RIGHT","clientOrderStep2CopyLeft","CLIENTORDERSTEP2_COPY_LEFT","clientOrderStep2CopyError","CLIENTORDERSTEP2_COPY_ERROR","clientOrderStep2RemoveConfigurationWarning","CLIENTORDERSTEP2_REMOVE_CONFIGURATION_WARNING","addToFavourites","CLIENTORDERSTEP1_ADD_TO_FAVOURITES","favouriteSaved","CLIENTORDERSTEP2_FAVOURITECONFIGURATIONSAVED","wrapperRef","assignments","currentServiceDecides","currentAssignments","getCurrentAssignments","mergeTemplateWithAssignments","template","productId","then","newAssignments","validateAssignments","updateClientOrder","clientOrderResult","category","getClientOrderCategories","categories","clientOrderId","getParameterByName","CLIENT_ORDER_ID","openAudiogramParameter","CLIENT_ORDER_OPEN_AUDIOGRAM","clientOrder","get","GetFirstWizardStepLabel","categoryId","endUserInformation","configuration","productInformation","marketingTitle","marketingSubTitle","isEditFlag","birthday","cart","getClientOrderCartProducts","result","getTemplate","initializeAudiogramData","common","GetClientOrderMode","leftData","rightData","mergeAudiogramData","audiogram","Promise","all","isNullOrEmptyArray","attributes","defaultConfiguration","mergeCommonWithAssignments","_ref","_ref2","fillMissingImage","imageUrl","isPurchasable","catch","getPatientOrder","patientOrder","selectedClientOrderMode","_this$state","_index","getControllerValue","removedAssignments","getCurrentControllerAssignment","unselectServiceDecidesForRemovedAssignments","some","showForceableDialog","assignment","_this7","onCopyCustomShellColor","response","warn","_newAssignments","_this8","colorFound","isNullOrEmptyObject","getSelectedColorName","_this9","getCartDetails","cartValue","_this9$state","clientOrders","showRemoveFromCartMessage","addToCart","inactiveDivs","document","querySelectorAll","_step","_iterator","_n","F","s","_createForOfIteratorHelper","el","firstInstanceOfInvalidField","$","addClass","scrollTo","behavior","scrollY","checkForScrollOffset","err","_this10","subheaderSpot","topPosition","subHeaderSpotTopPosition","parseFloat","offsetHeight","v","_this11","headerHeight","subHeader","stickyHeader","getFeatureFlagValue","USE_END_USER_TYPE","END_USER_TYPE","JAPAN","getCategoryName","lastName","firstName","disableConfiguration","_this12","addClientOrder","clientOrderResponse","_this12$state$patient","rightItem","earConfiguration","leftItem","patientOrderData","detailsLeft","isEnabled","itemNumber","detailsRight","warranties","relatedProductsOrders","smartCharger","updatePatientOrder","leftId","rightId","includes","clientOrderProps","addToCardButtonClicked","_this13","resolve","convertAudiogramData","colorName","update","validateMandatoryAssignments","message","debugMessage","conduction","audiogramCommon","cm","AUDIOGRAM","fields","field","parseInt","foundData","forcingVariableId","forcingVariableName","forcingValueName","oldAssignments","_this14","force","conflictingOptionsText","mergedAssignments","removedAssignment","getVariableName","getValueName","forcingOptionsText","_this15","FORCE_ASSIGNMENTS_CANCELED","_this16","addFavourite","_this17","content","blank","onAudiogramCancelClicked","onAudiogramSaveClicked","isAudiogramSideMandatory","_this18","onRemoveProductCanceled","_this19","onModalAccepted","removeClientOrderFromCartModalAccepted","onModalCanceled","removeClientOrderFromCartModalCanceled","_this20","cancelForceAssignments","_this21","okOnly","forceableErrorOkClicked","_this22","copyErrorOkClicked","_this23","_this24","_this25","copyBlockClassNames","copyBlockColumnHeaderClassNames","onClientOrderModeChanged","onCopy","_this26","buttonType","CLIENT_ORDER","onAddToCartClicked","enabled","_this27","renderComponent","_this28","leftGroupClassNames","rightGroupClassNames","renderControllers","renderCommon","_this29","onControllerValueChanged","_this30","stickyCopyBlockClassNames","stickyCopyBlockColumnHeaderClassNames","renderForceableDialog","renderForceableErrorMessageDialog","renderCopyErrorMessageDialog","renderAddFavouriteDialog","renderFavouriteAddedDialog","renderAudiogramDialog","renderRemoveProductFromCartDialog","renderRemoveClientOrderFromCartModal","renderHeader","displayWhenNotSticky","fixedTopPosition","getStickyHeaderTopPosition","topPositionCalculation","stickyAfterScrollAmmount","recalculationDelay","show","contentBlur","backgroundStyle","renderAssignments","renderFooter","run","ClientOrderRemoveFromCartModal","warningNote","SHARED_CLIENT_ORDER_RESET","removeClientOrderPromise","removeClientOrders","deleteAllPatientOrdersPromise","deleteAllPatientOrders","REFRESH_CART_COUNT","StickyHeader","isSticky","setStickiness","scrollAndResizeHandler","addEventListener","removeEventListener","requiredScroll","ScrollAmmountCalculation","pageYOffset","setTimeout","stickyWrapperClasses","stickyClasses","children","Accordion","clearDefaultOpen","hasSubtitle","titleClasses","toggleActive","displayMode","ClientOrdersUtils","configurationsCollection","anyLeft","anyOneSideAudiogramItemHasIntensity","anyRight"],"sourceRoot":""}