{"version":3,"file":"js/app.63eafaa5.js","mappings":"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","sources":["webpack://com.crmtogether.mobilexcrm/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://com.crmtogether.mobilexcrm/./src/App.vue?7803","webpack://com.crmtogether.mobilexcrm/./src/layout/AcceleratorLayout.vue?9fa2","webpack://com.crmtogether.mobilexcrm/src/layout/AcceleratorLayout.vue","webpack://com.crmtogether.mobilexcrm/./src/layout/AcceleratorLayout.vue?1693","webpack://com.crmtogether.mobilexcrm/./src/layout/AcceleratorLayout.vue","webpack://com.crmtogether.mobilexcrm/src/App.vue","webpack://com.crmtogether.mobilexcrm/./src/App.vue?cfe5","webpack://com.crmtogether.mobilexcrm/./src/App.vue","webpack://com.crmtogether.mobilexcrm/./src/router/index.js","webpack://com.crmtogether.mobilexcrm/./src/store/entityStore.js","webpack://com.crmtogether.mobilexcrm/./src/store/index.js","webpack://com.crmtogether.mobilexcrm/./src/services/EmailConnectors/mailBox.js","webpack://com.crmtogether.mobilexcrm/./src/plugins/vuetify.js","webpack://com.crmtogether.mobilexcrm/./src/main.js","webpack://com.crmtogether.mobilexcrm/./src/plugins/polyfill.js","webpack://com.crmtogether.mobilexcrm/./src/services/MobileAppContainer.js","webpack://com.crmtogether.mobilexcrm/./src/services/Office365Container.js","webpack://com.crmtogether.mobilexcrm/./src/services/OutlookAppContainer.js","webpack://com.crmtogether.mobilexcrm/./src/services/OutlookAppContainerWebview.js","webpack://com.crmtogether.mobilexcrm/./src/services/applog.js","webpack://com.crmtogether.mobilexcrm/webpack/bootstrap","webpack://com.crmtogether.mobilexcrm/webpack/runtime/chunk loaded","webpack://com.crmtogether.mobilexcrm/webpack/runtime/compat get default export","webpack://com.crmtogether.mobilexcrm/webpack/runtime/define property getters","webpack://com.crmtogether.mobilexcrm/webpack/runtime/ensure chunk","webpack://com.crmtogether.mobilexcrm/webpack/runtime/get javascript chunk filename","webpack://com.crmtogether.mobilexcrm/webpack/runtime/get mini-css chunk filename","webpack://com.crmtogether.mobilexcrm/webpack/runtime/global","webpack://com.crmtogether.mobilexcrm/webpack/runtime/hasOwnProperty shorthand","webpack://com.crmtogether.mobilexcrm/webpack/runtime/load script","webpack://com.crmtogether.mobilexcrm/webpack/runtime/make namespace object","webpack://com.crmtogether.mobilexcrm/webpack/runtime/node module decorator","webpack://com.crmtogether.mobilexcrm/webpack/runtime/publicPath","webpack://com.crmtogether.mobilexcrm/webpack/runtime/css loading","webpack://com.crmtogether.mobilexcrm/webpack/runtime/jsonp chunk loading","webpack://com.crmtogether.mobilexcrm/webpack/startup"],"sourcesContent":["var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.layout,{tag:\"component\"})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VApp } from 'vuetify/lib/components/VApp';\n\nvar render = function render(){var _vm=this,_c=_vm._self._c;return _c(VApp,[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AcceleratorLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AcceleratorLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AcceleratorLayout.vue?vue&type=template&id=9b7268c8&scoped=true&\"\nimport script from \"./AcceleratorLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./AcceleratorLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AcceleratorLayout.vue?vue&type=style&index=0&id=9b7268c8&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9b7268c8\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=96a3af22&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=96a3af22&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/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","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\n\r\nVue.use(VueRouter);\r\nconst routes = [{\r\n path: \"/dev\",\r\n name: \"Home\",\r\n components: {\r\n default: () =>\r\n import( /* webpackChunkName: \"about\" */ \"../views/Home.vue\"),\r\n },\r\n },\r\n {\r\n path: \"/FunctionFile/Functions.html\"\r\n },\r\n {\r\n path: '/static',\r\n name: 'Static',\r\n // component: () => import('../../public/FunctionFile/Functions.html')\r\n component: () => import('../components/Static.vue')\r\n },\r\n \r\n {\r\n path: \"/about\",\r\n name: \"About\",\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () =>\r\n import( /* webpackChunkName: \"about\" */ \"../views/About.vue\"),\r\n },\r\n {\r\n //containercontext value is read or compose\r\n path: \"/fileemail/:containercontext?/:connection?/:entity?/:entityid?/\",\r\n name: \"fileemail\",\r\n component: () =>\r\n import( /* webpackChunkName: \"fileemail\" */ \"../views/FileEmail/index\"),\r\n },\r\n {\r\n path: \"/history/:connection?/:entity?/:entityid?\",\r\n name: \"history\",\r\n component: () =>\r\n import( /* webpackChunkName: \"history\" */ \"../views/History/index\"),\r\n },\r\n {\r\n path: \"/parseemail/:connection?/:entity?/:entityid?\",\r\n name: \"parseemail\",\r\n component: () =>\r\n import( /* webpackChunkName: \"parseemail\" */ \"../views/ParseEmail/index\"),\r\n },\r\n {\r\n path: \"/timeline/:connection?/:entity?/:entityid?\",\r\n name: \"timeline\",\r\n component: () =>\r\n import( /* webpackChunkName: \"timeline\" */ \"../views/Timeline/index\"),\r\n },\r\n {\r\n path: \"/attachdocuments/:connection?/:entity?/:entityid?\",\r\n name: \"attachdocuments\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"attachdocuments\" */\r\n \"../views/AttachDocuments/index\"\r\n ),\r\n },\r\n {\r\n path: \"/emailtemplates/:connection?/:entity?/:entityid?\",\r\n name: \"emailtemplates\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"emailtemplates\" */\r\n \"../views/EmailTemplates/index\"\r\n ),\r\n },\r\n {\r\n path: \"/order/:connection?/:entity?/:entityid?/:type?\",\r\n name: \"order\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"emailtemplates\" */\r\n \"../views/Order/index\"\r\n ),\r\n },\r\n {\r\n path: \"/editorder/:connection?/:entity?/:entityid?\",\r\n name: \"editorder\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"emailtemplates\" */\r\n \"../views/Order/index\"\r\n ),\r\n },\r\n {\r\n path: \"/task/:connection?/:entity?/:entityid?\",\r\n name: \"task\",\r\n component: () =>\r\n import( /* webpackChunkName: \"task\" */ \"../views/Task/index\"),\r\n },\r\n {\r\n path: \"/logcall/:connection?/:entity?/:entityid?\",\r\n name: \"logcall\",\r\n component: () =>\r\n import( /* webpackChunkName: \"task\" */ \"../views/LogCall/index\"),\r\n },\r\n {\r\n //containercontext=appointment/task/email....as in which inspector window\r\n path: \"/addressbook/:connection?/:containercontext?\",\r\n name: \"addressbook\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"addressbook\" */\r\n \"../views/AddressBook/index\"\r\n ),\r\n },\r\n {\r\n //app is outlook or outlook365\r\n //container is explorer or inspector\r\n //containercontext is read or compose\r\n //searchstring is usually the first TO address...used in compose mode only\r\n //EG mytaskpane/outlook/inspector/compose/someone@domain.com\r\n // DefaultValue=\"https://localhost:3000/#/mytaskpane/outlook365/explorer\" />\r\n path: \"/mytaskpane/:app?/:container?/:containercontext?/:searchstring?/:otherinfo?\",\r\n name: \"mytaskpane\",\r\n alias:\"/\",\r\n components: {\r\n default: () =>\r\n import(\r\n /* webpackChunkName: \"mytaskpane\" */\r\n \"../views/MyTaskPane/index\"\r\n ),\r\n\r\n },\r\n },\r\n {\r\n path: \"/startup/:connectioncounts?/:container?\",\r\n name: \"startup\",\r\n components: {\r\n default: () =>\r\n import( /* webpackChunkName: \"startup\" */ \"../views/StartUp/index\"),\r\n\r\n },\r\n },\r\n {\r\n //container is our outlook app for example\r\n path: \"/firstrun/:container?\",\r\n name: \"firstrun\",\r\n components: {\r\n default: () =>\r\n import( /* webpackChunkName: \"startup\" */ \"../views/FirstRun/index\"),\r\n },\r\n },\r\n {\r\n path: \"/blanko\",\r\n name: \"blanko\",\r\n components: {\r\n default: () =>\r\n import( /* webpackChunkName: \"startup\" */ \"../views/BlankO/index\"),\r\n },\r\n },\r\n {\r\n path: \"/dashboard\",\r\n name: \"Dashboard\",\r\n components: {\r\n default: () =>\r\n import(\r\n /* webpackChunkName: \"mytaskpane\" */\r\n \"../views/MyTaskPane/index\"\r\n ),\r\n },\r\n },\r\n {\r\n path: \"/settings\",\r\n name: \"settings\",\r\n components: {\r\n default: () =>\r\n import(\r\n /* webpackChunkName: \"mytaskpane\" */\r\n \"../views/MyTaskPane/index\"\r\n ),\r\n },\r\n },\r\n {\r\n path: \"/login\",\r\n name: \"login\",\r\n components: {\r\n default: () =>\r\n import( /* webpackChunkName: \"mytaskpane\" */ \"../views/StartUp/index\"),\r\n },\r\n },\r\n {\r\n //app is outlook or outlook365\r\n //container is explorer or inspector\r\n //containercontext is read or compose\r\n //searchstring is usually the first TO address...used in compose mode only\r\n //EG mytaskpane/outlook/inspector/compose/someone@domain.com\r\n // DefaultValue=\"https://localhost:3000/#/mytaskpane/outlook365/explorer\" /> \r\n path: \"/mytaskpanemx/:app?/:container?/:containercontext?/:searchstring?/:otherinfo?\",\r\n name: \"mytaskpanemx\",\r\n components: {\r\n default: () =>\r\n import(\r\n /* webpackChunkName: \"mytaskpanemx\" */\r\n \"../views/MyTaskPane/index\"\r\n ),\r\n },\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"hash\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n});\r\nrouter.onError((error) => {\r\n const pattern = /Loading chunk (\\d)+ failed/g;\r\n const isChunkLoadFailed = error.message.match(pattern);\r\n const targetPath = router.history.pending.fullPath;\r\n console.log(\"targetPath\", targetPath)\r\n if (isChunkLoadFailed) {\r\n // window.location.reload()\r\n router.replace(targetPath);\r\n }\r\n});\r\nexport default router;\r\n\r\n/*\r\nNOTES ON params\r\n\r\n path: '/mytaskpane/:app?/:container?/:containercontext?',\r\n app could be \"outlook\" (our vsto add in) or \"owa\" (office 365)\r\n container can be \"explorer\" or \"inspector\" (inspector is new email/appt ect window)\r\n containercontext can be \"email\", \"appointment\", \"task\"\r\n\r\n EG\r\n http://localhost:8080/#/mytaskpane/outlook/inspector/email\r\n\r\n \r\n\r\n*/","\r\n// \r\n// import { Preferences } from '@capacitor/preferences';\r\n// import entityService from '@/services/Providers/dataSageCRMAccelerator'\r\nconst namespaced = true\r\n\r\n\r\nconst mutations = {\r\n selectEntity(payload) { \r\n console.log(\"entityStore\", payload);\r\n }\r\n\r\n}\r\nconst actions = {\r\n selectEntity({commit}, payload) {\r\n console.log(\"entityStore1\", payload);\r\n // entityService.selectEntity(payload.entity, payload.entityId)\r\n commit('selectEntity', payload); \r\n }\r\n}\r\n\r\nexport default {\r\n namespaced,\r\n // state,\r\n // getters,\r\n actions,\r\n mutations\r\n }\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport entityStore from './entityStore.js'\r\n\r\nimport { Preferences } from '@capacitor/preferences';\r\nconst namespaced = true\r\n\r\nVue.use(Vuex);\r\nexport default new Vuex.Store({\r\n namespaced,\r\n state: {\r\n //layout: 'mobilex-layout', \r\n layout: 'accelerator-layout',\r\n appMode:'AC', //MX or AC\r\n authStatus: '',\r\n authToken: null,\r\n firstrun:false,\r\n activeConnection: {},\r\n activeTabName:'',\r\n selectedConnectionIndex: 0,\r\n connections: [],\r\n currentUser: {},\r\n permissions : {},\r\n navItems: [],\r\n toolbarTitle: \"\",\r\n dataProvider: {},\r\n pushNotifications: []\r\n },\r\n mutations: {\r\n SET_APPMODE (state, payload) {\r\n state.appMode = payload\r\n }, \r\n SET_LAYOUT (state, payload) {\r\n state.layout = payload\r\n }, \r\n add_connection(state, connection) { \r\n //let connectionItem ={title: connection.tabCaption, icon: \"mdi-account-box\", route: \"connection\", connection: connection}\r\n state.connections.push(connection); \r\n Preferences.set({ key: \"connections\", value: JSON.stringify(state.connections)}); \r\n },\r\n auth_request(state){\r\n state.authStatus = 'loading'\r\n },\r\n auth_success(state, connection) { \r\n state.authStatus = 'success' \r\n state.authToken = connection.authToken;\r\n state.currentUser = connection.currentUser.user;\r\n state.navItems = connection.currentUser.navItems;\r\n state.permissions = connection.currentUser.permissions;\r\n },\r\n auth_error(state){\r\n state.authStatus = 'error'\r\n },\r\n logout(state) { \r\n state.authStatus = '';\r\n state.authToken = null; \r\n state.currentUser = {};\r\n state.navItems = []; \r\n \r\n },\r\n set_currentUser(state, b) {\r\n state.currentUser = b;\r\n },\r\n set_fcmToken(state, token) {\r\n state.currentUser.fcmToken = token;\r\n },\r\n set_hasMessages(state, b) {\r\n state.currentUser.hasMessages = b\r\n },\r\n update_connection(state, connection, position, tabName) {\r\n state.activeConnection = connection\r\n state.connections[position] = connection \r\n Preferences.set({ key: \"activeConnection\", value: JSON.stringify(connection)})\r\n Preferences.set({ key: \"activeTabName\", value: JSON.stringify(tabName)}) \r\n Preferences.set({ key: \"connections\", value: JSON.stringify(state.connections)}) \r\n },\r\n set_activeConnection(state, connection) {\r\n state.activeConnection = connection;\r\n state.activeTabName=connection.tabName;\r\n },\r\n set_selectedConnectionIndex(state, index) {\r\n state.selectedConnectionIndex = index;\r\n },\r\n add_push_notification(state, pushData) {\r\n state.pushNotifications.push(pushData)\r\n },\r\n remove_push_notification(state, position) {\r\n state.pushNotifications.splice(position,1);\r\n },\r\n init_store(state, data) { \r\n const c = data.c;\r\n const u = data.defaultConnection;\r\n //this.$applog(\"init_store\", c, u)\r\n if (c != null)\r\n state.connections = JSON.parse(c);\r\n if (u != null) {\r\n let defaultConnection = JSON.parse(u);\r\n state.activeConnection = defaultConnection;\r\n state.activeTabName = defaultConnection.tabName;\r\n state.authToken = defaultConnection.authToken; \r\n state.currentUser = defaultConnection.currentUser.user; \r\n state.permissions = defaultConnection.currentUser.permissions; \r\n state.navItems = defaultConnection.currentUser.navItems;\r\n state.dataProvider = defaultConnection.dataProvider;\r\n }\r\n },\r\n set_toolbarTitle(state, title) {\r\n state.toolbarTitle = title;\r\n },\r\n set_dataProvider(state, provider) {\r\n state.dataProvider = provider; \r\n }\r\n },\r\n getters: {\r\n layout: state => state.layout,\r\n appMode: state => state.appMode,\r\n isLoggedIn: state => state.activeConnection != null && state.activeConnection.authToken != null,\r\n authStatus: state => state.authStatus, \r\n navItems: state => state.navItems, \r\n currentUser(state) {\r\n if (state.currentUser == null) return {}\r\n return state.currentUser\r\n },\r\n activeConnection: state => state.activeConnection,\r\n activeTabName: state => state.activeTabName,\r\n firstrun:state => state.firstrun,\r\n connections: state => state.connections,\r\n toolbarTitle: state => state.toolbarTitle,\r\n fcmToken: state => state.currentUser.fcmToken,\r\n dataProvider: state => state.dataProvider,\r\n userPushNotifications: state => state.pushNotifications,\r\n permissions : state => state.permissions,\r\n entityPermission: state => param => state.permissions[param] || {}\r\n },\r\n actions: { \r\n setAppmode({commit}, appmode) {\r\n commit('SET_APPMODE', appmode)\r\n },\r\n addConnection({commit}, connection) { \r\n commit('add_connection', connection); \r\n },\r\n login({commit}, connection, position) { \r\n commit('auth_request');\r\n \r\n return Preferences.set({key: \"activeConnection\", value: JSON.stringify(connection)}).then(()=> { \r\n commit('auth_success', connection);\r\n commit('update_connection', connection, position);\r\n });\r\n },\r\n logout({commit}, logOutConnection) { \r\n logOutConnection.currentUser = {};\r\n logOutConnection.authToken = null;\r\n Preferences.set({key: \"activeTabName\", value: ''});\r\n return Preferences.set({key: \"activeConnection\", value: JSON.stringify(logOutConnection)}).then(()=>{\r\n commit('logout');\r\n commit('update_connection', logOutConnection);\r\n }) \r\n },\r\n async logoutAll() {\r\n await Preferences.remove({key: \"activeTabName\"});\r\n return await Preferences.remove({key: \"activeConnection\"});\r\n }\r\n },\r\n modules: {\r\n entityStore: entityStore\r\n }\r\n})\r\n","// eslint-disable-next-line\r\nimport {applog} from '@/services/applog.js'\r\n\r\n\r\nimport { Preferences } from '@capacitor/preferences';\r\n\r\n//this is essentially our mailbox database\r\nexport class MailBox {\r\n\r\n emailObjects=[];//all selected emails\r\n\r\n devEmail={\"from\":{\"displayName\":\"Majella O'Connor\",\"emailAddress\":\"majella@crmtogether.com\",\"type\":null},\"replyto\":null,\"fullName\":\"Majella O'Connor\",\"phoneNumbers\":[],\"to\":[{\"displayName\":\"Marc Reidy\",\"emailAddress\":\"marc@crmtogether.com\",\"type\":null}],\"cc\":[],\"bcc\":[],\"subject\":\"FW: NEW OPPORTUNITIES TODAY\",\"body\":\"This is wrong as I couldn’t complete oppo creation in CRM with the new version Presume they will be pulled into tomorrows stats? From: CRM Together Sent: 03 February 2021 17:30 To: Majella O'Connor Subject: NEW OPPORTUNITIES TODAY Opportunities Created [03 Feb 2021] SoundPro AC and CM Product: Accelerator [Blytheco] (Robert Newman) Forecast: 0 Territory: North America \",\"htmlBody\":\"

This is wrong as I couldn’t complete oppo creation in CRM with the new version

Presume they will be pulled into tomorrows stats?

 

From: CRM Together <sagecrm@crmtogether.com>
Sent: 03 February 2021 17:30
To: Majella O'Connor <majella@crmtogether.com>
Subject: NEW OPPORTUNITIES TODAY

 

Opportunities Created [03 Feb 2021]
SoundPro AC and CM
Product: Accelerator
[Blytheco]
(Robert Newman)
Forecast: 0
Territory: North America

\",\"attachments\":[{\"id\":\"FW: NEW OPPORTUNITIES TODAY.msg\",\"name\":\"FW: NEW OPPORTUNITIES TODAY.msg\",\"caption\":\"FW: NEW OPPORTUNITIES TODAY.msg\",\"size\":\"72631\",\"filename\":\"FW: NEW OPPORTUNITIES TODAY.msg\",\"type\":\"emailasattachment\",\"base64\":null,\"value\":false}],\"entryid\":\"000000008D29C22795ED0F43AE13B26188F01E9A0700774E149E6B7EAB44AD9FF58B53D5D33C00000000010C0000774E149E6B7EAB44AD9FF58B53D5D33C000323869D7C0000\",\"urls\":[],\"addresses\":null,\"sentItem\":false,\"receivedDateTime\":{\"year\":2021,\"month\":2,\"day\":3,\"hour\":17,\"minute\":50,\"second\":37,\"raw\":\"2021-02-03T17:50:37.229\",\"rawutc\":\"2021-02-03T17:50:37.229Z\",\"TZ\":{\"StandardName\":\"GMT Standard Time\",\"DaylightName\":\"GMT Summer Time\"}},\"sentDateTime\":{\"year\":2021,\"month\":2,\"day\":3,\"hour\":17,\"minute\":50,\"second\":34,\"raw\":\"2021-02-03T17:50:34\",\"rawutc\":\"2021-02-03T17:50:34Z\",\"TZ\":{\"StandardName\":\"GMT Standard Time\",\"DaylightName\":\"GMT Summer Time\"}},\"companies\":null}\r\n\r\n _changeEmailHandlers;\r\n _changeEmailHandlersConnector;//these 2 items have an event and the connection they are for\r\n\r\n _queueHandlers;\r\n _queueHandlersConnector;\r\n\r\n appContainer;\r\n\r\n constructor(_appContainer) {\r\n this.appContainer=_appContainer;\r\n this._changeEmailHandlers=[];\r\n this._changeEmailHandlersConnector=[];\r\n\r\n this._queueHandlers=[];\r\n this._queueHandlersConnector=[];\r\n }\r\n\r\n assignHandler(_event,_connector)\r\n {\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('MailBox assignHandler:'+_connector);\r\n this._changeEmailHandlers.push(_event);\r\n this._changeEmailHandlersConnector.push(_connector);\r\n }\r\n assignQueueHandler(_event,_connector)\r\n {\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('MailBox assignQueueHandler');\r\n this._queueHandlers.push(_event);\r\n this._queueHandlersConnector.push(_connector); \r\n }\r\n //vueAppInstance.$mailbox.ping();\r\n ping(){\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('MailBox mailbox ping');\r\n }\r\n\r\n //vueAppInstance.$mailbox.getCurrentItem();\r\n getCurrentItem(){\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('MailBox getCurrentItem');\r\n console.log('MailBox getCurrentItem', this.emailObjects);\r\n if (this.emailObjects.length==0)\r\n {\r\n try{\r\n var _ged =this.appContainer.getEmailData('taskpane');\r\n if (_ged)\r\n {\r\n return JSON.parse(_ged);\r\n }\r\n }catch(e){\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('mailbox getCurrentItem error:'+e.message);\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('mailbox getCurrentItem error #2:'+JSON.stringify(this.appContainer));\r\n return null;\r\n }\r\n }\r\n /*\r\n uncomment for dev\r\n if (this.emailObjects.length==0)\r\n {\r\n this.emailObjects.push(this.devEmail);\r\n }*/\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('mailbox getCurrentItem emailObjects:'+JSON.stringify(this.emailObjects[0]));\r\n return this.emailObjects[0];\r\n }\r\n \r\n getSelectedItems(){\r\n return this.emailObjects;\r\n }\r\n\r\n //vueAppInstance.$mailbox.changeSelectedEmail(_emailObject);//this is called by our container..EG our vsto add in or 365 stuff\r\n changeSelectedEmail = function (_emailObject) {\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog('mailbox changeSelectedEmail:');\r\n\r\n let json_emailObj=JSON.parse(_emailObject); \r\n this.emailObjects[0]=json_emailObj; \r\n\r\n Preferences.get({ key: \"activeTabName\" }).then((activeTabName) => {\r\n console.log(\"this._changeEmailHandlersConnector\", this._changeEmailHandlersConnector)\r\n for (var zz=0;zz {\r\n for (var zz=0;zz iframeResize(value, el))\r\n// },\r\n// unbind: function (el) {\r\n// el.iFrameResizer.removeListeners();\r\n// }\r\n// })\r\n//Amplify.configure(aws_exports);\r\n/*applyPolyfills().then(() => {\r\n defineCustomElements(window);\r\n});\r\n*/\r\n\r\nimport VueLocalStorage from \"vue-localstorage\";\r\n// eslint-disable-next-line\r\n//import DataFactoryClass from '@/services/dataFactory'\r\n\r\nVue.prototype.moment = moment;\r\nVue.prototype.$extrasmall = 500;\r\nVue.prototype.$small = 650;\r\nVue.config.productionTip = false;\r\n\r\n// const appMode = store.getters.appMode;\r\nimport { Capacitor } from \"@capacitor/core\";\r\n\r\nconsole.log(\"check where we are--\", Capacitor.getPlatform());\r\nvar appMode = \"\";\r\n\r\nif (Capacitor.getPlatform() == \"web\") {\r\n appMode = \"AC\";\r\n} else {\r\n //Values here are ...\r\n appMode = \"MX\";\r\n}\r\n\r\nappMode = \"MX\"; //currently for testing. need to remove later\r\n\r\nstore.dispatch(\"setAppmode\", appMode);\r\n// store.actions.setAppmode(appMode);\r\n//NOTE ON AWS AMPLIFY....IT BREAKS IE11...THIS IS AN ISSUE FOR US\r\n\r\n//import { registerWebPlugin } from '@capacitor/core';\r\n//registerWebPlugin(Plugins);\r\n// Vue.use(Plugins)\r\n\r\nif (appMode == \"MX\") {\r\n Vue.prototype.$appContainer = new MobileAppContainer();\r\n} else if (appMode == \"AC\") {\r\n //now...whats our container?....not the most elegant i admit\r\n try {\r\n window.external.getHost();\r\n Vue.prototype.$appContainer = new OutlookAppContainer();\r\n } catch (e) {\r\n try {\r\n //got to try for our webview2 version\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.getHost();\r\n Vue.prototype.$appContainer = new OutlookAppContainerWebview(\r\n window.Office\r\n );\r\n } catch (ee) {\r\n Vue.prototype.$appContainer = new Office365Container(window.Office);\r\n }\r\n }\r\n Vue.prototype.$mailbox = new MailBox(Vue.prototype.$appContainer);\r\n}\r\nVue.use(VueLocalStorage);\r\n\r\nVue.use(VueI18n);\r\nconst i18n = new VueI18n({\r\n locale: \"en\",\r\n messages,\r\n silentTranslationWarn: true, //costi 12 nov -disable fallback trasnlation log on the console\r\n});\r\n\r\n// Preferences.get({ key : \"appLanguage\"}).then(key => {\r\n// if (key.value==null)\r\n// {\r\n// i18n.locale = navigator.language;\r\n// }else{\r\n// i18n.locale = key.value;\r\n// }\r\n// //TO TEST LANGUAGES....\r\n// // i18n.locale = 'en';\r\n// });\r\n\r\nexport const bus = new Vue();\r\nfunction mainRun() {\r\n window.vueAppInstance = new Vue({\r\n i18n,\r\n router,\r\n store,\r\n polyfill,\r\n MailBox,\r\n OutlookAppContainer,\r\n Office365Container,\r\n vuetify,\r\n vueCrypt,\r\n iconfont: \"mdi\",\r\n render: (h) => h(App),\r\n methods: {\r\n ...mapActions([\"setAppmode\"]),\r\n async changeRoute(_name, _params) {\r\n //used by our windows app to navigate the dialogs\r\n this.$applog(\"main changeRoute\");\r\n this.$applog(\"main changeRoute name:\" + _name);\r\n this.$applog(\"main changeRoute params:\" + JSON.stringify(_params));\r\n //window.vueAppInstance.changeRoute('someroute',{ some param object }) ---should be called from taskpane..dialog to taskpane is the direction\r\n this.$router.push({ name: _name, params: _params });\r\n this.$applog(\"main changeRoute COMPLETE\");\r\n },\r\n async processMessageQ() {\r\n // window.vueAppInstance.processMessageQ() //---should be called from taskpane..dialog to taskpane is the direction\r\n //this.$applog('main processMessageQ');//CHANGED HERE AS MIGHT NOT BE WORKING ALL THE TIME\r\n try {\r\n console.log(\"main processMessageQ\");\r\n window.external.consolelog(\"main processMessageQ\");\r\n } catch (e) {\r\n try {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.consolelog(\r\n \"main processMessageQ\"\r\n );\r\n } catch (ee) {\r\n //ignore\r\n }\r\n }\r\n window.vueAppInstance.$mailbox.processQueue();\r\n try {\r\n console.log(\"main processMessageQ COMPLETE\");\r\n window.external.consolelog(\"main processMessageQ COMPLETE\");\r\n } catch (e) {\r\n try {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.consolelog(\r\n \"main processMessageQ COMPLETE\"\r\n );\r\n } catch (ee) {\r\n //ignore\r\n }\r\n }\r\n //this.$applog('main processMessageQ COMPLETE');\r\n },\r\n },\r\n }).$mount(\"#app\");\r\n}\r\nconsole.log(\r\n \"Vue.prototype.$appContainer.classname:\" +\r\n Vue.prototype.$appContainer.classname\r\n);\r\nif (Vue.prototype.$appContainer.classname == \"Office365Container\") {\r\n console.log(\"365 mode:true\");\r\n window.addEventListener(\"load\", (event) => {\r\n console.log(\"365 page is fully loaded:\" + JSON.stringify(event));\r\n // console.log('ddd', window.Office.actions);\r\n if (window.Office) {\r\n window.Office.onReady().then(function () {\r\n console.log(\"Office.onReady called:\");\r\n mainRun();\r\n // eslint-disable-next-line\r\n window.setup365Container();\r\n });\r\n } else {\r\n mainRun();\r\n }\r\n });\r\n} else {\r\n mainRun();\r\n}\r\n\r\nif (window.addEventListener) {\r\n // For standards-compliant web browsers\r\n window.addEventListener(\"message\", testMessageFromIframe);\r\n} else {\r\n window.attachEvent(\"onmessage\", testMessageFromIframe);\r\n}\r\n\r\nfunction testMessageFromIframe(evt) {\r\n console.log(\"testMessageFromIframe evt \" + JSON.stringify(evt));\r\n console.log(\"testMessageFromIframe data \" + JSON.stringify(evt.data));\r\n if (evt.data.action == \"changeSelectedEmail\") {\r\n // eslint-disable-next-line\r\n vueAppInstance.$mailbox.changeSelectedEmail(\r\n JSON.stringify(evt.data.emailObject)\r\n );\r\n } else {\r\n console.log(\"testMessageFromIframe evt.data.action not matched.\");\r\n }\r\n}\r\n","// https://tc39.github.io/ecma262/#sec-array.prototype.includes\r\nif (!Array.prototype.includes) {\r\n Object.defineProperty(Array.prototype, 'includes', {\r\n value: function(searchElement, fromIndex) {\r\n \r\n if (this == null) {\r\n throw new TypeError('\"this\" is null or not defined');\r\n }\r\n \r\n // 1. Let O be ? ToObject(this value).\r\n var o = Object(this);\r\n \r\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\r\n var len = o.length >>> 0;\r\n \r\n // 3. If len is 0, return false.\r\n if (len === 0) {\r\n return false;\r\n }\r\n \r\n // 4. Let n be ? ToInteger(fromIndex).\r\n // (If fromIndex is undefined, this step produces the value 0.)\r\n var n = fromIndex | 0;\r\n \r\n // 5. If n ≥ 0, then\r\n // a. Let k be n.\r\n // 6. Else n < 0,\r\n // a. Let k be len + n.\r\n // b. If k < 0, let k be 0.\r\n var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\r\n \r\n function sameValueZero(x, y) {\r\n return x === y || (typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y));\r\n }\r\n \r\n // 7. Repeat, while k < len\r\n while (k < len) {\r\n // a. Let elementK be the result of ? Get(O, ! ToString(k)).\r\n // b. If SameValueZero(searchElement, elementK) is true, return true.\r\n if (sameValueZero(o[k], searchElement)) {\r\n return true;\r\n }\r\n // c. Increase k by 1. \r\n k++;\r\n }\r\n \r\n // 8. Return false\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n ","// eslint-disable-next-line\r\nimport {applog} from '@/services/applog.js'\r\n\r\n\r\nimport { Preferences } from '@capacitor/preferences';\r\n\r\nexport class MobileAppContainer {\r\n\r\n classname;\r\n\r\n constructor() {\r\n this.classname='MobileAppContainer';\r\n }\r\n\r\n setContext(connectionName, Entity, Entityid)\r\n {\r\n this.consolelog(\"MobileAppContainer setContext:\"+connectionName+\"/\"+Entity+\"/\"+Entityid);\r\n // const payload = {\r\n // connectionName,\r\n // Entity,\r\n // Entityid\r\n // }\r\n // window.vueAppInstance.$localStorage.set(\r\n // \"setContextData\",\r\n // payload\r\n // );\r\n Preferences.set({ key: \"activeTabName\", value: connectionName });\r\n Preferences.set({ key: \"Entity\", value: Entity+\"\" });\r\n Preferences.set({ key: \"Entityid\", value: Entityid+\"\" });\r\n\r\n // window.vueAppInstance.$localStorage.set(\"Entity\", Entity);\r\n // window.vueAppInstance.$localStorage.set(\"Entityid\", Entityid);\r\n \r\n }\t\r\n\r\n OpenExternalURL(url)\r\n {\r\n window.open(url);\r\n }\r\n\r\n consolelog(msg)\r\n {\r\n console.log(msg);\r\n }\r\n\r\n async popupCenter(urlname, url, _datastring, params){\r\n this.consolelog(\"MobileAppContainer popupCenter:\"+urlname);\r\n this.consolelog(\"url:\"+url);\r\n this.consolelog(urlname, url, _datastring, params);\r\n }\r\n \r\n newtask(dataAsString){\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n newappt(dataAsString){\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n newemail(dataAsString){\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n setInstanceSettings(connectionName,instanceSettingsAsString)\r\n {\r\n this.consolelog(connectionName+\"=\"+instanceSettingsAsString);\r\n }\r\n\r\n buttonAction(senderDialog,dialogAction,senderData){\r\n this.consolelog(\"MobileAppContainer buttonAction:\"+senderDialog+\"=\"+dialogAction+\"=\"+senderData);\r\n }\r\n\r\n fileUpload(dataAsString){\r\n this.consolelog(\"MobileAppContainer fileUpload\");\r\n this.consolelog(dataAsString);\r\n }\r\n \r\n}","// eslint-disable-next-line\r\nimport { applog } from \"@/services/applog.js\";\r\nimport axios from \"axios\";\r\nimport DOMPurify from \"dompurify\";\r\nimport { Preferences } from \"@capacitor/preferences\";\r\n\r\nlet dialog;\r\n\r\nexport class Office365Container {\r\n classname;\r\n\r\n constructor() {\r\n this.classname = \"Office365Container\";\r\n // Set up ItemChanged event\r\n }\r\n\r\n OpenExternalURL(url) {\r\n window.open(url);\r\n }\r\n\r\n setContext(connectionName, Entity, Entityid) {\r\n this.consolelog(\r\n \"Office365Container setContext:\" +\r\n connectionName +\r\n \"/\" +\r\n Entity +\r\n \"/\" +\r\n Entityid\r\n );\r\n // const payload = {\r\n // connectionName,\r\n // Entity,\r\n // Entityid\r\n // }\r\n // window.vueAppInstance.$localStorage.set(\r\n // \"setContextData\",\r\n // payload\r\n // );\r\n Preferences.set({ key: \"activeTabName\", value: connectionName });\r\n Preferences.set({ key: \"Entity\", value: Entity + \"\" });\r\n Preferences.set({ key: \"Entityid\", value: Entityid + \"\" });\r\n\r\n // window.vueAppInstance.$localStorage.set(\"Entity\", Entity);\r\n // window.vueAppInstance.$localStorage.set(\"Entityid\", Entityid);\r\n }\r\n\r\n consolelog(msg) {\r\n console.log(msg);\r\n }\r\n addEmailTo(email) {\r\n console.log(\"addEmailTo\", email, window.Office);\r\n\r\n var item = window.Office.context.mailbox.item;\r\n item.to.setAsync(email);\r\n }\r\n\r\n async popupCenter(urlname, url, _datastring, params) {\r\n this.consolelog(\"Office365Container popupCenter:\" + urlname);\r\n this.consolelog(\"url:\" + url);\r\n this.consolelog(urlname, url, _datastring, params);\r\n let realurl = \"\";\r\n var __url = new String(url);\r\n if (urlname == \"task\") {\r\n //url should be\r\n //https://localhost:3000/#/task/SageCRM/company/205\r\n //but comes in as\r\n //https://localhost:3000/?et=#/mytaskpane/outlook365/explorer/#/task/SageCRM/company/205\r\n var __urlarray2 = __url.split(urlname + \"/\");\r\n var _urlpart12 = __urlarray2[0].split(\"?\");\r\n realurl = _urlpart12[0] + \"#/\" + urlname + \"/\" + __urlarray2[1];\r\n this.consolelog(\"realurl task:\" + realurl);\r\n } else {\r\n //we need to fix up ...url\r\n //example url is\r\n //https://localhost:3000/?et=#/mytaskpane/outlook365/explorer/#/fileemail/read/false/SageCRM/person/1779\r\n //we need\r\n //https://localhost:3000/#/fileemail/read/false/SageCRM/person/1779\r\n //so lets do it...\r\n var __urlarray = __url.split(urlname);\r\n var _urlpart1 = __urlarray[0].split(\"?\");\r\n realurl = _urlpart1[0] + \"#/\" + urlname + __urlarray[1];\r\n console.log(\"realurl fileemail:\" + realurl);\r\n let _EmailData = null;\r\n\r\n if (window.Office.context.mailbox) {\r\n // eslint-disable-next-line\r\n var item = window.Office.context.mailbox.item;\r\n\r\n _EmailData = await this.__item365toOurEmailObject(item);\r\n console.log(\"windowoffic-item:\", _EmailData);\r\n await this.__storeLastViewedItem(_EmailData, \"popupCenter\");\r\n await this.__getBodyText(item);\r\n console.log(\"getbodytext end\");\r\n } else {\r\n this.consolelog(\"getEmailData Office365Container: Office not found #1\");\r\n //get from local storage\r\n var itemAsString = await window.vueAppInstance.$localStorage.get(\r\n \"Office.context.mailbox.item\"\r\n );\r\n //var itemAsString=(await Preferences.get({key:'Office.context.mailbox.item'})).value;\r\n // _EmailData=JSON.parse(itemAsString);\r\n _EmailData = itemAsString;\r\n }\r\n }\r\n var _that = this;\r\n // eslint-disable-next-line\r\n console.log(\r\n \"window.Office.context.ui\",\r\n JSON.stringify(window.Office.context.ui, function (key, value) {\r\n if (typeof value === \"function\") {\r\n return value.toString();\r\n } else {\r\n return value;\r\n }\r\n })\r\n );\r\n var contextUi = JSON.stringify(\r\n window.Office.context.ui,\r\n function (key, value) {\r\n if (typeof value === \"function\") {\r\n return value.toString();\r\n } else {\r\n return value;\r\n }\r\n }\r\n );\r\n\r\n // eslint-disable-next-line\r\n Preferences.set({ key: \"window.Office.context.ui\", value: contextUi });\r\n // eslint-disable-next-line\r\n window.Office.context.ui.displayDialogAsync(\r\n realurl,\r\n function (asyncResult) {\r\n console.log(\"bbbbb\", window.Office.EventType.DialogMessageReceived);\r\n dialog = asyncResult.value;\r\n dialog.addEventHandler(\r\n window.Office.EventType.DialogMessageReceived,\r\n _that.processMessage\r\n );\r\n dialog.addEventHandler(\r\n window.Office.EventType.DialogEventReceived,\r\n _that.dialogClosed\r\n );\r\n },\r\n { height: 50, width: 60, displayInIframe: true, promptBeforeOpen: false }\r\n );\r\n }\r\n\r\n // callback(result) {\r\n // if (result.error) {\r\n // console.log(result.error);\r\n // } else {\r\n // console.log(\"Attachment added\");\r\n // }\r\n // }\r\n dialogClosed() {\r\n console.log(\"eee\");\r\n dialog = null;\r\n }\r\n async processMessage(arg) {\r\n console.log(\"processMessage\");\r\n var messageFromDialog = JSON.parse(arg.message);\r\n console.log(\"processMessage messageType:\" + messageFromDialog.messageType);\r\n if (messageFromDialog.messageType === \"selectHistoryEntity\") {\r\n console.log(\"selectHistoryEntity:\" + arg.message);\r\n window.vueAppInstance.processMessageQ();\r\n } else if (messageFromDialog.messageType === \"parseEmail\") {\r\n console.log(\"parseEmail:\" + arg.message);\r\n window.vueAppInstance.processMessageQ();\r\n } else if (messageFromDialog.messageType === \"updateProps\") {\r\n let _payload = messageFromDialog.payload;\r\n console.log(\r\n \"processMessage Office365container updateprops:\" +\r\n JSON.stringify(_payload)\r\n );\r\n _customPropertiesweSet = _payload.data.customproperties;\r\n // eslint-disable-next-line\r\n Office.context.mailbox.item.loadCustomPropertiesAsync(\r\n customPropsCallback\r\n ); ///customPropsCallback uses _customPropertiesweSet\r\n } else if (messageFromDialog.messageType === \"attachDocuments\") {\r\n let _payload = JSON.parse(messageFromDialog.payload);\r\n var attachmentURL = _payload.link;\r\n var attachmentName = _payload.filename;\r\n console.log(\r\n \"processMessage Office365container attachDocuments:\",\r\n _payload\r\n );\r\n console.log(\r\n \"processMessage Office365container attachmentURL:\",\r\n attachmentURL\r\n );\r\n console.log(\r\n \"processMessage Office365container attachmentName:\",\r\n attachmentName\r\n );\r\n\r\n let connections = (await Preferences.get({ key: \"connections\" })).value;\r\n let connectionsData = JSON.parse(connections);\r\n var connectionClass = connectionsData[0].connectionClass;\r\n if (\r\n connectionClass == \"MyTaskPaneEntityDataSageCRMAcceleratorPortalClass\"\r\n ) {\r\n let authobject = (\r\n await Preferences.get({\r\n key: connectionsData[0].tabName + \"_authobject\",\r\n })\r\n ).value;\r\n let authobjectData = JSON.parse(authobject);\r\n console.log(\"365-authobjectData\", authobjectData);\r\n\r\n //add token on only acplus case\r\n attachmentURL += \"&token=\" + authobjectData.sid;\r\n }\r\n\r\n console.log(\"365-attachmentURL\", attachmentURL);\r\n // eslint-disable-next-line\r\n Office.context.mailbox.item.addFileAttachmentAsync(\r\n attachmentURL,\r\n attachmentName,\r\n { asyncContext: null },\r\n function (asyncResult) {\r\n // eslint-disable-next-line\r\n if (asyncResult.status === Office.AsyncResultStatus.Failed) {\r\n console.log(\"attach error-\", asyncResult.error.message);\r\n } else {\r\n var attachmentID = asyncResult.value;\r\n console.log(\"ID of added attachment: \" + attachmentID);\r\n }\r\n }\r\n );\r\n // dialog.close()\r\n // dialog = null;\r\n } else if (messageFromDialog.messageType === \"fileUpload\") {\r\n let _payload = messageFromDialog.payload;\r\n console.log(\"fileUpload _payload:\" + JSON.stringify(_payload));\r\n // eslint-disable-next-line\r\n var _item = Office.context.mailbox\r\n ? Office.context.mailbox.item\r\n : window.vueAppInstance.$localStorage.get(\r\n \"Office.context.mailbox.item\"\r\n );\r\n //var _item = window.Office.context.mailbox ? window.Office.context.mailbox .item : (await Storage.get({key:'Office.context.mailbox.item'})).value\r\n console.log(\"item---\", _item);\r\n _item.getAttachmentContentAsync(_payload.senderid, async (result) => {\r\n console.log(\"getAttachmentContentAsync result:\" + result);\r\n console.log(JSON.stringify(result));\r\n\r\n // Parse string to be a url, an .eml file, a base64-encoded string, or an .icalendar file.\r\n // eslint-disable-next-line\r\n let __AttachmentContentFormat =\r\n window.Office.MailboxEnums.AttachmentContentFormat;\r\n //console.log(JSON.stringify(result));\r\n //result.value.content contains the value\r\n\r\n let connections = (await Preferences.get({ key: \"connections\" })).value;\r\n let connectionsData = JSON.parse(connections);\r\n var connectionClass = connectionsData[0].connectionClass;\r\n if (connectionClass == \"MyTaskPaneEntityDataDataIslandsSage300Class\") {\r\n console.log(\"MyTaskPaneEntityDataDataIslandsSage300Class-\");\r\n const requestConfig = {\r\n headers: {\r\n \"Content-Type\": \"application/json;charset=utf8\",\r\n },\r\n };\r\n const token = (await Preferences.get({ key: \"token\" })).value;\r\n axios.defaults.headers.common = { Authorization: `Bearer ${token}` };\r\n var payload = {\r\n Stream: result.value.content,\r\n FileName: _payload.name,\r\n };\r\n var uploadfileRes = await axios.post(\r\n _payload.link,\r\n JSON.stringify(JSON.stringify(payload)),\r\n requestConfig\r\n );\r\n console.log(\"uploadfileRes-\", uploadfileRes);\r\n } else {\r\n switch (result.value.format) {\r\n case __AttachmentContentFormat.Base64: {\r\n // Handle file attachment as base64\r\n console.log(\"__handleAttachmentCallback Base64 START\");\r\n //console.log(result.value.content);\r\n console.log(\"__handleAttachmentCallback Base64 END\");\r\n console.log(\r\n \"__handleAttachmentCallback _payload.type:\" + _payload.type\r\n );\r\n console.log(\r\n \"__handleAttachmentCallback _payload.link:\" + _payload.link\r\n );\r\n\r\n //var blob= __b64toBlob(\"data:\"+_payload.type+\";base64,\"+result.value.content, _payload.type);\r\n var blob = __b64toBlob(result.value.content, _payload.type);\r\n console.log(\"blob:\", blob);\r\n\r\n var xfile = getbase64File(\r\n \"data:\" + _payload.type + \";base64,\" + result.value.content,\r\n _payload.name\r\n );\r\n console.log(\"xfile:\", xfile);\r\n\r\n var formDataToUpload = new FormData();\r\n formDataToUpload.append(\"file\", xfile);\r\n console.log(\r\n \"formDataToUpload\",\r\n formDataToUpload,\r\n JSON.stringify(formDataToUpload)\r\n );\r\n\r\n const headers = {\r\n \"Content-Type\": \"multipart/form-data\",\r\n };\r\n console.log(\r\n \"__handleAttachmentCallback axios post\",\r\n JSON.stringify(formDataToUpload)\r\n );\r\n /*\r\n let ssarr=_payload.link.split(\"SID=\");\r\n _payload.link=\"http://localhost:1898/ac2020fupload.aspx?\"+ssarr[1];\r\n console.log(_payload.link);\r\n */\r\n axios\r\n .post(_payload.link, formDataToUpload, {\r\n headers: headers,\r\n })\r\n .then(function () {\r\n console.log(\"Attachment SUCCESS!!\");\r\n })\r\n .catch(function () {\r\n console.log(\"Attachment FAILURE!!\");\r\n });\r\n break;\r\n }\r\n case __AttachmentContentFormat.Eml:\r\n console.log(\"__handleAttachmentCallback Eml\");\r\n // Handle email item attachment.\r\n break;\r\n case __AttachmentContentFormat.ICalendar:\r\n console.log(\"__handleAttachmentCallback ICalendar\");\r\n // Handle .icalender attachment.\r\n break;\r\n case __AttachmentContentFormat.Url:\r\n console.log(\"__handleAttachmentCallback Url\");\r\n // Handle cloud attachment.\r\n break;\r\n default:\r\n // Handle attachment formats that are not supported.\r\n this.consolelog(\"__handleAttachmentCallback Url\");\r\n }\r\n }\r\n });\r\n } else if (messageFromDialog.messageType === \"dialogClosed\") {\r\n console.log(\"dialogClosed-type11\", messageFromDialog);\r\n dialog.close();\r\n dialog = null;\r\n }\r\n }\r\n\r\n replytagemail(dataAsString) {\r\n console.log(\"outlook365-replytagemail\", dataAsString);\r\n console.log(\"window-\", window);\r\n window.external.replytagemail(dataAsString);\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n getDocuments(dataAsString) {\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n removeTag(tagPrefixSuffix) {\r\n console.log(\"outlook365-removetag\", tagPrefixSuffix);\r\n }\r\n\r\n tagEmail(dataAsString) {\r\n console.log(\"outlook365-tagemail\", dataAsString);\r\n console.log(\r\n \"outlook365-tagemail\",\r\n window.Office.context.mailbox.item.categories\r\n );\r\n\r\n // const masterCategoriesToAdd = [\r\n // {\r\n // displayName: \"TestCategory\",\r\n // color: window.Office.MailboxEnums.CategoryColor.Preset0\r\n // }\r\n // ];\r\n window.Office.context.mailbox.item.categories.addAsync(\r\n \"ddd\",\r\n function (asyncResult) {\r\n if (asyncResult.status === window.Office.AsyncResultStatus.Succeeded) {\r\n console.log(`Successfully assigned category ' to item.`);\r\n } else {\r\n console.log(\r\n \"categories.addAsync call failed with error: \" +\r\n asyncResult.error.message\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n newtask(dataAsString) {\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n newappt(dataAsString) {\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n newemail(dataAsString) {\r\n this.consolelog(dataAsString);\r\n }\r\n\r\n setInstanceSettings(connectionName, instanceSettingsAsString) {\r\n this.consolelog(connectionName + \"=\" + instanceSettingsAsString);\r\n }\r\n\r\n SelectionChange() {\r\n console.log(\"Office365Container selectionchange\");\r\n }\r\n\r\n // Write to a div with id='message' on the page.\r\n\r\n write(message) {\r\n document.getElementById(\"message\").innerText += message;\r\n }\r\n\r\n // setSubject() {\r\n // var today = new Date();\r\n // var subject;\r\n // var item;\r\n\r\n // // Customize the subject with today's date.\r\n // subject = 'Summary for ' + today.toLocaleDateString();\r\n\r\n // item.subject.setAsync(\r\n // subject,\r\n // { asyncContext: { var1: 1, var2: 2 } },\r\n // function (asyncResult) {\r\n // if (asyncResult.status == window.Office.AsyncResultStatus.Failed){\r\n // write(asyncResult.error.message);\r\n // }\r\n // else {\r\n // // Successfully set the subject.\r\n // // Do whatever appropriate for your scenario\r\n // // using the arguments var1 and var2 as applicable.\r\n // }\r\n // });\r\n // }\r\n\r\n messageParent(jsonMessage) {\r\n var officeUi = window.Office.context.ui;\r\n console.log(\"window.Office\", window.Office);\r\n if (window.Office) {\r\n window.Office.context.ui.messageParent(jsonMessage);\r\n } else {\r\n if (officeUi !== null && officeUi !== undefined) {\r\n officeUi.messageParent(jsonMessage);\r\n } else {\r\n window.external.MessageParent(jsonMessage);\r\n }\r\n }\r\n }\r\n buttonAction(senderDialog, dialogAction, senderData) {\r\n this.consolelog(\r\n \"buttonAction:\" + senderDialog + \"=\" + dialogAction + \"=\" + senderData\r\n );\r\n var messageObject;\r\n var jsonMessage;\r\n // eslint-disable-next-line\r\n //ref: https://docs.microsoft.com/en-us/office/dev/add-ins/develop/dialog-api-in-office-add-ins\r\n\r\n if (senderDialog == \"History\") {\r\n messageObject = {\r\n messageType: \"selectHistoryEntity\",\r\n payload: senderData,\r\n };\r\n jsonMessage = JSON.stringify(messageObject);\r\n // window.Office.context.ui.messageParent(jsonMessage);\r\n this.messageParent(jsonMessage);\r\n } else if (senderDialog == \"ParseEmail\") {\r\n messageObject = { messageType: \"parseEmail\", payload: senderData };\r\n jsonMessage = JSON.stringify(messageObject);\r\n this.messageParent(jsonMessage);\r\n } else if (senderDialog == \"EmailTemplates\") {\r\n this.consolelog(\"email template insert\");\r\n messageObject = { messageType: \"emailTemplate\", payload: senderData };\r\n jsonMessage = JSON.stringify(messageObject);\r\n this.messageParent(jsonMessage);\r\n } else if (senderDialog == \"AttachDocuments\") {\r\n messageObject = { messageType: \"attachDocuments\", payload: senderData };\r\n jsonMessage = JSON.stringify(messageObject);\r\n this.messageParent(jsonMessage);\r\n } else if (senderDialog == \"AddressBook\") {\r\n messageObject = { messageType: \"addressBook\", payload: senderData };\r\n jsonMessage = JSON.stringify(messageObject);\r\n this.messageParent(jsonMessage);\r\n } else if (senderDialog == \"FileEmail\") {\r\n messageObject = { messageType: \"fileUpload\", payload: senderData };\r\n // console.log(\"FileEmail112\", JSON.stringify(messageObject))\r\n // // jsonMessage.message = JSON.stringify(messageObject);\r\n // var tempObj = JSON.stringify(messageObject);\r\n // jsonMessage = {\r\n // message:tempObj\r\n // }\r\n // console.log(\"ddd\", window.localStorage.getItem('officeContext'))\r\n // console.log(\"eeee\", window.Office.MailboxEnums)\r\n // this.processMessage(jsonMessage)\r\n }\r\n\r\n if (dialogAction == \"close\" || dialogAction == \"ok\") {\r\n messageObject = { messageType: \"dialogClosed\" };\r\n if (senderDialog == \"EmailTemplates\") {\r\n window.vueAppInstance.$localStorage.remove(\"Entity\");\r\n window.vueAppInstance.$localStorage.remove(\"Entityid\");\r\n }\r\n jsonMessage = JSON.stringify(messageObject);\r\n console.log(\"dialogClosed\", jsonMessage);\r\n\r\n this.messageParent(jsonMessage);\r\n }\r\n }\r\n\r\n callback(asyncResult) {\r\n var arrayOfToRecipients = asyncResult.value;\r\n console.log(arrayOfToRecipients);\r\n }\r\n\r\n // selectHistoryEntity(entity){\r\n // let dataAsObject=JSON.parse(entity);\r\n // var messageObject = {messageType: \"selectHistoryEntity\", payload:dataAsObject};\r\n // var jsonMessage = JSON.stringify(messageObject);\r\n // window.Office.context.ui.messageParent(jsonMessage);\r\n // }\r\n\r\n fileUpload(dataAsString) {\r\n this.consolelog(\"Office365Container fileUpload1\");\r\n this.consolelog(dataAsString);\r\n let dataAsObject = JSON.parse(dataAsString);\r\n var messageObject = { messageType: \"fileUpload\", payload: dataAsObject };\r\n var jsonMessage = JSON.stringify(messageObject);\r\n window.Office.context.ui.messageParent(jsonMessage);\r\n this.consolelog(\"Office365Container fileUpload1 messageParent\"); //in this case it is the taskpane..see processMessage\r\n }\r\n\r\n async getEmailData(sender) {\r\n // Get a reference to the current message\r\n console.log(\"window.Office\", window.Office);\r\n this.consolelog(\"getEmailData Office365Container:\" + sender);\r\n var item = null;\r\n let _EmailData = null;\r\n // eslint-disable-next-line\r\n if (sender == \"outlook365compose\") {\r\n // _EmailData= JSON.parse(window.localStorage.getItem(\"promptEmailData\"))\r\n _EmailData = JSON.parse(\r\n (await Preferences.get({ key: \"promptEmailData\" })).value\r\n );\r\n\r\n // console.log(\"prompt_emaildata\", _EmailData)\r\n } else if (\r\n window.Office &&\r\n window.Office.context &&\r\n window.Office.context.mailbox &&\r\n window.Office.context.mailbox.item\r\n ) {\r\n this.consolelog(\"getEmailData Office365Container: Found office #2\");\r\n // eslint-disable-next-line\r\n item = window.Office.context.mailbox.item;\r\n console.log(\"__item\", item);\r\n _EmailData = await this.__item365toOurEmailObject(item);\r\n console.log(\"_EmailData:\", _EmailData);\r\n await this.__getBodyText(item);\r\n } else {\r\n this.consolelog(\"getEmailData Office365Container: Office not found #2\");\r\n //get from local storage\r\n var itemAsString = await window.vueAppInstance.$localStorage.get(\r\n \"Office.context.mailbox.item\"\r\n );\r\n //var itemAsString=(await Preferences.get({key:'Office.context.mailbox.item'})).value;\r\n console.log(\"email as string\", itemAsString);\r\n // _EmailData=JSON.parse(itemAsString);\r\n _EmailData = itemAsString;\r\n }\r\n console.log(\"_EmailData\", _EmailData);\r\n return _EmailData; ///need to fix so its like our object\r\n }\r\n updateProps(dataAsString) {\r\n this.consolelog(\"Office365Container updateProps\");\r\n this.consolelog(dataAsString);\r\n let dataAsObject = JSON.parse(dataAsString);\r\n var messageObject = { messageType: \"updateProps\", payload: dataAsObject };\r\n // console.log(\"update props:\", Office.context.mailbox.item)\r\n var jsonMessage = JSON.stringify(messageObject);\r\n // window.Office.context.ui.messageParent(jsonMessage);\r\n if (window.Office) {\r\n window.Office.context.ui.messageParent(jsonMessage);\r\n } else {\r\n window.external.MessageParent(jsonMessage);\r\n }\r\n this.consolelog(\"Office365Container updateProps messageParent\"); //in this case it is the taskpane..see processMessage\r\n }\r\n\r\n async __storeLastViewedItem(_EmailData, sender) {\r\n this.consolelog(\"store item start:\" + sender);\r\n this.consolelog(\"store item _EmailData:\" + JSON.stringify(_EmailData));\r\n await window.vueAppInstance.$localStorage.set(\r\n \"Office.context.mailbox.item\",\r\n JSON.stringify(_EmailData)\r\n );\r\n // Preferences.set({key:'Office.context.mailbox.item', value: JSON.stringify(_EmailData)});\r\n this.consolelog(\"store item complete:\");\r\n }\r\n async __retrieveLastViewedItem() {\r\n this.consolelog(\"retrieve item start NEW:\");\r\n let emailAsString = await window.vueAppInstance.$localStorage.get(\r\n \"Office.context.mailbox.item\"\r\n );\r\n this.consolelog(\"retrieve item start emailAsString:\" + emailAsString);\r\n let res = JSON.parse(emailAsString);\r\n this.consolelog(\"retrieve item complete NEW:\");\r\n return res;\r\n }\r\n async __retrieveLastViewedItemBroken() {\r\n this.consolelog(\"retrieve item start:\");\r\n // let emailAsString= window.vueAppInstance.$localStorage.get('Office.context.mailbox.item');\r\n let emailAsString = (\r\n await Preferences.get({ key: \"Office.context.mailbox.item\" })\r\n ).value;\r\n let res = JSON.parse(emailAsString);\r\n this.consolelog(\"retrieve item complete:\");\r\n return res;\r\n }\r\n __item365toOurEmailObject(item) {\r\n //build our email object\r\n console.log(\"__item365toOurEmailObject\", item);\r\n let _EmailData = {\r\n from: {\r\n displayName: item.from.displayName,\r\n emailAddress: item.from.emailAddress,\r\n type: item.from.recipientType,\r\n },\r\n replyto: {\r\n displayName: item.from.displayName,\r\n emailAddress: item.from.emailAddress,\r\n type: item.from.recipientType,\r\n },\r\n fullName: item.from.displayName,\r\n phoneNumbers: [],\r\n to: this._parse365Recipients(item.to),\r\n cc: this._parse365Recipients(item.cc),\r\n bcc: this._parse365Recipients(item.bcc),\r\n subject: item.subject,\r\n body: \"xxx\",\r\n htmlBody: \"...\",\r\n attachments: this._parse365Attachments(item, false),\r\n inlineattachments: this._parse365Attachments(item, true),\r\n entryid: item.itemId,\r\n urls: [],\r\n addresses: [],\r\n sentItem: this._isSentItem(item),\r\n receivedDateTime: this._parse365SentDates(item),\r\n sentDateTime: this._parse365SentDates(item),\r\n companies: \"\",\r\n };\r\n return _EmailData;\r\n }\r\n\r\n // Helper function to get item body asynchronously\r\n getItemBodyAsync(item, contentType) {\r\n return new Promise(function (resolve, reject) {\r\n item.body.getAsync(contentType, function (result) {\r\n if (result.status === \"succeeded\") {\r\n resolve(result);\r\n } else {\r\n reject(new Error(\"Failed to get item body.\"));\r\n }\r\n });\r\n });\r\n }\r\n getAttachmentContentAsync(item, attid) {\r\n return new Promise(function (resolve, reject) {\r\n let __AttachmentContentFormat =\r\n window.Office.MailboxEnums.AttachmentContentFormat;\r\n item.getAttachmentContentAsync(attid, async (result) => {\r\n //console.log(\"getAttachmentContentAsync:\"+JSON.stringify(result.value));\r\n if (result.status === \"succeeded\") {\r\n switch (result.value.format) {\r\n case __AttachmentContentFormat.Base64:\r\n //console.log(\"base 64 image:\"+__src);\r\n tmp.innerHTML = tmp.innerHTML.replace(\r\n ' src=\"' + __src,\r\n 'src=\"data:' + __att.type + \";base64,\" + result.value.content\r\n );\r\n _EmailData.htmlBody = tmp.innerHTML;\r\n console.log(\"_EmailData.attachment index-\", xx, \"-\");\r\n console.log(\r\n \"_EmailData.attachments:\",\r\n _EmailData.attachments.length\r\n );\r\n\r\n _EmailData.attachments.splice(xx - removedCount, 1);\r\n removedCount += 1;\r\n console.log(\r\n \"_EmailData.attachments:\" + _EmailData.attachments.length,\r\n removedCount\r\n );\r\n await _that.__storeLastViewedItem(_EmailData, \"__getBodyText #3\");\r\n console.log(\"__storeLastViewedItem #9\");\r\n break;\r\n default:\r\n // Handle attachment formats that are not supported.\r\n console.log(\"__handleAttachmentCallback no match on format\");\r\n }\r\n resolve();\r\n } else {\r\n reject(new Error(\"Failed to get item body.\"));\r\n }\r\n });\r\n });\r\n }\r\n async __getBodyText(item) {\r\n var attachments = Office.context.mailbox.item.attachments;\r\n console.log(\"__getBodyText 365\", attachments);\r\n var _that = this;\r\n\r\n try {\r\n // Get the text body\r\n let textResult = await this.getItemBodyAsync(item, \"text\");\r\n let textBody = textResult.value.replace(/\\n\\n\\n\\n/, \"\");\r\n\r\n // Store the updated text body\r\n let _EmailData = await _that.__retrieveLastViewedItem();\r\n _EmailData.body = textBody;\r\n await _that.__storeLastViewedItem(_EmailData, \"__getBodyText\");\r\n\r\n // Get the HTML body\r\n let htmlResult = await this.getItemBodyAsync(item, \"html\");\r\n let htmlBody = htmlResult.value;\r\n console.log(\"365 Email Body Retrieved\");\r\n\r\n // Store the original email data\r\n _EmailData = await _that.__retrieveLastViewedItem();\r\n _EmailData.htmlBody = htmlBody;\r\n await _that.__storeLastViewedItem(_EmailData, \"__getBodyText #2\");\r\n\r\n // Fix up any images\r\n let tmp_EmailData = JSON.stringify(_EmailData);\r\n let tmp_EmailDataObj = JSON.parse(tmp_EmailData);\r\n\r\n // eslint-disable-next-line\r\n let __AttachmentContentFormat =\r\n window.Office.MailboxEnums.AttachmentContentFormat;\r\n\r\n if (_EmailData.htmlBody != null) {\r\n //loop through the embedded attachments\r\n var tmp = document.createElement(\"div\");\r\n tmp.innerHTML = _EmailData.htmlBody;\r\n var srcImgs = tmp.querySelectorAll(\"img\");\r\n console.log(\"srcImgs:\" + srcImgs.length);\r\n let removedCount = 0;\r\n // If email is replied or forwared email, there are same inline images that have same name, so need to remove only one from the attachments list\r\n let inlinedImages = [];\r\n srcImgs.forEach(async function (srcimg) {\r\n let __src = srcimg.getAttribute(\"src\");\r\n console.log(\"__src:\" + __src, \"-\", srcimg);\r\n console.log(\"inlinedImages:\", inlinedImages);\r\n console.log(__src.indexOf(\"cid:\"));\r\n if (\r\n __src.indexOf(\"cid:\") == 0 &&\r\n tmp_EmailDataObj.inlineattachments\r\n ) {\r\n // tmp_EmailDataObj.attachments = tmp_EmailDataObj.attachments.filter(obj => obj.isInline !== true );\r\n console.log(\"tmp_EmailDataObj\", tmp_EmailDataObj);\r\n for (\r\n let xx = 0;\r\n xx < tmp_EmailDataObj.inlineattachments.length;\r\n xx++\r\n ) {\r\n let __att = tmp_EmailDataObj.inlineattachments[xx];\r\n console.log(\r\n ' __att.type.indexOf(\"image/\") ',\r\n inlinedImages.includes(__att.filename)\r\n );\r\n if (__att.isInline == true && __src.indexOf(__att.caption) > 0) {\r\n //tmp.innerHTML=tmp.innerHTML.replace(__src,\"test.png\");\r\n\r\n console.log(\"__att.id:\" + __att.id);\r\n console.log(\"__att.index:\" + xx, __att);\r\n // _that.removeAttachment(__att.id);\r\n // eslint-disable-next-line\r\n await new Promise(function (resolve, reject) {\r\n Office.context.mailbox.item.getAttachmentContentAsync(\r\n __att.id,\r\n async (result) => {\r\n console.log(\r\n \"getAttachmentContentAsync:\" + JSON.stringify(result)\r\n );\r\n if (result.status === \"succeeded\") {\r\n switch (result.value.format) {\r\n case __AttachmentContentFormat.Base64:\r\n //console.log(\"base 64 image:\"+__src);\r\n tmp.innerHTML = tmp.innerHTML.replace(\r\n ' src=\"' + __src,\r\n 'src=\"data:' +\r\n __att.type +\r\n \";base64,\" +\r\n result.value.content\r\n );\r\n _EmailData.htmlBody = tmp.innerHTML;\r\n console.log(\r\n \"_EmailData.attachment index-\",\r\n xx,\r\n \"-\"\r\n );\r\n console.log(\r\n \"_EmailData.attachments:\",\r\n _EmailData.attachments.length\r\n );\r\n // if (!inlinedImages.includes(__att.filename))\r\n // _EmailData.attachments.splice(\r\n // xx - removedCount,\r\n // 1\r\n // );\r\n inlinedImages.push(__att.filename);\r\n removedCount += 1;\r\n console.log(\r\n \"_EmailData.attachments:\" +\r\n _EmailData.attachments.length,\r\n removedCount\r\n );\r\n await _that.__storeLastViewedItem(\r\n _EmailData,\r\n \"__getBodyText #3\"\r\n );\r\n console.log(\"__storeLastViewedItem #9\");\r\n break;\r\n default:\r\n // Handle attachment formats that are not supported.\r\n console.log(\r\n \"__handleAttachmentCallback no match on format\"\r\n );\r\n }\r\n resolve();\r\n } else {\r\n reject(\r\n new Error(\"Failed to get item attachment with id.\")\r\n );\r\n }\r\n }\r\n );\r\n });\r\n // await _that.getAttachmentContentAsync(\r\n // Office.context.mailbox.item,\r\n // __att.id\r\n // );\r\n console.log(\"individual-attahcment\", JSON.stringify(__att));\r\n }\r\n }\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"Error:\", error);\r\n }\r\n }\r\n\r\n removeAttachment(attachmentId) {\r\n // When the attachment is removed, the callback function is invoked.\r\n // Here, the callback function uses an asyncResult parameter and\r\n // gets the ID of the removed attachment if the removal succeeds.\r\n // You can optionally pass any object you wish to access in the\r\n // callback function as an argument to the asyncContext parameter.\r\n Office.context.mailbox.item.removeAttachmentAsync(\r\n attachmentId,\r\n { asyncContext: null },\r\n function (asyncResult) {\r\n if (asyncResult.status === Office.AsyncResultStatus.Failed) {\r\n write(asyncResult.error.message);\r\n } else {\r\n write(\"Removed attachment with the ID: \" + asyncResult.value);\r\n }\r\n }\r\n );\r\n }\r\n _parse365SentDates(_Mailitem) {\r\n let _date = null;\r\n if (_Mailitem.dateTimeCreated) {\r\n _date = _Mailitem.dateTimeCreated;\r\n console.log(\"date---\", _date);\r\n } else {\r\n _date = new Date();\r\n }\r\n\r\n const date = window.Office.context.mailbox.convertToLocalClientTime(_date);\r\n console.log(\"date1---\", date);\r\n console.log(\"date2---\", _date.toLocaleString());\r\n\r\n let res = {\r\n year: _date.getFullYear(),\r\n month: _date.getMonth() + 1,\r\n day: _date.getDate(),\r\n hour: _date.getHours(),\r\n minute: _date.getMinutes(),\r\n second: _date.getSeconds(),\r\n raw: _date.toLocaleString(),\r\n rawutc: _date.getUTCDate(),\r\n };\r\n\r\n // let res={\r\n // \"year\":date.year,\r\n // \"month\":parseInt(date.month+1),\r\n // \"day\":date.date,\r\n // \"hour\":date.hours,\r\n // \"minute\":date.minutes,\r\n // \"second\":date.seconds,\r\n // \"raw\": parseInt(date.month+1) + \"/\" + date.date + \"/\" + date.year + \", \" + date.hours + \":\" + date.minutes + \":\"+ date.seconds +\" \"+ (date.hours >= 12 ? \"PM\":\"AM\"),\r\n // \"rawutc\":parseInt(date.month+1) + \"/\" + date.date + \"/\" + date.year + \", \" + date.hours + \":\" + date.minutes + \":\"+ date.seconds +\" \"+ (date.hours >= 12 ? \"PM\":\"AM\")\r\n // }\r\n console.log(\"date-res1---\", res);\r\n return res;\r\n }\r\n\r\n _parse365Attachments(item, isInline) {\r\n console.log(\"_parse365Attachments\");\r\n let res = [];\r\n let i = 0;\r\n console.log(\"_parse365Attachments length:\", item);\r\n if (item.attachments) {\r\n if (item.attachments.length > 0) {\r\n for (i = 0; i < item.attachments.length; i++) {\r\n var attachment = item.attachments[i];\r\n if (attachment.isInline === isInline) {\r\n console.log(\r\n \"_parse365Attachments attachment:\" + JSON.stringify(attachment)\r\n );\r\n var _att = {\r\n id: attachment.id,\r\n name: attachment.name,\r\n caption: attachment.name,\r\n size: attachment.size,\r\n filename: attachment.name,\r\n type: attachment.contentType,\r\n base64: \"\",\r\n isInline: attachment.isInline,\r\n value: true,\r\n };\r\n res.push(_att);\r\n }\r\n }\r\n }\r\n } else {\r\n res = {};\r\n }\r\n return res;\r\n }\r\n\r\n _parse365Recipients(recObj) {\r\n let rec_res = [];\r\n for (var ff = 0; ff < recObj.length; ff++) {\r\n let _rec = {\r\n displayName: recObj[ff].displayName,\r\n emailAddress: recObj[ff].emailAddress,\r\n type: recObj[ff].recipientType,\r\n };\r\n rec_res.push(_rec);\r\n }\r\n return rec_res;\r\n }\r\n\r\n _isSentItem(item) {\r\n this.consolelog(\"_isSentItem\");\r\n if (item.sender) {\r\n // eslint-disable-next-line\r\n if (\r\n Office &&\r\n Office.context &&\r\n Office.context.mailbox &&\r\n Office.context.mailbox.userProfile\r\n ) {\r\n // eslint-disable-next-line\r\n this.consolelog(\r\n \"isSentItem userProfile:\" +\r\n Office.context.mailbox.userProfile.emailAddress\r\n );\r\n // eslint-disable-next-line\r\n this.consolelog(\"isSentItem sender:\" + item.sender.emailAddress);\r\n // eslint-disable-next-line\r\n return (\r\n Office.context.mailbox.userProfile.emailAddress ===\r\n item.sender.emailAddress\r\n );\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * https://ourcodeworld.com/articles/read/322/how-to-convert-a-base64-image-into-a-image-file-and-upload-it-with-an-asynchronous-form-using-jquery\r\n * Convert a base64 string in a Blob according to the data and contentType.\r\n *\r\n * @param b64Data {String} Pure base64 string without contentType\r\n * @param contentType {String} the content type of the file i.e (image/jpeg - image/png - text/plain)\r\n * @param sliceSize {Int} SliceSize to process the byteCharacters\r\n * @see http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript\r\n * @return Blob\r\n */\r\nfunction __b64toBlob(b64Data, contentType, sliceSize) {\r\n contentType = contentType || \"\";\r\n sliceSize = sliceSize || 1024;\r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n}\r\n\r\nfunction getbase64File(dataurl, filename) {\r\n var arr = dataurl.split(\",\"),\r\n mime = arr[0].match(/:(.*?);/)[1],\r\n bstr = atob(arr[1]),\r\n n = bstr.length,\r\n u8arr = new Uint8Array(n);\r\n\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n\r\n return new File([u8arr], filename, { type: mime });\r\n}\r\n// eslint-disable-next-line\r\nvar _customProps;\r\n// eslint-disable-next-line\r\nvar _customPropertiesweSet;\r\nfunction customPropsCallback(asyncResult) {\r\n console.log(\"customPropsCallback\");\r\n if (asyncResult.status == window.Office.AsyncResultStatus.Failed) {\r\n // Handle the failure.\r\n } else {\r\n // Successfully loaded custom properties,\r\n // can get them from the asyncResult argument.\r\n _customProps = asyncResult.value;\r\n if (_customPropertiesweSet.length > 0) {\r\n for (var q = 0; q < _customPropertiesweSet.length; q++) {\r\n var __prop = _customPropertiesweSet[q];\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog(\"__prop:\" + __prop.name + \"=\" + __prop.value);\r\n _customProps.set(__prop.name, __prop.value);\r\n }\r\n console.log(\"saving custom properties\");\r\n // Save all custom properties to server.\r\n _customProps.saveAsync(saveCallback_CustomProperties);\r\n }\r\n _customPropertiesweSet = null;\r\n }\r\n}\r\n\r\n// Callback function from saving custom properties.\r\nfunction saveCallback_CustomProperties(asyncResult) {\r\n console.log(\"saveCallback_CustomProperties:\" + JSON.stringify(asyncResult));\r\n if (asyncResult.status == window.Office.AsyncResultStatus.Failed) {\r\n // Handle the failure.\r\n console.log(\"saveCallback_CustomProperties failed\");\r\n // eslint-disable-next-line\r\n vueAppInstance.$applog(\"saveCallback_CustomProperties failed\");\r\n }\r\n}\r\nfunction setCallback(asyncResult) {\r\n if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {\r\n console.log(\"Successfully set headers\");\r\n } else {\r\n console.log(\"Error setting headers: \" + JSON.stringify(asyncResult.error));\r\n }\r\n}\r\nfunction getCallback(asyncResult) {\r\n if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {\r\n console.log(\"Sender's preferred fruit: \" + JSON.stringify(asyncResult));\r\n } else {\r\n console.log(\r\n \"Error getting preferences from header: \" +\r\n JSON.stringify(asyncResult.error)\r\n );\r\n }\r\n}\r\n","// eslint-disable-next-line\r\nimport {applog} from '@/services/applog.js'\r\n\r\n//this is our outlook app\r\nexport class OutlookAppContainer {\r\n\r\n classname;\r\n coreObject;\r\n\r\n constructor() {\r\n this.classname='OutlookAppContainer'\r\n }\r\n\r\n OpenExternalURL(url)\r\n {\r\n // eslint-disable-next-line\r\n window.external.OpenExternalURL(url);\r\n }\r\n setContext(connectionName, Entity, Entityid)\r\n {\r\n this.consolelog(\"OutlookAppContainer setContext:\"+connectionName+\"/\"+Entity+\"/\"+Entityid);\r\n }\r\n consolelog(msg)\r\n {\r\n // eslint-disable-next-line\r\n window.external.consolelog(msg);\r\n }\r\n\r\n popupCenter(urlname, url, _datastring, params)\r\n {\r\n // eslint-disable-next-line\r\n window.external.popupCenter(urlname, url, _datastring, params);\r\n }\r\n\r\n replytagemail(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.replytagemail(dataAsString);\r\n }\r\n\r\n getDocuments(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.getDocuments(dataAsString);\r\n }\r\n\r\n removeTag(tagPrefixSuffix)\r\n {\r\n // eslint-disable-next-line\r\n window.external.removeTag(tagPrefixSuffix);\r\n }\r\n\r\n tagEmail(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.tagEmail(dataAsString);\r\n }\r\n\r\n newtask(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.newtask(dataAsString);\r\n }\r\n\r\n newappt(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.newappt(dataAsString);\r\n }\r\n\r\n newemail(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.newemail(dataAsString);\r\n }\r\n\r\n setInstanceSettings(connectionName,instanceSettingsAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.setInstanceSettings(connectionName,instanceSettingsAsString);\r\n }\r\n\r\n SelectionChange()\r\n {\r\n // eslint-disable-next-line\r\n window.external.SelectionChange();\r\n }\r\n\r\n buttonAction(senderDialog,dialogAction,senderData)\r\n {\r\n // eslint-disable-next-line\r\n window.external.buttonAction(senderDialog,dialogAction,senderData)\r\n }\r\n\r\n fileUpload(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.fileUpload(dataAsString)\r\n }\r\n getEmailData(sender)\r\n {\r\n console.log(\"getEmailData:\"+sender);\r\n // eslint-disable-next-line\r\n let res=null;\r\n try{\r\n res= window.external.getEmailData(sender);\r\n }catch{\r\n //old format...fallback for those with older outlook clients\r\n res= window.external.getEmailData();\r\n }\r\n return res;\r\n }\r\n updateProps(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.external.updateProps(dataAsString)\r\n }\r\n\r\n}","// eslint-disable-next-line\r\nimport {applog} from '@/services/applog.js'\r\nimport { Preferences } from \"@capacitor/preferences\";\r\n// eslint-disable-next-line\r\nimport axios from 'axios';\r\n\r\n//this is our outlook app\r\nexport class OutlookAppContainerWebview {\r\n\r\n classname;\r\n\r\n constructor() {\r\n this.classname='OutlookAppContainerWebview';\r\n }\r\n\r\n OpenExternalURL(url)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.OpenExternalURL(url);\r\n }\r\n setContext(connectionName, Entity, Entityid)\r\n {\r\n this.consolelog(\"OutlookAppContainerWebview setContext:\"+connectionName+\"/\"+Entity+\"/\"+Entityid);\r\n try{\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.setContext(connectionName,Entity,Entityid);\r\n }catch(e){\r\n this.consolelog(\"ERROR OutlookAppContainerWebview setContext:\"+e.message);\r\n }\r\n }\r\n consolelog(msg)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.consolelog(msg);\r\n }\r\n\r\n popupCenter(urlname, url, _datastring, params)\r\n {\r\n this.consolelog(\"popupCenter/outlookappcontainerwebview:\"+urlname);\r\n window.chrome.webview.hostObjects.sync.TS.popupCenter(urlname, url, _datastring, params);\r\n }\r\n\r\n replytagemail(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.replytagemail(dataAsString);\r\n }\r\n\r\n getDocuments(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.getDocuments(dataAsString);\r\n }\r\n\r\n removeTag(tagPrefixSuffix)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.removeTag(tagPrefixSuffix);\r\n }\r\n\r\n tagEmail(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.tagEmail(dataAsString);\r\n }\r\n\r\n newtask(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.newtask(dataAsString);\r\n }\r\n\r\n newappt(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.newappt(dataAsString);\r\n }\r\n\r\n newemail(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.newemail(dataAsString);\r\n }\r\n\r\n setInstanceSettings(connectionName,instanceSettingsAsString)\r\n {\r\n console.log('setInstanceSettings webview2 #1 of 2');\r\n console.log('setInstanceSettings webview2 #1 of 2 connectionName:'+connectionName);\r\n console.log('setInstanceSettings webview2 #1 of 2 instanceSettingsAsString:'+instanceSettingsAsString);\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.setInstanceSettings(connectionName,instanceSettingsAsString);\r\n console.log('setInstanceSettings webview2 #2 of 2');\r\n }\r\n\r\n addEmailTo(valEmailAddress)\r\n {\r\n console.log(\"webview-email\", valEmailAddress, window.Office);\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.addEmailTo(valEmailAddress);\r\n\r\n }\r\n\r\n SelectionChange()\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.SelectionChange();\r\n }\r\n\r\n buttonAction(senderDialog,dialogAction,senderData)\r\n {\r\n console.log('buttonAction webview,'+senderDialog+','+dialogAction+','+senderData);\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.buttonAction(senderDialog,dialogAction,senderData);\r\n }\r\n\r\n async fileUpload(dataAsString)\r\n {\r\n console.log('buttonAction fileUpload,'+dataAsString);\r\n let connections= (await Preferences.get({key:'connections'})).value;\r\n let connectionsData=JSON.parse(connections);\r\n var connectionClass = connectionsData[0].connectionClass;\r\n console.log(\"fileupload connectionClass\", connectionClass)\r\n if(connectionClass == 'MyTaskPaneEntityDataDataIslandsSage300Class'){\r\n // console.log('MyTaskPaneEntityDataDataIslandsSage300Class-')\r\n // const requestConfig = {\r\n // headers: {\r\n // 'Content-Type': 'application/json;charset=utf8',\r\n // }\r\n // }\r\n // const token = (await Preferences.get({ key: \"token\" })).value;\r\n // axios.defaults.headers.common = { Authorization: `Bearer ${token}` }\r\n // var payload = {\r\n // \"Stream\": result.value.content,\r\n // \"FileName\": _payload.name\r\n // }\r\n // var uploadfileRes = await axios.post(_payload.link, JSON.stringify(JSON.stringify(payload)), requestConfig);\r\n // console.log('uploadfileRes-', uploadfileRes)\r\n } else{\r\n\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.fileUpload(dataAsString);\r\n }\r\n }\r\n getEmailData(sender)\r\n {\r\n console.log('getEmailData webview sender:'+sender);\r\n // eslint-disable-next-line\r\n let res=null;\r\n try{\r\n res = window.chrome.webview.hostObjects.sync.TS.getEmailData(sender);\r\n console.log('getEmailData webview2 #A');\r\n }catch{\r\n res = window.chrome.webview.hostObjects.sync.TS.getEmailData();\r\n console.log('getEmailData webview2 #B');\r\n }\r\n console.log('getEmailData webview2 ');\r\n return res;\r\n }\r\n updateProps(dataAsString)\r\n {\r\n // eslint-disable-next-line\r\n window.chrome.webview.hostObjects.sync.TS.updateProps(dataAsString);\r\n }\r\n\r\n}","//use this line to include this\r\n/*\r\n\r\n // eslint-disable-next-line\r\n import {applog} from '@/services/applog.js'\r\n\r\n*/\r\n//\r\n//use as\r\n/*\r\n this.$applog('logMessage')\r\n*/\r\nimport Vue from 'vue'\r\n\r\nVue.prototype.$applog = function (msg) {\r\n try{\r\n console.log(msg);\r\n window.external.consolelog(msg);\r\n }catch (e){\r\n try{\r\n // eslint-disable-next-line\r\n return chrome.webview.hostObjects.sync.TS.consolelog(msg);\r\n }catch (ee){\r\n //ignore\r\n }\r\n }\r\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"271\":\"mytaskpanemx-017397ff\",\"497\":\"fileemail\",\"930\":\"task\",\"1195\":\"mytaskpanemx-ad6a2f20\",\"1664\":\"startup\",\"2363\":\"mytaskpanemx-8cb0f8e1\",\"2443\":\"about\",\"3161\":\"mytaskpanemx-b4c4f6ec\",\"3304\":\"parseemail\",\"3493\":\"emailtemplates\",\"3831\":\"timeline\",\"5298\":\"addressbook\",\"5833\":\"mytaskpanemx-3e957a5c\",\"5907\":\"mytaskpanemx-dbda83f0\",\"6936\":\"attachdocuments\",\"7222\":\"mytaskpane\",\"7659\":\"mytaskpanemx-bed76c13\",\"8678\":\"mytaskpanemx-b6ebefd2\",\"9475\":\"mytaskpanemx-21ad29ab\",\"9908\":\"history\"}[chunkId] || chunkId) + \".\" + {\"211\":\"ebf36d59\",\"271\":\"8b2fcc3e\",\"497\":\"cdbc2976\",\"667\":\"18189db8\",\"669\":\"0835290d\",\"930\":\"45746c5c\",\"1195\":\"5cc434f3\",\"1359\":\"5f720262\",\"1589\":\"f1c59284\",\"1607\":\"ed1e9616\",\"1664\":\"5516d0d8\",\"1723\":\"44d0e08d\",\"1892\":\"3ea30b9f\",\"2017\":\"38800e28\",\"2148\":\"77c4b196\",\"2363\":\"3e5f48ad\",\"2443\":\"de7d39b9\",\"2551\":\"abfd4702\",\"2911\":\"70d2602c\",\"3081\":\"7091dca0\",\"3161\":\"1f0f41c8\",\"3304\":\"09f06def\",\"3493\":\"89dff330\",\"3831\":\"54ff0d4c\",\"4093\":\"cff01ee2\",\"4825\":\"cf93c981\",\"5269\":\"52cfdec5\",\"5298\":\"c9ff7138\",\"5668\":\"0fbe3cee\",\"5833\":\"e5c7bf74\",\"5907\":\"cc6aff36\",\"5910\":\"4a53e6a6\",\"5916\":\"ac87f96e\",\"6168\":\"213e1e44\",\"6218\":\"5d7f95a4\",\"6355\":\"635e50c5\",\"6486\":\"a6d37d16\",\"6515\":\"645c7443\",\"6657\":\"bec3093c\",\"6746\":\"b404a1b8\",\"6806\":\"edcf7c40\",\"6903\":\"6c104be3\",\"6906\":\"ce9c6dc6\",\"6936\":\"80d94628\",\"6992\":\"9ebea34f\",\"7222\":\"2df9f51a\",\"7269\":\"c4a50a2b\",\"7659\":\"864f9bb4\",\"7755\":\"b0104a01\",\"7757\":\"a5b3e451\",\"8217\":\"163e9154\",\"8286\":\"c4f89a94\",\"8378\":\"e34d9f6a\",\"8627\":\"a3db9751\",\"8639\":\"0fb40559\",\"8678\":\"c8932690\",\"8679\":\"3e3a56a9\",\"8791\":\"6f0ef3b0\",\"9047\":\"3795300b\",\"9124\":\"cbdcb092\",\"9475\":\"7a5525ef\",\"9541\":\"7d299fca\",\"9908\":\"5dd1e6cb\",\"9991\":\"718593ce\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"271\":\"mytaskpanemx-017397ff\",\"497\":\"fileemail\",\"930\":\"task\",\"1664\":\"startup\",\"3304\":\"parseemail\",\"3493\":\"emailtemplates\",\"3831\":\"timeline\",\"5298\":\"addressbook\",\"6936\":\"attachdocuments\",\"7222\":\"mytaskpane\",\"9908\":\"history\"}[chunkId] || chunkId) + \".\" + {\"271\":\"a355753d\",\"497\":\"ff43bd8a\",\"930\":\"c0b8bbc1\",\"1589\":\"3bf21d75\",\"1664\":\"31cca171\",\"1723\":\"de6a5b1d\",\"2017\":\"02fb8030\",\"3304\":\"d93ec6e4\",\"3493\":\"2db2c805\",\"3831\":\"f5db9987\",\"4825\":\"0291b870\",\"5269\":\"ff0f7ecc\",\"5298\":\"d0c5bdc0\",\"6515\":\"47c76b7c\",\"6936\":\"32f54fbf\",\"6992\":\"61c14859\",\"7222\":\"db7ab8f2\",\"7269\":\"e2de27a3\",\"8286\":\"090ce29a\",\"9908\":\"947ef4c0\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"com.crmtogether.mobilexcrm:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"271\":1,\"497\":1,\"930\":1,\"1589\":1,\"1664\":1,\"1723\":1,\"2017\":1,\"3304\":1,\"3493\":1,\"3831\":1,\"4825\":1,\"5269\":1,\"5298\":1,\"6515\":1,\"6936\":1,\"6992\":1,\"7222\":1,\"7269\":1,\"8286\":1,\"9908\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2143: 0,\n\t3426: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1723|3426|6515|7222)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcom_crmtogether_mobilexcrm\"] = self[\"webpackChunkcom_crmtogether_mobilexcrm\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [9823,4381,4122,8691,7781,910,799,9348,8949,9613,3460,1632,3426,7996,4398,7527,5562,2739,9111,1727,1806,3073,5626,6219,6193,9218,7086,1708], function() { return __webpack_require__(97446); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","render","_vm","this","_c","_self","layout","tag","staticRenderFns","VApp","name","created","console","log","localStorage","getItem","set","key","value","removeItem","component","computed","$store","getters","components","AcceleratorLayout","methods","setLayout","commit","exeEmailTemplate","use","routes","path","default","alias","router","mode","base","onError","error","pattern","isChunkLoadFailed","message","match","targetPath","history","pending","fullPath","replace","namespaced","mutations","selectEntity","payload","actions","state","appMode","authStatus","authToken","firstrun","activeConnection","activeTabName","selectedConnectionIndex","connections","currentUser","permissions","navItems","toolbarTitle","dataProvider","pushNotifications","SET_APPMODE","SET_LAYOUT","add_connection","connection","push","JSON","stringify","auth_request","auth_success","user","auth_error","logout","set_currentUser","b","set_fcmToken","token","fcmToken","set_hasMessages","hasMessages","update_connection","position","tabName","set_activeConnection","set_selectedConnectionIndex","index","add_push_notification","pushData","remove_push_notification","splice","init_store","data","c","u","defaultConnection","parse","set_toolbarTitle","title","set_dataProvider","provider","isLoggedIn","userPushNotifications","entityPermission","param","setAppmode","appmode","addConnection","login","then","logOutConnection","async","remove","modules","entityStore","MailBox","emailObjects","devEmail","_changeEmailHandlers","_changeEmailHandlersConnector","_queueHandlers","_queueHandlersConnector","appContainer","constructor","_appContainer","assignHandler","_event","_connector","vueAppInstance","$applog","assignQueueHandler","ping","getCurrentItem","length","_ged","getEmailData","getSelectedItems","changeSelectedEmail","_emailObject","json_emailObj","get","zz","__tabName","_changeevent","processQueue","_queueHandlerEvent","messages","en","prototype","moment","$extrasmall","$small","config","productionTip","getPlatform","store","dispatch","$appContainer","MobileAppContainer","window","external","getHost","OutlookAppContainer","chrome","webview","hostObjects","sync","TS","OutlookAppContainerWebview","Office","ee","Office365Container","$mailbox","i18n","locale","silentTranslationWarn","bus","mainRun","polyfill","vuetify","vueCrypt","iconfont","h","App","_name","_params","$router","params","consolelog","$mount","testMessageFromIframe","evt","action","emailObject","classname","addEventListener","event","onReady","setup365Container","attachEvent","Array","includes","defineProperty","searchElement","fromIndex","TypeError","len","n","k","Math","max","abs","sameValueZero","x","y","isNaN","setContext","connectionName","Entity","Entityid","OpenExternalURL","url","open","msg","urlname","_datastring","newtask","dataAsString","newappt","newemail","setInstanceSettings","instanceSettingsAsString","buttonAction","senderDialog","dialogAction","senderData","fileUpload","dialog","addEmailTo","email","item","context","mailbox","to","setAsync","realurl","__url","String","__urlarray2","split","_urlpart12","__urlarray","_urlpart1","_EmailData","__item365toOurEmailObject","__storeLastViewedItem","__getBodyText","itemAsString","$localStorage","_that","ui","toString","contextUi","displayDialogAsync","asyncResult","EventType","DialogMessageReceived","addEventHandler","processMessage","DialogEventReceived","dialogClosed","height","width","displayInIframe","promptBeforeOpen","arg","messageFromDialog","messageType","processMessageQ","_payload","_customPropertiesweSet","customproperties","loadCustomPropertiesAsync","customPropsCallback","attachmentURL","link","attachmentName","filename","connectionsData","connectionClass","authobject","authobjectData","sid","addFileAttachmentAsync","asyncContext","status","AsyncResultStatus","Failed","attachmentID","_item","getAttachmentContentAsync","senderid","result","__AttachmentContentFormat","MailboxEnums","AttachmentContentFormat","requestConfig","headers","common","Authorization","Stream","content","FileName","uploadfileRes","format","Base64","type","blob","__b64toBlob","xfile","getbase64File","formDataToUpload","FormData","append","catch","Eml","ICalendar","Url","close","replytagemail","getDocuments","removeTag","tagPrefixSuffix","tagEmail","categories","addAsync","Succeeded","SelectionChange","write","document","getElementById","innerText","messageParent","jsonMessage","officeUi","undefined","MessageParent","messageObject","callback","arrayOfToRecipients","dataAsObject","sender","updateProps","emailAsString","res","from","displayName","emailAddress","recipientType","replyto","fullName","phoneNumbers","_parse365Recipients","cc","bcc","subject","body","htmlBody","attachments","_parse365Attachments","inlineattachments","entryid","itemId","urls","addresses","sentItem","_isSentItem","receivedDateTime","_parse365SentDates","sentDateTime","companies","getItemBodyAsync","contentType","Promise","reject","getAsync","attid","tmp","innerHTML","__src","__att","xx","removedCount","textResult","textBody","__retrieveLastViewedItem","htmlResult","tmp_EmailData","tmp_EmailDataObj","createElement","srcImgs","querySelectorAll","inlinedImages","forEach","srcimg","getAttribute","indexOf","isInline","caption","removeAttachment","attachmentId","removeAttachmentAsync","_Mailitem","_date","dateTimeCreated","Date","date","convertToLocalClientTime","toLocaleString","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","second","getSeconds","raw","rawutc","getUTCDate","i","attachment","_att","size","base64","recObj","rec_res","ff","_rec","userProfile","b64Data","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","dataurl","arr","mime","bstr","u8arr","File","_customProps","q","__prop","saveAsync","saveCallback_CustomProperties","coreObject","popupCenter","valEmailAddress","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","r","getter","__esModule","d","a","definition","enumerable","f","chunkId","all","reduce","promises","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","createStylesheet","fullhref","oldTag","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","test","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}