{"version":3,"sources":["webpack:///./src/Pages/Store.vue?460b","webpack:///src/Pages/Store.vue","webpack:///./src/Pages/Store.vue?6368","webpack:///./src/Pages/Store.vue","webpack:///./src/classes/Product.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","staticStyle","_e","breadcrumbs","model","value","callback","$$v","window","expression","key","store","tag","selectedProduct","staticRenderFns","props","data","loading","computed","crumbs","methods","asyncData","$VBL","get","subdomain","checkSelected","products","length","Product","search","onDebug","mounted","watch","components","StoreFront","ProductDisplay","component","VBtn","VCol","VContainer","VImg","VOverlay","VProgressCircular","VRow","VWindow","VWindowItem","dto","imageLibrary","images","requirements","player","update","JSON","parse","Object","assign","jsonProps","isString","options","map","o","sort","firstBy","forEach","f","i","myOrder","correctOrder","push","inventoryHistory","filter","id","note","x","inventory","inventoryLogSum","organizationProductId","amount","status","keepInventory","finalOptions","calcInventoryChange","organizationId","parentId","name","title","subtitle","description","descriptionIsHtml","price","oldPrice","deleted","published","moreInfo","moreInfoBtn","moreInfoOpen","urlTag","stringify","showInStore","m","selected","a","toLowerCase","opt","salesRecords","allPricesUnfiltered","findIndex","allPrices","high","max","low","min","Set","priceRange","size","includes","v","sum","inventoryCount","flatten","l","find","startsWith","substring","limit","altAmount","replace","contactReq","delivery","_props"],"mappings":"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","file":"js/chunk-666d44cb.33d9e188.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[(_vm.loading)?_c('v-overlay',{staticClass:\"align-center justify-center\",attrs:{\"color\":\"white\",\"z-index\":\"100000\"}},[_c('v-img',{attrs:{\"src\":\"https://vblimages.blob.core.windows.net/images/6fcdddd2-bbf3-483a-9b86-30017d8d26ed.png\",\"max-height\":\"240px\",\"max-width\":\"240px\"}},[_c('div',{staticClass:\"align-center justify-center d-flex fill-height\",staticStyle:{\"width\":\"100%\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"200\",\"color\":\"#094886\"}})],1)])],1):_vm._e(),_c('v-row',{staticClass:\"not-printable\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-4\",attrs:{\"cols\":\"12\"}},[_c('vbl-breadcrumbs',{attrs:{\"crumbs\":_vm.breadcrumbs}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.store)?_c('v-window',{attrs:{\"touchless\":\"\"},model:{value:(_vm.window),callback:function ($$v) {_vm.window=$$v},expression:\"window\"}},[_c('v-window-item',{key:0},[_c('StoreFront',{attrs:{\"store\":_vm.store}})],1),_c('v-window-item',{key:1},[(_vm.window === 1)?_c('ProductDisplay',{attrs:{\"tag\":_vm.tag,\"productIn\":_vm.selectedProduct}}):_vm._e()],1)],1):_vm._e()],1)],1),(false)?_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.onDebug}},[_vm._v(\"debug store\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Store.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Store.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Store.vue?vue&type=template&id=fee3b4d2&\"\nimport script from \"./Store.vue?vue&type=script&lang=js&\"\nexport * from \"./Store.vue?vue&type=script&lang=js&\"\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 null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VCol,VContainer,VImg,VOverlay,VProgressCircular,VRow,VWindow,VWindowItem})\n","import max from 'lodash.max'\r\nimport min from 'lodash.min'\r\nimport sum from 'lodash.sum'\r\nimport flatten from '../helpers/ArrayFlatten'\r\nimport { firstBy } from 'thenby'\r\n\r\nexport default class Product {\r\n id = 0\r\n organizationId = null\r\n parentId = null\r\n name = null\r\n title = null\r\n subtitle = null\r\n description = null\r\n descriptionIsHtml = true\r\n price = null\r\n oldPrice = null\r\n deleted = false\r\n published = false\r\n moreInfo = null\r\n moreInfoBtn = null\r\n moreInfoOpen = false\r\n urlTag = null\r\n jsonProps = {\r\n imageLibrary: {\r\n images: []\r\n },\r\n requirements: {\r\n player: false\r\n }\r\n }\r\n\r\n _props = []\r\n showInStore = true\r\n inventory = 99999\r\n options = []\r\n player = null\r\n selected = -1\r\n altAmount = null\r\n inventoryHistory = []\r\n myOrder = 0\r\n\r\n constructor (dto) {\r\n if (dto) this.update(dto)\r\n }\r\n\r\n update (dto) {\r\n if (typeof dto === 'string') dto = JSON.parse(dto)\r\n Object.assign(this, dto)\r\n\r\n if (dto.jsonProps) {\r\n const isString = typeof dto.jsonProps === 'string'\r\n this.jsonProps = isString ? JSON.parse(dto.jsonProps) : dto.jsonProps\r\n }\r\n\r\n if (dto.options && dto.options.length > 0) {\r\n this.options = dto.options.map(o => new Product(o))\r\n }\r\n }\r\n\r\n correctOrder () {\r\n if (this.options.length === 0) return\r\n this.options = this.options.sort(firstBy('myOrder'))\r\n this.options.forEach((f, i) => {\r\n f.myOrder = i + 1\r\n f.correctOrder()\r\n })\r\n }\r\n\r\n addOption (dto) {\r\n const o = new Product(dto)\r\n o.myOrder = this.options.length + 1\r\n this.options.push(o)\r\n return o\r\n }\r\n\r\n get dto () {\r\n if (this.keepInventory) {\r\n this.finalOptions.forEach(f => f.calcInventoryChange())\r\n }\r\n return {\r\n id: this.id,\r\n organizationId: this.organizationId,\r\n parentId: this.parentId,\r\n name: this.name,\r\n title: this.title,\r\n subtitle: this.subtitle,\r\n description: this.description,\r\n descriptionIsHtml: this.descriptionIsHtml,\r\n price: +this.price,\r\n oldPrice: this.oldPrice,\r\n deleted: this.deleted,\r\n published: this.published,\r\n moreInfo: this.moreInfo,\r\n moreInfoBtn: this.moreInfoBtn,\r\n moreInfoOpen: this.moreInfoOpen,\r\n urlTag: this.urlTag,\r\n jsonProps: JSON.stringify(this.jsonProps),\r\n props: this.props,\r\n showInStore: this.showInStore,\r\n options: this.options.map(m => m.dto),\r\n inventory: this.inventory,\r\n inventoryHistory: this.inventoryHistory,\r\n myOrder: this.myOrder\r\n }\r\n }\r\n\r\n get purchaseDto () {\r\n return {\r\n id: this.id,\r\n player: this.player ? this.player.dto : null,\r\n urlTag: this.urlTag,\r\n price: this.price\r\n }\r\n }\r\n\r\n get status () {\r\n return this.published ? 'Active' : 'Inactive'\r\n }\r\n\r\n get selectedOption () {\r\n return this.selected >= 0 ? this.options[this.selected] : null\r\n }\r\n\r\n get salesRecords () {\r\n const a = [...this.inventoryHistory.filter(f => f.note.toLowerCase() === 'sale')]\r\n this.options.forEach(opt => {\r\n a.push(...opt.salesRecords)\r\n })\r\n\r\n return a\r\n }\r\n\r\n get comingSoon () {\r\n return this.allPricesUnfiltered.findIndex(f => f <= 0) > -1\r\n }\r\n\r\n get allPricesUnfiltered () {\r\n const a = []\r\n this.price && a.push(+this.price)\r\n this.options.forEach(opt => {\r\n a.push(...opt.allPrices)\r\n })\r\n return a\r\n }\r\n\r\n get allPrices () {\r\n const a = []\r\n this.price && a.push(+this.price)\r\n this.options.forEach(opt => {\r\n a.push(...opt.allPrices)\r\n })\r\n return a.filter(f => f > 0)\r\n }\r\n\r\n get priceRange () {\r\n const high = max(this.allPrices)\r\n const low = min(this.allPrices)\r\n\r\n return [low, high]\r\n }\r\n\r\n get hasRange () {\r\n const x = new Set(this.priceRange)\r\n return x.size > 1\r\n }\r\n\r\n get keepInventory () {\r\n return this.props.includes('inventory')\r\n }\r\n\r\n set keepInventory (v) {\r\n this.props = this.props.filter(f => f !== 'inventory')\r\n if (v) {\r\n this.props.push('inventory')\r\n }\r\n this.options.forEach(o => { o.keepInventory = v })\r\n }\r\n\r\n get inventoryCount () {\r\n return this.options.length ? sum(this.options.map(m => m.inventoryCount)) : this.inventory\r\n }\r\n\r\n get inventoryLogSum () {\r\n const i = this.inventoryHistory.filter(f => f.id > 0)\r\n return i.length > 0 ? sum(i.map(m => m.amount)) : 0\r\n }\r\n\r\n calcInventoryChange () {\r\n this.inventoryHistory = this.inventoryHistory.filter(f => f.id > 0)\r\n const note = this.inventoryHistory.length === 0 ? 'Starting Inventory' : 'Inventory Adjustment'\r\n const x = this.inventory - this.inventoryLogSum\r\n if (x !== 0) {\r\n this.inventoryHistory.push({\r\n id: 0,\r\n organizationProductId: this.id,\r\n amount: x,\r\n note: note,\r\n status: 'In Browser'\r\n })\r\n }\r\n }\r\n\r\n get finalOptions () {\r\n return flatten(this.options.length ? this.options.map(o => o.finalOptions) : [this])\r\n }\r\n\r\n get limit () {\r\n const l = this.props.find(f => f.startsWith('limit-'))\r\n if (l) {\r\n return +l.substring(6)\r\n }\r\n return 99\r\n }\r\n\r\n set limit (v) {\r\n this.props = this.props.filter(f => !f.startsWith('limit-'))\r\n if (v) {\r\n this.props.push(`limit-${v}`)\r\n }\r\n this.options.forEach(o => { o.limit = v })\r\n }\r\n\r\n get hasLimit () {\r\n return this.props.find(f => f.startsWith('limit-'))\r\n }\r\n\r\n get iLimit () {\r\n if (this.keepInventory) {\r\n return min([this.inventoryCount, this.limit])\r\n }\r\n return this.limit\r\n }\r\n\r\n get displayPrice () {\r\n return this.price === -13 ? this.altAmount : this.price\r\n }\r\n\r\n get pickupOnly () {\r\n return !!this.props.find(f => f.startsWith('pickupOnly'))\r\n }\r\n\r\n get shippingOnly () {\r\n return !!this.props.find(f => f.startsWith('shippingOnly'))\r\n }\r\n\r\n get donation () {\r\n return !!this.props.find(f => f.startsWith('donation'))\r\n }\r\n\r\n get contactReq () {\r\n const l = this.props.find(f => f.startsWith('require-'))\r\n if (l) {\r\n return l.replace('require-', '')\r\n }\r\n return 'contact'\r\n }\r\n\r\n set contactReq (v) {\r\n this.props = this.props.filter(f => !f.startsWith('require-'))\r\n if (v) {\r\n this.props.push(`require-${v}`)\r\n }\r\n this.options.forEach(o => { o.contactReq = v })\r\n }\r\n\r\n get delivery () {\r\n const l = this.props.find(f => f.startsWith('delivery-'))\r\n if (l) {\r\n return l.replace('delivery-', '')\r\n }\r\n return 'pickup'\r\n }\r\n\r\n set delivery (v) {\r\n this.props = this.props.filter(f => !f.startsWith('delivery-'))\r\n if (v) {\r\n this.props.push(`delivery-${v}`)\r\n }\r\n this.options.forEach(o => { o.delivery = v })\r\n }\r\n\r\n get props () {\r\n return this._props\r\n }\r\n\r\n set props (v) {\r\n this._props = v\r\n this.options.forEach(o => { o.props = [...v] })\r\n }\r\n\r\n get imageLibrary () {\r\n return this.jsonProps.imageLibrary\r\n }\r\n\r\n get displayImages () {\r\n return this.jsonProps.imageLibrary.images\r\n }\r\n}\r\n"],"sourceRoot":""}