{"version":3,"sources":["vueSampleModal.js"],"names":["selectSample","Vue","component","props","samples","sampleRows","thicknesses","thicknessesModalData","thicknessOnly","template","data","lastSelectedIndex","mixins","vatMixin","generalMixin","modalsMixin","methods","sampleRow","thickness","event","target","value","changeColourThickness","filter","thicknessData","x","vueSampleModal","changeThickness","index","validateSampleRows","changeThicknessOnly","parseInt","this","undefined","d","salePriceIncVAT","variantSku","salePriceExVAT","samplesToOrder","addSample","deleteRow","length","removeSample","openSampleColoursModal","name","totalPrice","el","minPrice","body","showSampleModal","sample","showColoursModal","disableAddToCart","colours","requestServiceMixin","mounted","editedRow","productServiceMixin","shoppingCartServiceMixin","variantsMixin","sku","vm","defaultSample","loadData","colour","showColour","getSamplesData","validated","productId","ID","then","response","Skus","addVariantItems","variantSkus","content","vueAddToCartModal","clearAddedProduct","push","addSampleItemToCart","$delete","a","newArray","errors","openError","vueShoppingCartCount","basketItemsTotal","resetColorThickness","set","setMinPrice","incVAT","id","updatedRow","hexadecimalCode","showThickness","getThicknessesForColour","closeColoursModal","productPrice","getThicknessesForColourApi","selectColour","forEach","invalidSampleRows","close","document","open","classList","toggle","prices","reduce","map","price","computed","isConfigured","p","Number","b","toFixed"],"mappings":"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","file":"../vueSampleModal.js","sourcesContent":["const selectSample = Vue.component('select-sample', {\r\n\tprops: {\r\n\t\tsamples: '',\r\n\t\tcolours: '',\r\n\t\tsampleRows: '',\r\n\t\tthicknesses: '',\r\n\t\tthicknessesModalData: '',\r\n\t\tthicknessOnly: false,\r\n\t},\r\n\ttemplate: '#select-sample',\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tsamplesToOrder: 0,\r\n\t\t\tlastSelectedIndex: 0,\r\n\t\t};\r\n\t},\r\n\tmixins: [vatMixin, generalMixin, modalsMixin],\r\n\tmethods: {\r\n\t\tchangeColourThickness: function (event, index, sampleRow) {\r\n\t\t\tconst thickness = event.target.value;\r\n\t\t\tvar thicknessData = sampleRow.filter((x) => x.thickness == thickness)[0];\r\n\r\n\t\t\tif (thickness === undefined || thickness === '0') {\r\n\t\t\t\tvueSampleModal.validateSampleRows();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvueSampleModal.changeThickness(index, thicknessData);\r\n\t\t\tvueSampleModal.validateSampleRows();\r\n\t\t},\r\n\r\n\t\tchangeThicknessOnly: function (event, index) {\r\n\t\t\tconst thickness = Number.parseInt(event.target.value);\r\n\t\t\tvar thicknessData = this.thicknessesModalData.filter((d) => d.thickness === thickness)[0];\r\n\r\n\t\t\tif (thickness === undefined || thickness === 0) {\r\n\t\t\t\tthicknessData = {\r\n\t\t\t\t\tthickness: 0,\r\n\t\t\t\t\tvariantSku: '',\r\n\t\t\t\t\tsalePriceIncVAT: 0,\r\n\t\t\t\t\tsalePriceExVAT: 0,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tvueSampleModal.changeThickness(index, thicknessData);\r\n\t\t\tvueSampleModal.validateSampleRows();\r\n\t\t},\r\n\r\n\t\taddSample: function () {\r\n\t\t\tthis.samplesToOrder++;\r\n\r\n\t\t\tif (vueSampleModal.validateSampleRows().length === 0) {\r\n\t\t\t\tvueSampleModal.addSample();\r\n\t\t\t}\r\n\t\t},\r\n\t\tremoveSample: function (index) {\r\n\t\t\tvueSampleModal.deleteRow(index);\r\n\t\t},\r\n\t\topenSampleColoursModal: function (index) {\r\n\t\t\tvueSampleModal.openSampleColoursModal(index);\r\n\t\t},\r\n\t},\r\n});\r\n\r\nconst vueSampleModal = new Vue({\r\n\tname: 'vueSampleModal',\r\n\tel: '#vueSampleModal',\r\n\tdata: {\r\n\t\tbody: document.querySelector('body'),\r\n\t\tsample: {\r\n\t\t\ttotalPrice: 0,\r\n\t\t\tsampleRows: [],\r\n\t\t},\r\n\t\tminPrice: vueSampleModal_DATA.minPrice,\r\n\t\tshowSampleModal: false,\r\n\t\tshowColoursModal: false,\r\n\t\tdisableAddToCart: true,\r\n\t\tcolours: {},\r\n\t\tthicknesses: '',\r\n\t\tthicknessesModalData: {}, //used only when there are no colours\r\n\t\tthicknessOnly: false,\r\n\t\teditedRow: 0,\r\n\t},\r\n\tmixins: [\r\n\t\trequestServiceMixin,\r\n\t\tproductServiceMixin,\r\n\t\tshoppingCartServiceMixin,\r\n\t\tvatMixin,\r\n\t\tgeneralMixin,\r\n\t\tmodalsMixin,\r\n\t\tvariantsMixin,\r\n\t],\r\n\tmounted: function () {\r\n\t\tconst vm = this;\r\n\t\tvm.sample.sampleRows = vm.defaultSample();\r\n\t\tvm.loadData();\r\n\t},\r\n\tmethods: {\r\n\t\tdefaultSample: function () {\r\n\t\t\treturn [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 0,\r\n\t\t\t\t\tthickness: 0,\r\n\t\t\t\t\tcolour: '',\r\n\t\t\t\t\tshowColour: false,\r\n\t\t\t\t\tname: '',\r\n\t\t\t\t\tsku: '',\r\n\t\t\t\t\tsalePriceIncVAT: 0.0,\r\n\t\t\t\t\tsalePriceExVAT: 0.0,\r\n\t\t\t\t\tvalidated: false,\r\n\t\t\t\t},\r\n\t\t\t];\r\n\t\t},\r\n\t\t/**\r\n\t\t * Load colour and thickness modal data\r\n\t\t */\r\n\t\tloadData: function () {\r\n\t\t\tconst vm = this;\r\n\r\n\t\t\tconst data = {\r\n\t\t\t\tproductId: GLOBAL.PRODUCT.ID,\r\n\t\t\t};\r\n\r\n\t\t\tvm.getSamplesData(data).then(function (response) {\r\n\t\t\t\tif (!response) return;\r\n\r\n\t\t\t\tconst content = response.data;\r\n\r\n\t\t\t\tvm.colours = content.colours;\r\n\t\t\t\tvm.thicknessesModalData = content.thicknesses;\r\n\t\t\t});\r\n\t\t},\r\n\t\taddSample: function () {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst sampleRows = vm.sample.sampleRows;\r\n\t\t\tconst index = sampleRows.length;\r\n\r\n\t\t\tconst sampleRow = vm.defaultSample()[0];\r\n\t\t\tsampleRow.id = index;\r\n\r\n\t\t\tsampleRows.push(sampleRow);\r\n\t\t\tvm.disableAddToCart = true;\r\n\t\t},\r\n\t\taddSampleItemToCart: function () {\r\n\t\t\tconst vm = this;\r\n\r\n\t\t\tvm.showSampleModal = false;\r\n\t\t\tconst variantSkus = {\r\n\t\t\t\tSkus: vm.sample.sampleRows.map((a) => a.variantSku),\r\n\t\t\t};\r\n\r\n\t\t\tvm.addVariantItems(variantSkus).then(function (response) {\r\n\t\t\t\tif (vm.isLoading) return;\r\n\r\n\t\t\t\tif (!response) return;\r\n\r\n\t\t\t\tconst content = response.data.content;\r\n\r\n\t\t\t\tif (content.errors !== null) {\r\n\t\t\t\t\tvueAddToCartModal.openError();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvueAddToCartModal.clearAddedProduct();\r\n\t\t\t\t\tvueShoppingCartCount.total = content.basketItemsTotal;\r\n\t\t\t\t\tvm.sample.sampleRows = vm.defaultSample();\r\n\t\t\t\t\tvueAddToCartModal.open();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tresetColorThickness: function () {\r\n\t\t\tVue.set(sampleRows, index, sampleRow);\r\n\t\t},\r\n\t\tdeleteRow: function (index) {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst sampleRows = vm.sample.sampleRows;\r\n\t\t\tvm.$delete(sampleRows, index);\r\n\t\t\tconst newArray = [];\r\n\r\n\t\t\tsampleRows.forEach(function (sampleRow, index) {\r\n\t\t\t\tsampleRow.id = index;\r\n\t\t\t\tnewArray.push(sampleRow);\r\n\t\t\t});\r\n\r\n\t\t\tVue.set(sampleRows, newArray);\r\n\r\n\t\t\tvm.validateSampleRows();\r\n\t\t},\r\n\t\tchangeThickness: function (index, thicknessData) {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst sampleRows = vm.sample.sampleRows;\r\n\t\t\tconst sampleRow = sampleRows[index];\r\n\r\n\t\t\tsampleRow.thickness = thicknessData.thickness;\r\n\r\n\t\t\tif (thicknessData.thickness === 0) {\r\n\t\t\t\tsampleRow.variantSku = '';\r\n\t\t\t\tsampleRow.salePriceIncVAT = 0;\r\n\t\t\t\tsampleRow.salePriceExVAT = 0;\r\n\t\t\t} else {\r\n\t\t\t\tsampleRow.variantSku = thicknessData.variantSku;\r\n\t\t\t\tsampleRow.salePriceIncVAT = thicknessData.productPrice.salePriceIncVAT;\r\n\t\t\t\tsampleRow.salePriceExVAT = thicknessData.productPrice.salePriceExVAT;\r\n\t\t\t}\r\n\r\n\t\t\tVue.set(sampleRows, index, sampleRow);\r\n\t\t},\r\n\t\tsetMinPrice: function () {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst incVAT = vm.incVAT();\r\n\t\t\tconst minPrice = JSON.parse(vm.minPrice);\r\n\r\n\t\t\tif (incVAT) {\r\n\t\t\t\treturn minPrice.incVAT;\r\n\t\t\t} else {\r\n\t\t\t\treturn minPrice.exVAT;\r\n\t\t\t}\r\n\t\t},\r\n\t\tselectColour: function (colour) {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst editedRow = vm.editedRow;\r\n\r\n\t\t\tvar updatedRow = {\r\n\t\t\t\tid: editedRow,\r\n\t\t\t\tcolour: colour.hexadecimalCode,\r\n\t\t\t\tshowThickness: true,\r\n\t\t\t\tname: colour.name,\r\n\t\t\t\tthickness: '0',\r\n\t\t\t\tsalePriceIncVAT: 0,\r\n\t\t\t\tsalePriceExVAT: 0,\r\n\t\t\t\tthicknesses: [],\r\n\t\t\t};\r\n\r\n\t\t\tvm.getThicknessesForColour(colour.name, editedRow, updatedRow);\r\n\t\t\tvm.disableAddToCart = false;\r\n\r\n\t\t\tvm.closeColoursModal();\r\n\t\t\tvm.validateSampleRows();\r\n\t\t},\r\n\t\tgetThicknessesForColour: function (colour, editedRow, updatedRow) {\r\n\t\t\tconst vm = this;\r\n\r\n\t\t\tconst sampleRows = vm.sample.sampleRows;\r\n\r\n\t\t\tconst data = {\r\n\t\t\t\tproductId: GLOBAL.PRODUCT.ID,\r\n\t\t\t\tcolour: colour,\r\n\t\t\t};\r\n\r\n\t\t\tvm.getThicknessesForColourApi(data).then(function (response) {\r\n\t\t\t\tif (!response) return;\r\n\r\n\t\t\t\tconst content = response.data;\r\n\r\n\t\t\t\tvm.thicknesses = content;\r\n\t\t\t\tupdatedRow.thicknesses = content;\r\n\t\t\t\tVue.set(sampleRows, editedRow, updatedRow);\r\n\t\t\t});\r\n\t\t},\r\n\t\tvalidateSampleRows: function () {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst sampleRows = vm.sample.sampleRows;\r\n\t\t\tvar invalidSampleRows = [];\r\n\r\n\t\t\tsampleRows.forEach(function (sampleRow) {\r\n\t\t\t\tif (\r\n\t\t\t\t\t(sampleRow.showColour === true && sampleRow.name === '') ||\r\n\t\t\t\t\tparseInt(sampleRow.thickness) === 0 ||\r\n\t\t\t\t\tsampleRow.thickness === ''\r\n\t\t\t\t) {\r\n\t\t\t\t\tinvalidSampleRows.push(sampleRow.id);\r\n\t\t\t\t\tsampleRow.validated = false;\r\n\t\t\t\t\tsampleRow.price = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (sampleRow.validated !== true) {\r\n\t\t\t\t\t\t//update the price\r\n\t\t\t\t\t\tsampleRow.validated = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvm.disableAddToCart = invalidSampleRows.length > 0;\r\n\r\n\t\t\treturn invalidSampleRows;\r\n\t\t},\r\n\t\tclose: function () {\r\n\t\t\tconst vm = this;\r\n\t\t\tvm.showSampleModal = false;\r\n\t\t\tdocument.body.classList.toggle('modal-open');\r\n\t\t},\r\n\t\topen: function () {\r\n\t\t\tconst vm = this;\r\n\r\n\t\t\tvm.showSampleModal = true;\r\n\t\t\tdocument.body.classList.toggle('modal-open');\r\n\t\t},\r\n\t\topenSampleColoursModal: function (index) {\r\n\t\t\tconst vm = this;\r\n\t\t\tvm.showColoursModal = true;\r\n\t\t\tvm.editedRow = index;\r\n\t\t},\r\n\t\tcloseColoursModal: function () {\r\n\t\t\tconst vm = this;\r\n\t\t\tvm.showColoursModal = false;\r\n\t\t},\r\n\t},\r\n\tcomputed: {\r\n\t\tisConfigured() {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst prices = vm.sample.sampleRows.map((p) => Number(p.salePriceIncVAT));\r\n\t\t\treturn prices.reduce((a, b) => a + b, 0) > 0;\r\n\t\t},\r\n\t\ttotalPrice() {\r\n\t\t\tconst vm = this;\r\n\t\t\tconst incVAT = vm.incVAT();\r\n\r\n\t\t\tlet prices;\r\n\r\n\t\t\tif (incVAT) {\r\n\t\t\t\tprices = vm.sample.sampleRows.map((p) => p.salePriceIncVAT);\r\n\t\t\t} else {\r\n\t\t\t\tprices = vm.sample.sampleRows.map((p) => p.salePriceExVAT);\r\n\t\t\t}\r\n\r\n\t\t\tconst sum = prices.reduce((a, b) => a + b, 0).toFixed(2);\r\n\r\n\t\t\treturn sum;\r\n\t\t},\r\n\t},\r\n});\r\n"]}