(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[86],{ /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/EBlastStats.vue?vue&type=script&lang=js": /*!***************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/EBlastStats.vue?vue&type=script&lang=js ***! \***************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _lib_setPageTitle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/setPageTitle */ \"./src/lib/setPageTitle.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n rowsPerPage: {\n 'items-per-page-options': [10, 25, 100]\n },\n pagination: {\n page: 1,\n itemsPerPage: 15,\n sortBy: [],\n sortDesc: false\n },\n actionPopup: false,\n totalRows: 0,\n loading: false,\n reportData: [],\n actionHeaders: [{\n text: 'Email',\n value: 'email',\n sortable: false\n }, {\n text: 'When (Local time)',\n value: 'createdAt',\n sortable: true\n }],\n headers: [{\n text: 'Campaign',\n value: 'name',\n sortable: true\n }, {\n text: 'Date',\n value: 'createdAt',\n sortable: true\n }, {\n text: 'Total Sent',\n value: 'sendCount',\n sortable: true\n }, {\n text: 'Opens',\n value: 'opens',\n sortable: true\n }, {\n text: 'AC Opens',\n value: 'acOpens',\n sortable: true\n }, {\n text: 'Clicks',\n value: 'clicks',\n sortable: true\n }, {\n text: 'Unsubscribes',\n value: 'unsubscribes',\n sortable: true\n }, {\n text: 'Bounces',\n value: 'bounces',\n sortable: true\n }, {\n text: 'Open Rate',\n value: 'openRate',\n sortable: true\n }, {\n text: 'AC Open Rate',\n value: 'acOpenRate',\n sortable: true\n }, {\n text: 'Click to Open Rate',\n value: 'clickToOpenRate',\n sortable: true\n }, {\n text: 'Unsubscribe Rate',\n value: 'unsubscribeRate',\n sortable: true\n }, {\n text: 'Bounce Rate',\n value: 'bounceRate',\n sortable: true\n }],\n contactList: []\n };\n },\n mounted() {\n console.debug('eBlasts mounted');\n Object(_lib_setPageTitle__WEBPACK_IMPORTED_MODULE_1__[\"setPageTitle\"])('Eblast Statistics', this.$parent.$el.className, true);\n if (!this.reportData.length) {\n this.populate();\n }\n },\n computed: {\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])('EBlastStats', ['actionList'])\n },\n methods: {\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])('EBlastStats', ['getCampaignData', 'initActionList']),\n updateOptions(values) {\n this.pagination = values;\n this.populate();\n },\n async populate() {\n var data = await this.getCampaignData({\n pagination: this.pagination,\n search: this.search\n });\n console.log('populate', data);\n this.reportData = data.data;\n this.totalRows = data.totalRows;\n },\n async displayActions(campaign, action) {\n console.debug('displayActions', campaign, action);\n await this.initActionList({\n ACCampaignId: campaign,\n action: action\n });\n this.actionPopup = true;\n },\n closeActionPopup() {\n this.actionPopup = false;\n },\n displayContact(contactId) {\n this.$store.dispatch('Contact/openContactWithRelatedCPIS', contactId);\n },\n calcRates(total, count) {\n if (!total || !count) {\n return 0;\n }\n return (count / total * 100).toFixed(2) + '%';\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/Reports/EBlastStats.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"57799412-vue-loader-template\"}!./node_modules/vuetify-loader/lib/loader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/EBlastStats.vue?vue&type=template&id=1fbdd148": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"57799412-vue-loader-template"}!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/EBlastStats.vue?vue&type=template&id=1fbdd148 ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\n/* harmony import */ var vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuetify/lib/components/VBtn */ \"./node_modules/vuetify/lib/components/VBtn/index.js\");\n/* harmony import */ var vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuetify/lib/components/VCard */ \"./node_modules/vuetify/lib/components/VCard/index.js\");\n/* harmony import */ var vuetify_lib_components_VChip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VChip */ \"./node_modules/vuetify/lib/components/VChip/index.js\");\n/* harmony import */ var vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuetify/lib/components/VGrid */ \"./node_modules/vuetify/lib/components/VGrid/index.js\");\n/* harmony import */ var vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuetify/lib/components/VDataTable */ \"./node_modules/vuetify/lib/components/VDataTable/index.js\");\n/* harmony import */ var vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vuetify/lib/components/VDialog */ \"./node_modules/vuetify/lib/components/VDialog/index.js\");\n/* harmony import */ var vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vuetify/lib/components/VIcon */ \"./node_modules/vuetify/lib/components/VIcon/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VCol\"], {\n attrs: {\n cols: \"12\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], {\n staticClass: \"mx-auto my-12\"\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_7__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_7__[\"VToolbarTitle\"], {\n staticClass: \"white--text\",\n staticStyle: {\n width: \"auto\"\n }\n }, [_vm._v(\"eBlast Statistics\")])], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VSpacer\"]), _c(vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_4__[\"VDataTable\"], {\n attrs: {\n headers: _vm.headers,\n items: _vm.reportData,\n \"loading-text\": \"Loading...\",\n loading: _vm.loading,\n dense: \"\",\n \"footer-props\": _vm.rowsPerPage,\n \"server-items-length\": _vm.totalRows,\n \"sort-by\": \"createdAt\",\n \"sort-desc\": true,\n \"must-sort\": \"\"\n },\n on: {\n \"update:options\": _vm.updateOptions\n },\n scopedSlots: _vm._u([{\n key: `item.createdAt`,\n fn: function (row) {\n return [_vm._v(_vm._s(_vm._f(\"prettyFullDate\")(row.item.createdAt)))];\n }\n }, {\n key: `item.opens`,\n fn: function (row) {\n return [_c(vuetify_lib_components_VChip__WEBPACK_IMPORTED_MODULE_2__[\"VChip\"], {\n attrs: {\n small: \"\"\n },\n on: {\n click: function ($event) {\n return _vm.displayActions(row.item.ACCampaignId, \"open\");\n }\n }\n }, [_vm._v(_vm._s(row.item.opens))])];\n }\n }, {\n key: `item.clicks`,\n fn: function (row) {\n return [_c(vuetify_lib_components_VChip__WEBPACK_IMPORTED_MODULE_2__[\"VChip\"], {\n attrs: {\n small: \"\"\n },\n on: {\n click: function ($event) {\n return _vm.displayActions(row.item.ACCampaignId, \"click\");\n }\n }\n }, [_vm._v(_vm._s(row.item.clicks))])];\n }\n }, {\n key: `item.unsubscribes`,\n fn: function (row) {\n return [_c(vuetify_lib_components_VChip__WEBPACK_IMPORTED_MODULE_2__[\"VChip\"], {\n attrs: {\n small: \"\"\n },\n on: {\n click: function ($event) {\n return _vm.displayActions(row.item.ACCampaignId, \"unsubscribe\");\n }\n }\n }, [_vm._v(_vm._s(row.item.unsubscribes))])];\n }\n }, {\n key: `item.openRate`,\n fn: function (row) {\n return [_vm._v(\" \" + _vm._s(_vm.calcRates(row.item.sendCount, row.item.opens)) + \" \")];\n }\n }, {\n key: `item.acOpenRate`,\n fn: function (row) {\n return [_vm._v(\" \" + _vm._s(_vm.calcRates(row.item.sendCount, row.item.acOpens)) + \" \")];\n }\n }, {\n key: `item.clickToOpenRate`,\n fn: function (row) {\n return [_vm._v(\" \" + _vm._s(_vm.calcRates(row.item.opens, row.item.clicks)) + \" \")];\n }\n }, {\n key: `item.unsubscribeRate`,\n fn: function (row) {\n return [_vm._v(\" \" + _vm._s(_vm.calcRates(row.item.sendCount, row.item.unsubscribes)) + \" \")];\n }\n }, {\n key: `item.bounceRate`,\n fn: function (row) {\n return [_vm._v(\" \" + _vm._s(_vm.calcRates(row.item.sendCount, row.item.bounces)) + \" \")];\n }\n }], null, true)\n })], 1)], 1), _c(vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_5__[\"VDialog\"], {\n attrs: {\n persistent: \"\"\n },\n model: {\n value: _vm.actionPopup,\n callback: function ($$v) {\n _vm.actionPopup = $$v;\n },\n expression: \"actionPopup\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_7__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_7__[\"VToolbarTitle\"], {\n staticClass: \"white--text\",\n staticStyle: {\n width: \"auto\"\n }\n }, [_c(\"h2\", [_vm._v(\"eBlast Statistics\")])]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VSpacer\"]), _c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n attrs: {\n color: \"error\",\n title: \"\",\n small: \"\"\n },\n on: {\n click: _vm.closeActionPopup\n }\n }, [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_6__[\"VIcon\"], [_vm._v(\"mdi-window-close\")])], 1)], 1), _c(vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_4__[\"VDataTable\"], {\n attrs: {\n headers: _vm.actionHeaders,\n items: _vm.actionList,\n dense: \"\",\n \"sort-by\": \"createdAt\",\n \"sort-desc\": true,\n \"must-sort\": \"\"\n },\n scopedSlots: _vm._u([{\n key: `item.email`,\n fn: function (row) {\n return [row.item.ContactId ? _c(\"span\", [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], {\n staticClass: \"popoutBtn\",\n attrs: {\n \"x-small\": \"\",\n text: \"\",\n color: \"secondary\"\n },\n on: {\n click: function ($event) {\n return _vm.displayContact(row.item.ContactId);\n }\n }\n }, [_vm._v(_vm._s(row.item.Contact.fullName))])], 1) : _c(\"span\", [_vm._v(_vm._s(row.item.email))])];\n }\n }, {\n key: `item.createdAt`,\n fn: function (row) {\n return [_vm._v(_vm._s(_vm._f(\"prettyFullDate\")(row.item.createdAt)))];\n }\n }], null, true)\n })], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/Reports/EBlastStats.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%2257799412-vue-loader-template%22%7D!./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/EBlastStats.vue?vue&type=style&index=0&id=1fbdd148&lang=scss": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/EBlastStats.vue?vue&type=style&index=0&id=1fbdd148&lang=scss ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \".mdc-typography-style-headline {\\n font-family: Roboto;\\n font-size: 16 .mdc-typography-style-headline --error;\\n font-size-color: red;\\n}\\n.cardTitle {\\n background-color: #3853A3;\\n}\\n.subHead {\\n font-weight: normal;\\n font-size: 14px;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Reports/EBlastStats.vue?./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Reports/EBlastStats.vue?vue&type=style&index=0&id=1fbdd148&lang=scss": /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Reports/EBlastStats.vue?vue&type=style&index=0&id=1fbdd148&lang=scss ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// style-loader: Adds some css to the DOM by adding a