{"version":3,"sources":["webpack:///./src/views/PluginsIndex.vue?c3bf","webpack:///./src/views/PluginsIndex.vue","webpack:///./src/views/PluginsIndex.vue?290c","webpack:///./src/views/PluginsIndex.vue?04f9","webpack:///./src/views/PluginsIndex.vue?3da4"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","toolbar","ref","items","pluginTile","staticRenderFns","Vue","extend","data","title","left","icon","back","tooltip","right","computed","mapGetters","id","line1","line2","color","callback","$router","push","disabledPopup","$store","getters","userHasPermission","hidden","isApp","qboHidden","xeroHidden","tenant","data_provider","img","window","open","account_status","filter","x","qboHasAccount","xeroHasAccount","methods","pluginIcon","extra","listIcon","type","IListIconType","content","leftIcon","component"],"mappings":"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","file":"js/plugins-index.e3101b92.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('page-template',{attrs:{\"toolbar\":_vm.toolbar}},[_c('i-list',{ref:\"pluginsList\",attrs:{\"id\":\"pluginsViewPluginsList\",\"items\":_vm.items,\"tile\":_vm.pluginTile()}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport IListIcon, { IListIconType } from '@/types/components/IListIcon.interface'\nimport IListTile from '@/types/components/IListTile.interface'\nimport Vue from 'vue'\nimport { mapGetters } from 'vuex'\nexport interface Plugin {\n line1: string\n line2: string\n icon?: string\n color: string\n callback: Function\n disabledPopup?: boolean\n hidden?: boolean\n img?: string\n}\nexport default Vue.extend({\n data() {\n return {\n toolbar: {\n title: 'Plugins',\n left: [\n {\n title: 'Back',\n icon: 'mdi-chevron-left',\n back: '/home',\n tooltip: 'Back'\n }\n ],\n right: []\n }\n }\n },\n computed: {\n ...mapGetters(['isApp', 'qboHasAccount', 'tenant', 'xeroHasAccount']),\n items(): Plugin[] {\n const items = [\n // {\n // id: 1,\n // line1: `Short Links ${\n // this.isApp ? '' : 'beta'\n // }`,\n // line2: 'Shorten URLs and view your link analytics',\n // icon: 'bi-input-cursor-text',\n // color: 'primary',\n // callback: () => this.$router.push('/short-links'),\n // hidden: this.tenant.account_status !== 'active'\n // },\n {\n id: 2,\n line1: 'Media',\n line2: 'View your uploaded and received files and images',\n icon: 'mdi-file-image-outline',\n color: 'primary',\n callback: () => this.$router.push('/media')\n },\n {\n id: 3,\n line1: 'Pay by Text',\n line2: 'Create and text invoices using your Sphere Merchant Account',\n icon: 'mdi-link-variant',\n color: 'primary',\n callback: () => this.$router.push('/sphere'),\n disabledPopup: !this.$store.getters.userHasPermission(3),\n hidden: this.isApp\n },\n {\n id: 4,\n line1: 'QuickBooks Online',\n line2: `Connect and sync your QuickBooks Online customers`,\n icon: 'mdi-link-variant',\n color: 'primary',\n callback: () => this.$router.push('/qbo'),\n disabledPopup: !this.$store.getters.userHasPermission(2),\n hidden: this.qboHidden\n },\n {\n id: 5,\n line1: 'Xero',\n line2: `Connect and sync your Xero contacts`,\n icon: 'mdi-link-variant',\n color: 'primary',\n callback: () => this.$router.push('/xero'),\n disabledPopup: !this.$store.getters.userHasPermission(2),\n hidden: this.xeroHidden\n },\n {\n id: 6,\n line1: 'Carrier Registration',\n line2: 'Register your business with carriers to prevent blocked messages',\n icon: 'mdi-card-account-phone',\n color: 'primary',\n callback: () => this.$router.push('/brand-info'),\n disabledPopup: !this.$store.getters.userHasPermission(3),\n hidden: this.isApp\n },\n {\n id: 7,\n line1: 'Custom Fields',\n line2: 'Create and edit custom fields for your contacts',\n icon: 'mdi-format-annotation-plus',\n color: 'primary',\n callback: () => this.$router.push('/custom-fields'),\n disabledPopup: !this.$store.getters.userHasPermission(2)\n },\n {\n id: 8,\n line1: 'Merge Contacts',\n line2: 'Merge contacts with duplicate numbers',\n icon: 'mdi-account-switch',\n color: 'primary',\n callback: () => this.$router.push('/settings/merge-contacts'),\n hidden:\n this.tenant.data_provider === 'QBO' ||\n this.tenant.data_provider === 'XERO'\n },\n {\n id: 9,\n line1: 'Zapier',\n line2: 'Integrate MessageDesk with other apps via Zapier',\n img: 'zapier',\n color: 'primary',\n callback: () =>\n window.open(\n 'https://learn.messagedesk.com/en/articles/5375208-how-to-connect-zapier-to-messagedesk',\n this.isApp ? '_system' : '_blank'\n ),\n disabledPopup: !this.$store.getters.userHasPermission(3),\n hidden: this.isApp || this.tenant.account_status !== 'active'\n }\n ]\n return items.filter((x: Plugin) => x.hidden !== true)\n },\n qboHidden(): boolean {\n // if the tenant data_provider is null, show the qbo item\n if (!this.tenant.data_provider) return false\n\n // If the tenant data_provider is QBO, show the qbo item\n if (this.qboHasAccount) return false\n\n // Else, hide the qbo item\n return true\n },\n xeroHidden(): boolean {\n // if the tenant data_provider is null, show the xero item\n if (!this.tenant.data_provider) return false\n\n // If the tenant data_provider is xero, show the xero item\n if (this.xeroHasAccount) return false\n\n // Else, hide the xero item\n return true\n }\n },\n methods: {\n pluginIcon(extra: Plugin): IListIcon {\n // Our icon comes from the plugin\n const icon = extra.icon\n\n // Grab the image from the plugin as well\n const img = extra.img\n\n // Create our list icon\n const listIcon: IListIcon = {\n type: img ? IListIconType.img : IListIconType.icon,\n content: img ? img : icon,\n color: 'primary'\n }\n\n // Return our list icon\n return listIcon\n },\n pluginTile(): IListTile {\n return {\n line1: (extra: Plugin): string => extra.line1,\n line2: (extra: Plugin): string => extra.line2,\n leftIcon: (extra: Plugin): string => this.pluginIcon(extra),\n color: (extra: Plugin): string => extra.color,\n callback: (extra: Plugin): void => extra.callback()\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!./PluginsIndex.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!./PluginsIndex.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PluginsIndex.vue?vue&type=template&id=0a8049f5&\"\nimport script from \"./PluginsIndex.vue?vue&type=script&lang=ts&\"\nexport * from \"./PluginsIndex.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PluginsIndex.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","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!./PluginsIndex.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}