{"version":3,"sources":["webpack:///./src/components/FiguresWidget.vue?55cd","webpack:///./src/components/FiguresWidget.vue","webpack:///./src/components/FiguresWidget.vue?b8d5","webpack:///./src/components/FiguresWidget.vue?1b51","webpack:///./src/components/FiguresWidget.vue?01a4"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","hasData","class","Object","keys","parsedData","length","_l","resultKeys","key","isArray","valueNumber","index","_v","_s","consoleString","loading","_e","$t","staticRenderFns","FiguresWidget","_Vue","_this","_classCallCheck","_len","arguments","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","get","data","widgetUsesCustomerNo","updateFiguresData","filterFigures","value","figuresToShow","filter","includes","reduce","obj","_objectSpread","_this2","fromEntries","map","isNaN","isList","hasCurrencyByIndex","hasCurrency","split","i","abbreviateNumberWithCurrency","abbreviateNumber","widget","WidgetEnum","BusinessOverviewFigures","businessOverviewCurrency","QuotesFigures","quotesCurrency","SalesFigures","salesCurrency","QuotesFiguresDetailed","quotesDetailedCurrency","TechnologyOverviewSscFigures","ManufacturingFigures","test","widgetDefinition","isEmpty","Vue","__decorate","Prop","required","default","Component","methods","component"],"mappings":"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","file":"js/chunk-b20ff67c.266a796f.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiguresWidget.vue?vue&type=style&index=0&id=42e06b20&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"figures-widget\"},[(_vm.hasData)?_c('div',{staticClass:\"data-card\",class:{\n 'two-by-three': Object.keys(_vm.parsedData).length === 6,\n 'three-by-three': Object.keys(_vm.parsedData).length >= 7,\n }},_vm._l((_vm.resultKeys),function(key){return _c('div',{key:key,staticClass:\"figure-box\"},[(_vm.isArray(_vm.parsedData[key]))?_c('span',{staticClass:\"figure-value\"},_vm._l((_vm.parsedData[key]),function(valueNumber,index){return _c('span',{key:index},[_vm._v(_vm._s(valueNumber)+_vm._s(_vm.parsedData[key].length - 1 !== index ? '/' : ''))])}),0):_c('span',{staticClass:\"figure-value\"},[_vm._v(_vm._s(_vm.parsedData[key]))]),_c('h5',{staticClass:\"figure-label\"},[_vm._v(_vm._s(_vm.consoleString(key)))])])}),0):(!_vm.loading)?_c('div',{staticClass:\"no-data-card\"},[_c('span',{staticClass:\"no-data\"},[_vm._v(_vm._s(_vm.$t('no_data')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport WidgetDefinition from '@/models/Charts/widgetDefinition';\nimport { WidgetEnum } from '@/models/enums/WidgetEnum';\nimport { isEmpty } from '@/utils/misc';\nimport { abbreviateNumber, abbreviateNumberWithCurrency } from '@/utils/number';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n methods: {\n isArray: Array.isArray,\n },\n})\nexport default class FiguresWidget extends Vue {\n @Prop({ required: true })\n private data!: any | null;\n\n @Prop({ required: true, default: false })\n private loading!: boolean;\n\n @Prop({ required: true })\n private widgetDefinition!: WidgetDefinition;\n\n private get parsedData(): any {\n if (this.data === null) {\n return {};\n }\n\n if (this.widgetUsesCustomerNo) {\n return this.updateFiguresData(this.filterFigures(this.data));\n }\n\n return this.updateFiguresData(this.data);\n }\n\n private filterFigures(data: any): any {\n const figuresToShow = [\n 'nQuotes',\n 'nAccepted',\n 'nRejected',\n 'avgConversionTime',\n 'avgAmount',\n 'avgConvertedAmount',\n ];\n return Object.keys(data)\n .filter((key) => figuresToShow.includes(key))\n .reduce((obj, key) => {\n return {\n ...obj,\n [key]: data[key],\n };\n }, {});\n }\n\n private updateFiguresData(data: any) {\n return Object.fromEntries(\n Object.keys(data).map((key: string, index: number) => {\n const value = data[key];\n if (isNaN(value) && this.isList(value)) {\n const hasCurrencyByIndex: any = this.hasCurrency(index);\n\n return [\n key,\n value\n .split('/')\n .map((valueNumber: number, i: number) =>\n hasCurrencyByIndex[i]\n ? abbreviateNumberWithCurrency(valueNumber)\n : abbreviateNumber(valueNumber),\n ),\n ];\n }\n return this.hasCurrency(index)\n ? [key, abbreviateNumberWithCurrency(value)]\n : [key, abbreviateNumber(value)];\n }),\n );\n }\n\n // true - the figure has currency\n // false - the figure does not have currency\n private hasCurrency(index: number): boolean | boolean[] {\n switch (this.widget) {\n case WidgetEnum.BusinessOverviewFigures: {\n const businessOverviewCurrency: Array = [\n [false, true],\n [false, true],\n [false, true],\n true,\n true,\n true,\n false,\n false,\n [false, true],\n ];\n return businessOverviewCurrency[index];\n }\n case WidgetEnum.QuotesFigures: {\n const quotesCurrency: boolean[] = [\n false,\n false,\n false,\n false,\n false,\n false,\n false,\n true,\n true,\n ];\n return quotesCurrency[index];\n }\n case WidgetEnum.SalesFigures: {\n const salesCurrency: boolean[] = [false, true, true, false, false, false, true, true, true];\n return salesCurrency[index];\n }\n case WidgetEnum.QuotesFiguresDetailed: {\n const quotesDetailedCurrency: boolean[] = [false, false, false, false, true, true];\n return quotesDetailedCurrency[index];\n }\n case WidgetEnum.TechnologyOverviewSscFigures:\n return false;\n default:\n return false;\n }\n }\n\n private consoleString(key: string) {\n switch (this.widget) {\n case WidgetEnum.ManufacturingFigures:\n return this.$t(`report.manufacturing_console.${key}`);\n case WidgetEnum.TechnologyOverviewSscFigures:\n return this.$t(`report.technology_console_ssc_figures.${key}`);\n default:\n return this.$t(`report.business_console.${key}`);\n }\n }\n\n private get resultKeys(): string[] {\n return Object.keys(this.parsedData);\n }\n\n private isList(value: string): boolean {\n return /^(\\d+(.\\d+)?\\/)+\\d+(.\\d+)?$/.test(value);\n }\n\n private get widget(): WidgetEnum {\n return this.widgetDefinition.widget;\n }\n\n private get widgetUsesCustomerNo(): boolean {\n return this.widget === WidgetEnum.QuotesFiguresDetailed;\n }\n\n private get hasData(): boolean {\n return !isEmpty(this.parsedData);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiguresWidget.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FiguresWidget.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FiguresWidget.vue?vue&type=template&id=42e06b20&scoped=true\"\nimport script from \"./FiguresWidget.vue?vue&type=script&lang=ts\"\nexport * from \"./FiguresWidget.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FiguresWidget.vue?vue&type=style&index=0&id=42e06b20&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42e06b20\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}