{"version":3,"sources":["webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue","webpack:///src/components/Dashboards/InvoiceApprovalSplit.vue","webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue?ea03","webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue?de87"],"names":["render","_vm","this","_c","_self","staticClass","_v","_s","$t","dataLoaded","noData","attrs","chartData","options","height","width","position","_e","staticRenderFns","Doughnut","Message","components","props","locationId","default","type","Number","endDate","Date","showDatesLabel","Boolean","startDate","data","isLoading","labels","datasets","legend","display","cutout","responsive","maintainAspectRatio","aspectRatio","watch","immediate","handler","getLocationInvoiceApprovalSplitData","created","methods","self","statsProvider","getLocationInvoiceApprovalSplit","$options","filters","dateObjectIsoDateString","then","response","status","prepData","finally","Approved","AwaitingApproval","push","borderWidth","borderColor","backgroundColor","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,IAAI,CAACE,YAAY,YAAY,CAACJ,EAAIK,GAAG,IAAIL,EAAIM,GAAGN,EAAIO,GAAI,yEAA0E,OAAQP,EAAIQ,aAAeR,EAAIS,OAAQP,EAAG,WAAW,CAACQ,MAAM,CAAC,UAAYV,EAAIW,UAAU,QAAUX,EAAIY,QAAQ,OAAS,CAClUC,OAAQ,QACRC,MAAO,QACPC,SAAU,eACPf,EAAIgB,KAAMhB,EAAIQ,YAAcR,EAAIS,OAAQP,EAAG,UAAU,CAACE,YAAY,WAAWM,MAAM,CAAC,QAAU,aAAaV,EAAIgB,MAAM,IAE1HC,EAAkB,G,gECyBtBC,EAAA,wGACAC,EAAA,qFAEe,GACfC,WAAA,CACAF,WACAC,WAGAE,MAAA,CACAC,WAAA,CACAC,QAAA,EACAC,KAAAC,QAGAC,QAAA,CACAH,QAAA,IAAAI,KACAH,KAAAG,MAGAC,eAAA,CACAL,SAAA,EACAC,KAAAK,SAGAC,UAAA,CACAP,QAAA,IAAAI,KACAH,KAAAG,OAIAI,KAAA,WACA,OACAvB,YAAA,EACAC,QAAA,EACAsB,KAAA,KACAC,WAAA,EAEArB,UAAA,CACAsB,OAAA,iCACAC,SAAA,IAEAtB,QAAA,CACAuB,OAAA,CACAC,SAAA,EACArB,SAAA,UAEAsB,OAAA,MACAC,YAAA,EACAC,qBAAA,EACAC,YAAA,QAKAC,MAAA,CACAf,QAAA,CACAgB,WAAA,EACAC,QAAA,WACA,KAAAC,wCAIAd,UAAA,CACAY,WAAA,EACAC,QAAA,WACA,KAAAC,yCAKAC,QAAA,WACA,KAAAD,uCAGAE,QAAA,CACAF,oCAAA,WACA,IAAAG,EAAA,KACAA,EAAAvC,YAAA,EAEAuC,EAAAf,YACAe,EAAAf,WAAA,EAEAgB,OAAAF,QACAG,gCACAF,EAAAzB,WACAyB,EAAAG,SAAAC,QAAAC,wBAAAL,EAAAjB,WACAiB,EAAAG,SAAAC,QAAAC,wBAAAL,EAAArB,UAEA2B,MAAA,SAAAC,GACA,MAAAA,EAAAC,SACAR,EAAAhB,KAAAuB,EAAAvB,KACAgB,EAAAS,eAGAC,SAAA,WACAV,EAAAf,WAAA,OAKAwB,SAAA,WACA,IAAAT,EAAA,KAEAA,EAAAtC,QAAA,EACAsC,EAAApC,UAAAuB,SAAA,GAEAa,EAAAhB,KAAA2B,SAAA,GAAAX,EAAAhB,KAAA4B,iBAAA,EACAZ,EAAApC,UAAAuB,SAAA0B,KAAA,CACAC,YAAA,EACAC,YAAA,iDACAC,gBAAA,CACA,0BACA,0BAEAhC,KAAA,CAAAgB,EAAAhB,KAAA2B,SAAAX,EAAAhB,KAAA4B,oBAGAZ,EAAAtC,QAAA,EAGAsC,EAAAvC,YAAA,KCxJ4W,I,YCOxWwD,EAAY,eACd,EACAjE,EACAkB,GACA,EACA,KACA,KACA,MAIa,aAAA+C,E","file":"js/chunk-2d0ab927.js?id=6a96241ef5918dd27b43","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('p',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(_vm.$t( 'Components.Dashboards.InvoiceApprovalSplit.Subtitle_InvoicesApproved' ))+\" \")]),(_vm.dataLoaded && !_vm.noData)?_c('Doughnut',{attrs:{\"chartdata\":_vm.chartData,\"options\":_vm.options,\"styles\":{\n      height: '200px',\n      width: '250px',\n      position: 'relative',\n    }}}):_vm._e(),(_vm.dataLoaded && _vm.noData)?_c('Message',{staticClass:\"is-small\",attrs:{\"message\":'No data'}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <p class=\"subtitle\">\n      {{\n        $t(\n          'Components.Dashboards.InvoiceApprovalSplit.Subtitle_InvoicesApproved'\n        )\n      }}\n    </p>\n\n    <Doughnut\n      v-if=\"dataLoaded && !noData\"\n      :chartdata=\"chartData\"\n      :options=\"options\"\n      :styles=\"{\n        height: '200px',\n        width: '250px',\n        position: 'relative',\n      }\"\n    />\n\n    <Message\n      v-if=\"dataLoaded && noData\"\n      :message=\"'No data'\"\n      class=\"is-small\"\n    />\n  </div>\n</template>\n<script>\nimport statsProvider from '@/providers/stats'\n\nconst Doughnut = () => import('@/components/UI/Charts/Doughnut')\nconst Message = () => import('@/components/UI/Message')\n\nexport default {\n  components: {\n    Doughnut,\n    Message,\n  },\n\n  props: {\n    locationId: {\n      default: 0,\n      type: Number,\n    },\n\n    endDate: {\n      default: new Date(),\n      type: Date,\n    },\n\n    showDatesLabel: {\n      default: false,\n      type: Boolean,\n    },\n\n    startDate: {\n      default: new Date(),\n      type: Date,\n    },\n  },\n\n  data() {\n    return {\n      dataLoaded: false,\n      noData: false,\n      data: null,\n      isLoading: false,\n\n      chartData: {\n        labels: ['Approved', 'Awaiting approval'],\n        datasets: [],\n      },\n      options: {\n        legend: {\n          display: true,\n          position: 'bottom',\n        },\n        cutout: '75%',\n        responsive: true,\n        maintainAspectRatio: true,\n        aspectRatio: 16 / 9,\n      },\n    }\n  },\n\n  watch: {\n    endDate: {\n      immediate: true,\n      handler: function() {\n        this.getLocationInvoiceApprovalSplitData()\n      },\n    },\n\n    startDate: {\n      immediate: true,\n      handler: function() {\n        this.getLocationInvoiceApprovalSplitData()\n      },\n    },\n  },\n\n  created() {\n    this.getLocationInvoiceApprovalSplitData()\n  },\n\n  methods: {\n    getLocationInvoiceApprovalSplitData() {\n      let self = this\n      self.dataLoaded = false\n\n      if (!self.isLoading) {\n        self.isLoading = true\n\n        statsProvider.methods\n          .getLocationInvoiceApprovalSplit(\n            self.locationId,\n            self.$options.filters.dateObjectIsoDateString(self.startDate),\n            self.$options.filters.dateObjectIsoDateString(self.endDate)\n          )\n          .then((response) => {\n            if (response.status === 200) {\n              self.data = response.data\n              self.prepData()\n            }\n          })\n          .finally(() => {\n            self.isLoading = false\n          })\n      }\n    },\n\n    prepData() {\n      let self = this\n\n      self.noData = false\n      self.chartData.datasets = []\n\n      if (self.data.Approved > 0 || self.data.AwaitingApproval > 0) {\n        self.chartData.datasets.push({\n          borderWidth: 1,\n          borderColor: ['rgba(149, 193, 30, 1)', 'rgba(0, 186, 255, 1)'],\n          backgroundColor: [\n            'rgba(149, 193, 30, 0.3)',\n            'rgba(0, 186, 255, 0.3)',\n          ],\n          data: [self.data.Approved, self.data.AwaitingApproval],\n        })\n      } else {\n        self.noData = true\n      }\n\n      self.dataLoaded = true\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceApprovalSplit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceApprovalSplit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceApprovalSplit.vue?vue&type=template&id=64500f78\"\nimport script from \"./InvoiceApprovalSplit.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceApprovalSplit.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"],"sourceRoot":""}