{"version":3,"sources":["webpack:///./src/components/CloseButton.vue?d90c","webpack:///./src/components/CloseButton.vue","webpack:///./src/components/CloseButton.vue?6241","webpack:///./src/components/CloseButton.vue?5645","webpack:///./src/views/XeroLinkAccount.vue?9315","webpack:///./src/views/XeroLinkAccount.vue","webpack:///./src/views/XeroLinkAccount.vue?cf4a","webpack:///./src/views/XeroLinkAccount.vue?f925","webpack:///./src/components/ProgressSpinner.vue?0be7","webpack:///./src/components/ProgressSpinner.vue","webpack:///./src/components/ProgressSpinner.vue?16c0","webpack:///./src/components/ProgressSpinner.vue?1232","webpack:///./src/views/XeroLinkAccount.vue?c9be","webpack:///./src/views/Xero.vue?f32a","webpack:///./src/components/XeroConnection.vue?1a95","webpack:///./src/components/XeroConnection.vue","webpack:///./src/components/XeroConnection.vue?bd99","webpack:///./src/components/XeroConnection.vue?a2c5","webpack:///./src/components/XeroSync.vue?4153","webpack:///./src/components/XeroSync.vue","webpack:///./src/components/XeroSync.vue?c72b","webpack:///./src/components/XeroSync.vue?8250","webpack:///./src/views/Xero.vue","webpack:///./src/views/Xero.vue?c922","webpack:///./src/views/Xero.vue?e5ab"],"names":["render","_vm","this","_h","$createElement","_c","_self","hide","_e","staticClass","staticStyle","attrs","on","goToHome","_v","staticRenderFns","Vue","extend","computed","mapGetters","$route","path","methods","user","$router","push","signoutConfirm","component","VBtn","$images","xeroLogo","$event","preventDefault","linkAccounts","apply","arguments","model","value","userTmp","callback","$$v","$set","expression","directives","name","rawName","showPassword","errors","collect","password","loading","components","CloseButton","mixins","tenantNavMixin","data","xero_id","$validator","validate","valid","payload","email","$store","dispatch","routeLogin","VForm","VIcon","VTextField","style","imgTop","imgTopWidth","color","_s","iconTop","progress","percent","total","imgBottom","imgBottomWidth","iconBottom","message","class","props","bind","type","String","required","default","imgTopStyle","imgBottomStyle","getters","VCol","VImg","VProgressCircular","toolbar","scopedSlots","_u","key","fn","goToXero","proxy","xeroConnection","result","xeroDisconnectConfirm","xeroDisconnect","link","toggleLoading","xeroConnect","connectionColor","xeroAccount","base","process","tenant","id","splash","commit","title","text","icon","admin","response","brandLogoHorizontal","dataProviderSyncProgress","xeroSync","ProgressSpinner","XeroConnection","XeroSync","left","back","tooltip","right","window","open","isApp","VRow"],"mappings":"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","file":"js/xero.1edd9791.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.hide)?_c('v-btn',{staticClass:\"subtitle black--text\",staticStyle:{\"position\":\"fixed\",\"left\":\"10px\",\"top\":\"10px\",\"z-index\":\"1\"},attrs:{\"icon\":\"\",\"large\":\"\"},on:{\"click\":_vm.goToHome}},[_vm._v(\" Back \")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { mapGetters } from 'vuex'\nimport Vue from 'vue'\nimport { signoutConfirm } from '@/utility/helpers'\nexport default Vue.extend({\n computed: {\n ...mapGetters(['user']),\n hide(): boolean {\n // Array of routes we do not want to display on\n const hide = {\n '/': true,\n '/register/user': true,\n '/signin': true\n }\n\n // Hide if we are on one of those routes\n return hide[this.$route.path] || false\n }\n },\n methods: {\n goToHome(): void {\n // If an authenticated user does NOT exist, route to home\n if (!this.user) return this.$router.push('/')\n\n // Else, we need to signout the user, so pop signout confirm\n signoutConfirm()\n }\n }\n})\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloseButton.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloseButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CloseButton.vue?vue&type=template&id=7efbfe72&\"\nimport script from \"./CloseButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./CloseButton.vue?vue&type=script&lang=ts&\"\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';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.userTmp)?_c('main-page-template',{attrs:{\"title\":\"Link your
Xero Account\",\"img\":\"\"}},[_c('close-button'),_c('div',[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-sync-alert\")])],1),_c('img',{attrs:{\"src\":_vm.$images.xeroLogo,\"width\":\"100px\"}}),_c('p',{staticClass:\"mt-2 px-4\"},[_vm._v(\" Before we link your Xero account, please enter your MessageDesk password to verify your identity. \")]),_c('v-form',{staticClass:\"px-4\",staticStyle:{\"max-width\":\"400px\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.linkAccounts.apply(null, arguments)}}},[_c('v-text-field',{staticClass:\"black-text\",attrs:{\"readonly\":\"\",\"label\":\"Email\",\"type\":\"email\",\"disabled\":true},model:{value:(_vm.userTmp.email),callback:function ($$v) {_vm.$set(_vm.userTmp, \"email\", $$v)},expression:\"userTmp.email\"}}),_c('v-text-field',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],attrs:{\"required\":\"\",\"label\":\"Password\",\"name\":\"password\",\"type\":_vm.showPassword ? 'text' : 'password',\"error-messages\":_vm.errors.collect('password'),\"append-icon\":_vm.showPassword ? 'mdi-eye' : 'mdi-eye-off'},on:{\"click:append\":function($event){_vm.showPassword = !_vm.showPassword}},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('v-btn',{staticClass:\"mt-12\",attrs:{\"rounded\":\"\",\"outlined\":\"\",\"color\":\"primary\",\"type\":\"submit\",\"disabled\":_vm.loading,\"loading\":_vm.loading}},[_vm._v(\" Link Accounts \")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nimport CloseButton from '@/components/CloseButton.vue'\nimport { mapGetters } from 'vuex'\nimport tenantNavMixin from '@/mixins/tenant-nav-mixin'\nexport default Vue.extend({\n components: { CloseButton },\n mixins: [tenantNavMixin],\n data() {\n return {\n loading: false,\n password: '',\n showPassword: false,\n xero_id: null\n }\n },\n computed: {\n ...mapGetters(['userTmp'])\n },\n methods: {\n async linkAccounts(): Promise {\n // validate the form\n const valid = await this.$validator.validate()\n\n // If the form is NOT valid, do nothing\n if (!valid) return\n\n // Else, assemble request payload\n const payload = {\n email: this.userTmp.email,\n password: this.password\n }\n\n // Start the loading spinner\n this.loading = true\n\n // Send the request\n const user = await this.$store.dispatch('linkXeroAccount', payload)\n\n // Stop the loading spinner\n this.loading = false\n\n // If the request failed, do nothing\n if (!user) return\n\n // Else, use standard login\n this.routeLogin(user)\n }\n }\n})\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroLinkAccount.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroLinkAccount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./XeroLinkAccount.vue?vue&type=template&id=10ec387f&scoped=true&\"\nimport script from \"./XeroLinkAccount.vue?vue&type=script&lang=ts&\"\nexport * from \"./XeroLinkAccount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./XeroLinkAccount.vue?vue&type=style&index=0&id=10ec387f&scoped=true&lang=css&\"\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 \"10ec387f\",\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 { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VForm,VIcon,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{staticClass:\"pa-0\",attrs:{\"align\":\"center\"}},[(_vm.imgTop)?_c('v-img',{style:(_vm.imgTopStyle),attrs:{\"src\":_vm.imgTop,\"width\":_vm.imgTopWidth}}):(_vm.iconTop)?_c('div',[_c('v-icon',{attrs:{\"x-large\":\"\",\"color\":_vm.color}},[_vm._v(\" \"+_vm._s(_vm.iconTop)+\" \")])],1):_vm._e(),(!_vm.progress)?_c('v-icon',{attrs:{\"color\":_vm.color,\"size\":50}},[_vm._v(\" mdi-sync \")]):_c('v-progress-circular',{attrs:{\"indeterminate\":!_vm.progress || _vm.progress.percent === 0 || _vm.progress.total === 999999,\"value\":_vm.progress && _vm.progress.percent,\"size\":50,\"width\":5,\"color\":_vm.color,\"rotate\":-90}},[(_vm.progress && _vm.progress.total == 999999)?_c('span',[_vm._v(\"IND\")]):(_vm.progress)?_c('span',[_vm._v(\" \"+_vm._s(_vm.progress.percent + '%')+\" \")]):_vm._e()]),(_vm.imgBottom)?_c('v-img',{style:(_vm.imgBottomStyle),attrs:{\"src\":_vm.imgBottom,\"width\":_vm.imgBottomWidth}}):(_vm.iconBottom)?_c('div',[_c('v-icon',{attrs:{\"x-large\":\"\",\"color\":_vm.color}},[_vm._v(\" \"+_vm._s(_vm.iconBottom)+\" \")])],1):_vm._e(),(_vm.progress && _vm.progress.message)?_c('div',{staticClass:\"mt-2\",class:(_vm.color + \"--text\")},[_vm._v(\" \"+_vm._s(_vm.progress.message)+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend ({\n props: {\n // The name of the vuex getter that holds progress data\n bind: {\n type: String,\n required: true\n },\n // The color of the circular spinner\n color: {\n type: String,\n default: 'primary'\n },\n // The icon displayed above the spinner\n iconTop: {\n type: String,\n default: null\n },\n // The icon displayed below the spinner\n iconBottom: {\n type: String,\n default: null\n },\n // The image displayed above the progress circular (overrides iconTop)\n imgTop: {\n type: String,\n default: null\n },\n // Style applied to the top image\n imgTopStyle: {\n type: String,\n default: null\n },\n // The width of the image displayed above the progress circular\n imgTopWidth: {\n type: String,\n default: '230px'\n },\n // The image displayed below the progress circular (overrides iconBottom)\n imgBottom: {\n type: String,\n default: null\n },\n // Style applied to the bottom image\n imgBottomStyle: {\n type: String,\n default: null\n },\n // The width of the image displayed below the progress circular\n imgBottomWidth: {\n type: String,\n default: '160px'\n }\n },\n computed: {\n progress(): object {\n return this.$store.getters[this.bind]\n }\n }\n})\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressSpinner.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressSpinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProgressSpinner.vue?vue&type=template&id=061bbe43&\"\nimport script from \"./ProgressSpinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProgressSpinner.vue?vue&type=script&lang=ts&\"\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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VCol,VIcon,VImg,VProgressCircular})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroLinkAccount.vue?vue&type=style&index=0&id=10ec387f&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-template',{attrs:{\"toolbar\":_vm.toolbar},scopedSlots:_vm._u([{key:\"left-top\",fn:function(){return [_c('v-row',{staticClass:\"pa-3\",attrs:{\"no-gutters\":\"\",\"align\":\"center\",\"justify\":\"end\"}},[_c('tri-panel-button',{attrs:{\"small\":\"\",\"icon\":\"mdi-open-in-new\",\"text\":\"Go To Xero\"},on:{\"click\":_vm.goToXero}})],1)]},proxy:true}])},[_c('xero-sync',{staticClass:\"mt-3\"}),_c('xero-connection',{staticClass:\"mt-4\"})],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-col',{staticClass:\"pa-0\",attrs:{\"align\":\"center\"}},[(_vm.xeroConnection && _vm.xeroConnection.result)?_c('div',[_c('a',{on:{\"click\":_vm.xeroDisconnectConfirm}},[_c('v-img',{attrs:{\"src\":_vm.$images.xeroDisconnect,\"width\":\"210\"}})],1)]):_c('div',[_c('a',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":_vm.link,\"onclick\":\"window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500px,height=750px'); return false;\"},on:{\"click\":_vm.toggleLoading}},[_c('v-img',{attrs:{\"src\":_vm.$images.xeroConnect,\"width\":\"180\"}})],1)]),_c('person-show-item',{staticClass:\"mt-2\",attrs:{\"center\":\"\",\"display\":\"Connection Status:\",\"font-color\":_vm.connectionColor,\"value\":_vm.xeroConnection && _vm.xeroConnection.result ? 'Connected' : 'Disconnected'}}),_c('person-show-item',{attrs:{\"center\":\"\",\"display\":\"Organization Name:\",\"font-color\":\"primary--text\",\"value\":_vm.xeroConnection && _vm.xeroConnection.result ? _vm.xeroAccount.name : 'N/A'}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nimport SplashScreen from '@/types/components/SplashScreen.interface'\nimport { mapGetters } from 'vuex'\nexport default Vue.extend({\n computed: {\n ...mapGetters(['tenant', 'xeroAccount', 'xeroConnection']),\n connectionColor(): string {\n return this.xeroConnection && this.xeroConnection.result\n ? 'primary--text'\n : 'red--text'\n },\n link(): string {\n const base = `${process.env.VUE_APP_URL_API}`\n return `${base}/xero/oauth/connect/redirect?tenant_id=${this.tenant.id}`\n }\n },\n methods: {\n toggleLoading(): void {\n // Assemble a splash screen\n const splash: SplashScreen = { message: 'Connecting to Xero...' }\n\n // Show the splash screen loader\n this.$store.commit('splashSet', splash)\n },\n xeroDisconnectConfirm(): void {\n this.$store.dispatch('dialogOpen', {\n type: 'CONFIRM',\n title: 'Disconnect from Xero?',\n text: `Are you sure you want to disconnect from Xero?`,\n icon: 'mdi-alert-circle',\n color: 'yellow darken-2',\n callback: (result) => this.xeroDisconnect(result),\n admin: true\n })\n },\n async xeroDisconnect(result: boolean): Promise {\n // If the dialog result is false, do nothing\n if (!result) return\n\n // Send disconnect request to API\n const response = await this.$store.dispatch('xeroDisconnect')\n\n // If the request failed, do nothing\n if (!response) return\n\n // Else, notify the user of success\n this.$store.dispatch('dialogOpen', {\n type: 'MESSAGE',\n title: 'Disconnected from Xero',\n text: `You have been successfully disconnected from Xero.`,\n icon: 'mdi-link-variant-off',\n color: 'red darken-1'\n })\n }\n }\n})\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroConnection.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroConnection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./XeroConnection.vue?vue&type=template&id=ef8779f2&\"\nimport script from \"./XeroConnection.vue?vue&type=script&lang=ts&\"\nexport * from \"./XeroConnection.vue?vue&type=script&lang=ts&\"\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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VCol,VImg})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-col',{staticClass:\"pa-0\",attrs:{\"align\":\"center\"}},[_c('progress-spinner',{attrs:{\"bind\":\"dataProviderSyncProgress\",\"img-top\":_vm.$images.brandLogoHorizontal,\"img-bottom\":_vm.$images.xeroLogo,\"img-bottom-width\":\"60px\",\"color\":\"primary\",\"img-bottom-style\":\"margin-top:10px\"}}),(_vm.xeroConnection)?_c('v-btn',{staticClass:\"mt-5\",attrs:{\"outlined\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"disabled\":!_vm.xeroConnection || !_vm.xeroConnection.result,\"loading\":_vm.loading || _vm.dataProviderSyncProgress != null,\"width\":\"120\"},on:{\"click\":_vm.xeroSync}},[_vm._v(\" Sync Now \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nimport ProgressSpinner from '@/components/ProgressSpinner.vue'\nimport { mapGetters } from 'vuex'\nexport default Vue.extend({\n components: { ProgressSpinner },\n data: () => ({\n loading: true\n }),\n computed: {\n ...mapGetters(['xeroConnection', 'dataProviderSyncProgress'])\n },\n methods: {\n async xeroSync(): Promise {\n // Start the loading spinner\n this.loading = true\n\n // Send the sync request to the API\n const response = await this.$store.dispatch('xeroSync')\n\n // Stop the loading spinner\n this.loading = false\n\n // If the response is 409, we hit the 'BlockIfSyncingMiddleware'\n if (response === 409) {\n this.$store.dispatch('dialogOpen', {\n type: 'MESSAGE',\n title: 'Sync in progress',\n icon: 'mdi-alert-circle-outline',\n color: 'primary',\n text: 'A sync is already in progress. Data syncing can take a long time if you have a large data set. We appreciate your patience.'\n })\n } else {\n // Activate sync progress\n this.$store.commit('dataProviderSyncProgressSet', {\n message: 'Beginning Sync',\n percent: 0,\n model: 'Xero Data'\n })\n }\n }\n }\n})\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroSync.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./XeroSync.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./XeroSync.vue?vue&type=template&id=6dc43b2e&\"\nimport script from \"./XeroSync.vue?vue&type=script&lang=ts&\"\nexport * from \"./XeroSync.vue?vue&type=script&lang=ts&\"\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';\ninstallComponents(component, {VBtn,VCol})\n","\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nimport XeroConnection from '@/components/XeroConnection.vue'\nimport XeroSync from '@/components/XeroSync.vue'\nexport default Vue.extend({\n components: { XeroConnection, XeroSync },\n data() {\n return {\n toolbar: {\n title: 'Xero',\n left: [\n {\n title: 'Back',\n icon: 'mdi-chevron-left',\n back: '/settings',\n tooltip: 'Back'\n }\n ],\n right: []\n }\n }\n },\n methods: {\n goToXero(): void {\n window.open(\n 'https://go.xero.com/dashboard',\n this.$store.getters.isApp ? '_system' : '_blank'\n )\n }\n }\n})\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Xero.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Xero.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Xero.vue?vue&type=template&id=739e0f3f&\"\nimport script from \"./Xero.vue?vue&type=script&lang=ts&\"\nexport * from \"./Xero.vue?vue&type=script&lang=ts&\"\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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VRow})\n"],"sourceRoot":""}