{"version":3,"sources":["webpack:///src/components/Dashboards/InvoiceApprovalSplit.vue","webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue","webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue?de87","webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue?34d7","webpack:///./src/components/Dashboards/InvoiceApprovalSplit.vue?dfc5"],"names":["Doughnut","Message","components","props","locationId","default","type","Number","endDate","Date","showDatesLabel","Boolean","startDate","data","dataLoaded","noData","isLoading","chartData","labels","datasets","options","legend","display","position","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","render","_vm","_c","_self","staticClass","_v","_s","$t","attrs","chartdata","styles","height","width","_e","message","staticRenderFns","_withStripped"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA;AAEA,IAAAA,QAAA,YAAAA,SAAA;EAAA;AAAA;AACA,IAAAC,OAAA,YAAAA,QAAA;EAAA;AAAA;AAEe;EACfC,UAAA;IACAF,QAAA,EAAAA,QAAA;IACAC,OAAA,EAAAA;EACA;EAEAE,KAAA;IACAC,UAAA;MACAC,OAAA;MACAC,IAAA,EAAAC;IACA;IAEAC,OAAA;MACAH,OAAA,MAAAI,IAAA;MACAH,IAAA,EAAAG;IACA;IAEAC,cAAA;MACAL,OAAA;MACAC,IAAA,EAAAK;IACA;IAEAC,SAAA;MACAP,OAAA,MAAAI,IAAA;MACAH,IAAA,EAAAG;IACA;EACA;EAEAI,IAAA,WAAAA,KAAA;IACA;MACAC,UAAA;MACAC,MAAA;MACAF,IAAA;MACAG,SAAA;MAEAC,SAAA;QACAC,MAAA;QACAC,QAAA;MACA;MACAC,OAAA;QACAC,MAAA;UACAC,OAAA;UACAC,QAAA;QACA;QACAC,MAAA;QACAC,UAAA;QACAC,mBAAA;QACAC,WAAA;MACA;IACA;EACA;EAEAC,KAAA;IACApB,OAAA;MACAqB,SAAA;MACAC,OAAA,WAAAA,QAAA;QACA,KAAAC,mCAAA;MACA;IACA;IAEAnB,SAAA;MACAiB,SAAA;MACAC,OAAA,WAAAA,QAAA;QACA,KAAAC,mCAAA;MACA;IACA;EACA;EAEAC,OAAA,WAAAA,QAAA;IACA,KAAAD,mCAAA;EACA;EAEAE,OAAA;IACAF,mCAAA,WAAAA,oCAAA;MACA,IAAAG,IAAA;MACAA,IAAA,CAAApB,UAAA;MAEA,KAAAoB,IAAA,CAAAlB,SAAA;QACAkB,IAAA,CAAAlB,SAAA;QAEAmB,gEAAA,CAAAF,OAAA,CACAG,+BAAA,CACAF,IAAA,CAAA9B,UAAA,EACA8B,IAAA,CAAAG,QAAA,CAAAC,OAAA,CAAAC,uBAAA,CAAAL,IAAA,CAAAtB,SAAA,GACAsB,IAAA,CAAAG,QAAA,CAAAC,OAAA,CAAAC,uBAAA,CAAAL,IAAA,CAAA1B,OAAA,CACA,EACAgC,IAAA,WAAAC,QAAA;UACA,IAAAA,QAAA,CAAAC,MAAA;YACAR,IAAA,CAAArB,IAAA,GAAA4B,QAAA,CAAA5B,IAAA;YACAqB,IAAA,CAAAS,QAAA;UACA;QACA,GACAC,OAAA;UACAV,IAAA,CAAAlB,SAAA;QACA;MACA;IACA;IAEA2B,QAAA,WAAAA,SAAA;MACA,IAAAT,IAAA;MAEAA,IAAA,CAAAnB,MAAA;MACAmB,IAAA,CAAAjB,SAAA,CAAAE,QAAA;MAEA,IAAAe,IAAA,CAAArB,IAAA,CAAAgC,QAAA,QAAAX,IAAA,CAAArB,IAAA,CAAAiC,gBAAA;QACAZ,IAAA,CAAAjB,SAAA,CAAAE,QAAA,CAAA4B,IAAA;UACAC,WAAA;UACAC,WAAA;UACAC,eAAA,GACA,2BACA,yBACA;UACArC,IAAA,GAAAqB,IAAA,CAAArB,IAAA,CAAAgC,QAAA,EAAAX,IAAA,CAAArB,IAAA,CAAAiC,gBAAA;QACA;MACA;QACAZ,IAAA,CAAAnB,MAAA;MACA;MAEAmB,IAAA,CAAApB,UAAA;IACA;EACA;AACA,CAAC,E;;;;;;;;;;;;;AC3JD;AAAA;AAAA,IAAIqC,MAAM,GAAG,SAASA,MAAMA,CAAA,EAAG;EAC7B,IAAIC,GAAG,GAAG,IAAI;IACZC,EAAE,GAAGD,GAAG,CAACE,KAAK,CAACD,EAAE;EACnB,OAAOA,EAAE,CACP,KAAK,EACL,CACEA,EAAE,CAAC,GAAG,EAAE;IAAEE,WAAW,EAAE;EAAW,CAAC,EAAE,CACnCH,GAAG,CAACI,EAAE,CACJ,GAAG,GACDJ,GAAG,CAACK,EAAE,CACJL,GAAG,CAACM,EAAE,CACJ,sEACF,CACF,CAAC,GACD,GACJ,CAAC,CACF,CAAC,EACFN,GAAG,CAACtC,UAAU,IAAI,CAACsC,GAAG,CAACrC,MAAM,GACzBsC,EAAE,CAAC,UAAU,EAAE;IACbM,KAAK,EAAE;MACLC,SAAS,EAAER,GAAG,CAACnC,SAAS;MACxBG,OAAO,EAAEgC,GAAG,CAAChC,OAAO;MACpByC,MAAM,EAAE;QACNC,MAAM,EAAE,OAAO;QACfC,KAAK,EAAE,OAAO;QACdxC,QAAQ,EAAE;MACZ;IACF;EACF,CAAC,CAAC,GACF6B,GAAG,CAACY,EAAE,CAAC,CAAC,EACZZ,GAAG,CAACtC,UAAU,IAAIsC,GAAG,CAACrC,MAAM,GACxBsC,EAAE,CAAC,SAAS,EAAE;IACZE,WAAW,EAAE,UAAU;IACvBI,KAAK,EAAE;MAAEM,OAAO,EAAE;IAAU;EAC9B,CAAC,CAAC,GACFb,GAAG,CAACY,EAAE,CAAC,CAAC,CACb,EACD,CACF,CAAC;AACH,CAAC;AACD,IAAIE,eAAe,GAAG,EAAE;AACxBf,MAAM,CAACgB,aAAa,GAAG,IAAI;;;;;;;;;;;;;;ACzC3B;AAAA;AAAA;AAAA;AAAkG;AAC3B;AACL;;;AAGlE;AAC6F;AAC7F,gBAAgB,mHAAU;AAC1B,EAAE,iGAAM;AACR,EAAE,sGAAM;AACR,EAAE,+GAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;;ACtCf;AAA4S,CAAgB,sVAAG,EAAC,C;;;;;;;;;;;;;ACAhU;AAAA;AAAA;AAAA;AAAA","file":"js/349.js?id=eaad502b228ce931fc09","sourcesContent":["<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","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"div\",\n    [\n      _c(\"p\", { staticClass: \"subtitle\" }, [\n        _vm._v(\n          \" \" +\n            _vm._s(\n              _vm.$t(\n                \"Components.Dashboards.InvoiceApprovalSplit.Subtitle_InvoicesApproved\"\n              )\n            ) +\n            \" \"\n        ),\n      ]),\n      _vm.dataLoaded && !_vm.noData\n        ? _c(\"Doughnut\", {\n            attrs: {\n              chartdata: _vm.chartData,\n              options: _vm.options,\n              styles: {\n                height: \"200px\",\n                width: \"250px\",\n                position: \"relative\",\n              },\n            },\n          })\n        : _vm._e(),\n      _vm.dataLoaded && _vm.noData\n        ? _c(\"Message\", {\n            staticClass: \"is-small\",\n            attrs: { message: \"No data\" },\n          })\n        : _vm._e(),\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./InvoiceApprovalSplit.vue?vue&type=template&id=1187613a\"\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\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('1187613a')) {\n      api.createRecord('1187613a', component.options)\n    } else {\n      api.reload('1187613a', component.options)\n    }\n    module.hot.accept(\"./InvoiceApprovalSplit.vue?vue&type=template&id=1187613a\", function () {\n      api.rerender('1187613a', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/Dashboards/InvoiceApprovalSplit.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../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/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 * from \"-!../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"d2a26fb4-vue-loader-template\\\"}!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceApprovalSplit.vue?vue&type=template&id=1187613a\""],"sourceRoot":""}