{"version":3,"sources":["webpack:///./src/views/DocumentStats.vue?11d2","webpack:///./src/components/SalesGraph.vue?2125","webpack:///src/components/SalesGraph.vue","webpack:///./src/components/SalesGraph.vue?3609","webpack:///./node_modules/vuetify/lib/components/VSparkline/helpers/core.js","webpack:///./node_modules/vuetify/lib/components/VSparkline/helpers/math.js","webpack:///./node_modules/vuetify/lib/components/VSparkline/helpers/path.js","webpack:///./node_modules/vuetify/lib/components/VSparkline/VSparkline.js","webpack:///./src/components/SalesGraph.vue","webpack:///./src/components/StatisticCard.vue?07c6","webpack:///src/components/StatisticCard.vue","webpack:///./src/components/StatisticCard.vue?0512","webpack:///./src/components/StatisticCard.vue","webpack:///src/views/DocumentStats.vue","webpack:///./src/views/DocumentStats.vue?b5db","webpack:///./src/views/DocumentStats.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","_v","_l","stats","key","attrs","statistic","staticClass","headers","docErrors","on","selectRow","_s","numErrors","staticRenderFns","sale","color","sales","labels","title","name","props","type","Object","required","genPoints","values","boundary","minX","maxX","minY","maxY","totalValues","length","maxValue","Math","max","minValue","min","gridX","gridY","map","value","index","x","y","genBars","horizonY","abs","height","parseInt","checkCollinear","p0","p1","p2","getDistance","sqrt","pow","moveTo","to","from","radius","vector","unitVector","genPath","points","fill","start","shift","end","point","next","prev","isCollinear","threshold","isTooCloseForRadius","radiusForPoint","before","after","join","mixins","extend","inheritAttrs","autoDraw","Boolean","autoDrawDuration","Number","default","autoDrawEasing","String","autoLineWidth","gradient","Array","gradientDirection","validator","val","includes","labelSize","lineWidth","padding","showLabels","smooth","width","data","lastLength","computed","parsedHeight","hasLabels","parsedWidth","_lineWidth","totalPadding","parsedPadding","parseFloat","totalWidth","$scopedSlots","label","_values","len","i","item","push","normalizedValues","watch","immediate","$nextTick","$refs","path","getTotalLength","style","transformOrigin","transition","transform","getBoundingClientRect","strokeDasharray","strokeDashoffset","toString","methods","slice","stops","reverse","offset","id","_uid","gradientUnits","x1","y1","x2","y2","children","fontSize","textAnchor","dominantBaseline","d","_radius","stroke","ref","offsetX","parsedLabels","textY","parsedLabelSize","genLabel","genG","bars","display","viewBox","totalHeight","genGradient","genClipPath","genLabels","undefined","rounding","rx","ry","attributeName","dur","setTextColor","$attrs","h","genTrend","component","VCard","VCardText","VSparkline","VCardTitle","components","SalesGraph","StatisticCard","forEach","element","reduce","a","b","docStats","invoice_number","supplier","total_amount","statistics","text","VCol","VContainer","VDataTable","VRow"],"mappings":"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","file":"js/chunk-7ec8bddb.a0ca2721.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('h1',[_vm._v(\"Document Processor Stats\")]),_c('v-row',_vm._l((_vm.docStats),function(stats){return _c('v-col',{key:(\"\" + (stats.title)),attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('SalesGraph',{attrs:{\"sale\":stats}})],1)}),1),_c('v-row',_vm._l((_vm.statistics),function(statistic){return _c('v-col',{key:(\"\" + (statistic.title)),attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('StatisticCard',{attrs:{\"statistic\":statistic}})],1)}),1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.docErrors,\"items-per-page\":5,\"multi-sort\":true},on:{\"click:row\":_vm.selectRow}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Total Errors\")]),_c('v-card-text',{staticClass:\"display-2\"},[_vm._v(_vm._s(_vm.numErrors))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"color\":_vm.sale.color,\"dark\":\"\"}},[_c('v-card-text',[_c('v-sparkline',{attrs:{\"value\":_vm.sale.sales,\"labels\":_vm.sale.labels,\"color\":\"rgba(255, 255, 255, .7)\",\"height\":\"100\",\"padding\":\"24\",\"stroke-linecap\":\"round\",\"smooth\":\"\"}})],1),_c('v-card-text',{staticClass:\"text-center\"},[_c('div',{staticClass:\"display-1\"},[_vm._v(_vm._s(_vm.sale.title))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n\n \n {{ sale.title }}
\n \n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SalesGraph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SalesGraph.vue?vue&type=script&lang=js&\"","export function genPoints(values, boundary) {\n const {\n minX,\n maxX,\n minY,\n maxY\n } = boundary;\n const totalValues = values.length;\n const maxValue = Math.max(...values);\n const minValue = Math.min(...values);\n const gridX = (maxX - minX) / (totalValues - 1);\n const gridY = (maxY - minY) / (maxValue - minValue || 1);\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y: maxY - (value - minValue) * gridY,\n value\n };\n });\n}\nexport function genBars(values, boundary) {\n const {\n minX,\n maxX,\n minY,\n maxY\n } = boundary;\n const totalValues = values.length;\n let maxValue = Math.max(...values);\n let minValue = Math.min(...values);\n if (minValue > 0) minValue = 0;\n if (maxValue < 0) maxValue = 0;\n const gridX = maxX / totalValues;\n const gridY = (maxY - minY) / (maxValue - minValue || 1);\n const horizonY = maxY - Math.abs(minValue * gridY);\n return values.map((value, index) => {\n const height = Math.abs(gridY * value);\n return {\n x: minX + index * gridX,\n y: horizonY - height + +(value < 0) * height,\n height,\n value\n };\n });\n}\n//# sourceMappingURL=core.js.map","function int(value) {\n return parseInt(value, 10);\n}\n/**\n * https://en.wikipedia.org/wiki/Collinearity\n * x=(x1+x2)/2\n * y=(y1+y2)/2\n */\n\n\nexport function checkCollinear(p0, p1, p2) {\n return int(p0.x + p2.x) === int(2 * p1.x) && int(p0.y + p2.y) === int(2 * p1.y);\n}\nexport function getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\nexport function moveTo(to, from, radius) {\n const vector = {\n x: to.x - from.x,\n y: to.y - from.y\n };\n const length = Math.sqrt(vector.x * vector.x + vector.y * vector.y);\n const unitVector = {\n x: vector.x / length,\n y: vector.y / length\n };\n return {\n x: from.x + unitVector.x * radius,\n y: from.y + unitVector.y * radius\n };\n}\n//# sourceMappingURL=math.js.map","import { checkCollinear, getDistance, moveTo } from './math';\n/**\n * From https://github.com/unsplash/react-trend/blob/master/src/helpers/DOM.helpers.js#L18\n */\n\nexport function genPath(points, radius, fill = false, height = 75) {\n const start = points.shift();\n const end = points[points.length - 1];\n return (fill ? `M${start.x} ${height - start.x + 2} L${start.x} ${start.y}` : `M${start.x} ${start.y}`) + points.map((point, index) => {\n const next = points[index + 1];\n const prev = points[index - 1] || start;\n const isCollinear = next && checkCollinear(next, point, prev);\n\n if (!next || isCollinear) {\n return `L${point.x} ${point.y}`;\n }\n\n const threshold = Math.min(getDistance(prev, point), getDistance(next, point));\n const isTooCloseForRadius = threshold / 2 < radius;\n const radiusForPoint = isTooCloseForRadius ? threshold / 2 : radius;\n const before = moveTo(prev, point, radiusForPoint);\n const after = moveTo(next, point, radiusForPoint);\n return `L${before.x} ${before.y}S${point.x} ${point.y} ${after.x} ${after.y}`;\n }).join('') + (fill ? `L${end.x} ${height - start.x + 2} Z` : '');\n}\n//# sourceMappingURL=path.js.map","// Mixins\nimport Colorable from '../../mixins/colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { genPoints, genBars } from './helpers/core';\nimport { genPath } from './helpers/path';\nexport default mixins(Colorable).extend({\n name: 'VSparkline',\n inheritAttrs: false,\n props: {\n autoDraw: Boolean,\n autoDrawDuration: {\n type: Number,\n default: 2000\n },\n autoDrawEasing: {\n type: String,\n default: 'ease'\n },\n autoLineWidth: {\n type: Boolean,\n default: false\n },\n color: {\n type: String,\n default: 'primary'\n },\n fill: {\n type: Boolean,\n default: false\n },\n gradient: {\n type: Array,\n default: () => []\n },\n gradientDirection: {\n type: String,\n validator: val => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top'\n },\n height: {\n type: [String, Number],\n default: 75\n },\n labels: {\n type: Array,\n default: () => []\n },\n labelSize: {\n type: [Number, String],\n default: 7\n },\n lineWidth: {\n type: [String, Number],\n default: 4\n },\n padding: {\n type: [String, Number],\n default: 8\n },\n showLabels: Boolean,\n smooth: {\n type: [Boolean, Number, String],\n default: false\n },\n type: {\n type: String,\n default: 'trend',\n validator: val => ['trend', 'bar'].includes(val)\n },\n value: {\n type: Array,\n default: () => []\n },\n width: {\n type: [Number, String],\n default: 300\n }\n },\n data: () => ({\n lastLength: 0\n }),\n computed: {\n parsedPadding() {\n return Number(this.padding);\n },\n\n parsedWidth() {\n return Number(this.width);\n },\n\n parsedHeight() {\n return parseInt(this.height, 10);\n },\n\n parsedLabelSize() {\n return parseInt(this.labelSize, 10) || 7;\n },\n\n totalHeight() {\n let height = this.parsedHeight;\n if (this.hasLabels) height += parseInt(this.labelSize, 10) * 1.5;\n return height;\n },\n\n totalWidth() {\n let width = this.parsedWidth;\n if (this.type === 'bar') width = Math.max(this.value.length * this._lineWidth, width);\n return width;\n },\n\n totalValues() {\n return this.value.length;\n },\n\n _lineWidth() {\n if (this.autoLineWidth && this.type !== 'trend') {\n const totalPadding = this.parsedPadding * (this.totalValues + 1);\n return (this.parsedWidth - totalPadding) / this.totalValues;\n } else {\n return parseFloat(this.lineWidth) || 4;\n }\n },\n\n boundary() {\n if (this.type === 'bar') return {\n minX: 0,\n maxX: this.totalWidth,\n minY: 0,\n maxY: this.parsedHeight\n };\n const padding = this.parsedPadding;\n return {\n minX: padding,\n maxX: this.totalWidth - padding,\n minY: padding,\n maxY: this.parsedHeight - padding\n };\n },\n\n hasLabels() {\n return Boolean(this.showLabels || this.labels.length > 0 || this.$scopedSlots.label);\n },\n\n parsedLabels() {\n const labels = [];\n const points = this._values;\n const len = points.length;\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i];\n let value = this.labels[i];\n\n if (!value) {\n value = typeof item === 'object' ? item.value : item;\n }\n\n labels.push({\n x: item.x,\n value: String(value)\n });\n }\n\n return labels;\n },\n\n normalizedValues() {\n return this.value.map(item => typeof item === 'number' ? item : item.value);\n },\n\n _values() {\n return this.type === 'trend' ? genPoints(this.normalizedValues, this.boundary) : genBars(this.normalizedValues, this.boundary);\n },\n\n textY() {\n let y = this.parsedHeight;\n if (this.type === 'trend') y -= 4;\n return y;\n },\n\n _radius() {\n return this.smooth === true ? 8 : Number(this.smooth);\n }\n\n },\n watch: {\n value: {\n immediate: true,\n\n handler() {\n this.$nextTick(() => {\n if (!this.autoDraw || this.type === 'bar' || !this.$refs.path) return;\n const path = this.$refs.path;\n const length = path.getTotalLength();\n\n if (!this.fill) {\n path.style.transition = 'none';\n path.style.strokeDasharray = length + ' ' + length;\n path.style.strokeDashoffset = Math.abs(length - (this.lastLength || 0)).toString();\n path.getBoundingClientRect();\n path.style.transition = `stroke-dashoffset ${this.autoDrawDuration}ms ${this.autoDrawEasing}`;\n path.style.strokeDashoffset = '0';\n } else {\n path.style.transformOrigin = 'bottom center';\n path.style.transition = 'none';\n path.style.transform = `scaleY(0)`;\n path.getBoundingClientRect();\n path.style.transition = `transform ${this.autoDrawDuration}ms ${this.autoDrawEasing}`;\n path.style.transform = `scaleY(1)`;\n }\n\n this.lastLength = length;\n });\n }\n\n }\n },\n methods: {\n genGradient() {\n const gradientDirection = this.gradientDirection;\n const gradient = this.gradient.slice(); // Pushes empty string to force\n // a fallback to currentColor\n\n if (!gradient.length) gradient.push('');\n const len = Math.max(gradient.length - 1, 1);\n const stops = gradient.reverse().map((color, index) => this.$createElement('stop', {\n attrs: {\n offset: index / len,\n 'stop-color': color || 'currentColor'\n }\n }));\n return this.$createElement('defs', [this.$createElement('linearGradient', {\n attrs: {\n id: this._uid,\n gradientUnits: 'userSpaceOnUse',\n x1: gradientDirection === 'left' ? '100%' : '0',\n y1: gradientDirection === 'top' ? '100%' : '0',\n x2: gradientDirection === 'right' ? '100%' : '0',\n y2: gradientDirection === 'bottom' ? '100%' : '0'\n }\n }, stops)]);\n },\n\n genG(children) {\n return this.$createElement('g', {\n style: {\n fontSize: '8',\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor'\n }\n }, children);\n },\n\n genPath() {\n const points = genPoints(this.normalizedValues, this.boundary);\n return this.$createElement('path', {\n attrs: {\n d: genPath(points, this._radius, this.fill, this.parsedHeight),\n fill: this.fill ? `url(#${this._uid})` : 'none',\n stroke: this.fill ? 'none' : `url(#${this._uid})`\n },\n ref: 'path'\n });\n },\n\n genLabels(offsetX) {\n const children = this.parsedLabels.map((item, i) => this.$createElement('text', {\n attrs: {\n x: item.x + offsetX + this._lineWidth / 2,\n y: this.textY + this.parsedLabelSize * 0.75,\n 'font-size': Number(this.labelSize) || 7\n }\n }, [this.genLabel(item, i)]));\n return this.genG(children);\n },\n\n genLabel(item, index) {\n return this.$scopedSlots.label ? this.$scopedSlots.label({\n index,\n value: item.value\n }) : item.value;\n },\n\n genBars() {\n if (!this.value || this.totalValues < 2) return undefined;\n const bars = genBars(this.normalizedValues, this.boundary);\n const offsetX = (Math.abs(bars[0].x - bars[1].x) - this._lineWidth) / 2;\n return this.$createElement('svg', {\n attrs: {\n display: 'block',\n viewBox: `0 0 ${this.totalWidth} ${this.totalHeight}`\n }\n }, [this.genGradient(), this.genClipPath(bars, offsetX, this._lineWidth, 'sparkline-bar-' + this._uid), this.hasLabels ? this.genLabels(offsetX) : undefined, this.$createElement('g', {\n attrs: {\n 'clip-path': `url(#sparkline-bar-${this._uid}-clip)`,\n fill: `url(#${this._uid})`\n }\n }, [this.$createElement('rect', {\n attrs: {\n x: 0,\n y: 0,\n width: this.totalWidth,\n height: this.height\n }\n })])]);\n },\n\n genClipPath(bars, offsetX, lineWidth, id) {\n const rounding = typeof this.smooth === 'number' ? this.smooth : this.smooth ? 2 : 0;\n return this.$createElement('clipPath', {\n attrs: {\n id: `${id}-clip`\n }\n }, bars.map(item => {\n return this.$createElement('rect', {\n attrs: {\n x: item.x + offsetX,\n y: item.y,\n width: lineWidth,\n height: item.height,\n rx: rounding,\n ry: rounding\n }\n }, [this.autoDraw ? this.$createElement('animate', {\n attrs: {\n attributeName: 'height',\n from: 0,\n to: item.height,\n dur: `${this.autoDrawDuration}ms`,\n fill: 'freeze'\n }\n }) : undefined]);\n }));\n },\n\n genTrend() {\n return this.$createElement('svg', this.setTextColor(this.color, {\n attrs: { ...this.$attrs,\n display: 'block',\n 'stroke-width': this._lineWidth || 1,\n viewBox: `0 0 ${this.width} ${this.totalHeight}`\n }\n }), [this.genGradient(), this.hasLabels && this.genLabels(-(this._lineWidth / 2)), this.genPath()]);\n }\n\n },\n\n render(h) {\n if (this.totalValues < 2) return undefined;\n return this.type === 'trend' ? this.genTrend() : this.genBars();\n }\n\n});\n//# sourceMappingURL=VSparkline.js.map","import { render, staticRenderFns } from \"./SalesGraph.vue?vue&type=template&id=485da388&\"\nimport script from \"./SalesGraph.vue?vue&type=script&lang=js&\"\nexport * from \"./SalesGraph.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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VSparkline } from 'vuetify/lib/components/VSparkline';\ninstallComponents(component, {VCard,VCardText,VSparkline})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.statistic.title))]),_c('v-card-text',{staticClass:\"display-1\"},[_vm._v(_vm._s(_vm.statistic.value))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ statistic.title }}\n {{ statistic.value }}\n \n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatisticCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatisticCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatisticCard.vue?vue&type=template&id=0d17f1ba&scoped=true&\"\nimport script from \"./StatisticCard.vue?vue&type=script&lang=js&\"\nexport * from \"./StatisticCard.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 \"0d17f1ba\",\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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText,VCardTitle})\n","\n \n Document Processor Stats
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Total Errors\n {{numErrors}}\n \n \n \n \n \n \n \n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentStats.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentStats.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DocumentStats.vue?vue&type=template&id=0bc65961&\"\nimport script from \"./DocumentStats.vue?vue&type=script&lang=js&\"\nexport * from \"./DocumentStats.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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VDataTable,VRow})\n"],"sourceRoot":""}