(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[79],{ /***/ "./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/Touchpoints/TouchpointsList.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/Touchpoints/TouchpointsList.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 core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_componentSettings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/componentSettings */ \"./src/lib/componentSettings.js\");\n/* harmony import */ var _lib_setPageTitle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/setPageTitle */ \"./src/lib/setPageTitle.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Touchpoints',\n data() {\n return {\n touchpointsList: [],\n search: '',\n loading: false,\n headers: [],\n settings: {\n version: 1,\n optionStates: {\n // default columns\n createdAt: true,\n name: true,\n value: true\n }\n },\n columnOptionsDialog: false,\n columnOptions: [{\n value: 'createdAt',\n text: 'Created',\n sortable: true\n }, {\n value: 'name',\n text: 'Name',\n sortable: true\n }, {\n value: 'value',\n text: 'Value',\n sortable: true\n }, {\n value: 'direction',\n text: 'Direction',\n sortable: true\n }, {\n value: 'agingFactor',\n text: 'Aging Factor',\n sortable: true\n }]\n };\n },\n mounted() {\n console.debug('Touchpoints: mounted'); // unique list data name\n Object(_lib_setPageTitle__WEBPACK_IMPORTED_MODULE_2__[\"setPageTitle\"])('Touchpoints', this.$parent.$el.className, true);\n var settings = _lib_componentSettings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].loadSettings(this);\n if (settings) {\n this.settings = settings; // will trigger the watch and upate columns / data\n } else {\n _lib_componentSettings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].saveSettings(this); // save defaults\n }\n this.populate();\n this.buildHeaders();\n },\n filters: {\n showDirection: function (data) {\n if (data === 1) {\n data = 'Increase';\n } else {\n data = 'Decrease';\n }\n return data;\n }\n },\n computed: {},\n watch: {\n settings: {\n deep: true,\n handler() {\n this.buildHeaders();\n _lib_componentSettings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].saveSettings(this); // save defaults\n }\n }\n // watch real-time filters and trigger populate()\n },\n methods: {\n tableClick(row) {\n this.$router.push('/touchpoints/' + row.id); // route for accessing an individual item\n // alternatively use a pop-up adapter here to prevent navigation\n },\n closeColumnPrefs: function () {\n this.columnOptionsDialog = false;\n // rebuild is simply handled by watch in this example, but could be placed here\n },\n async populate() {\n const data = await this.$store.dispatch('Touchpoints/pullData'); // vuex state is responsible for API calls\n this.touchpointsList = data;\n this.loading = false;\n },\n resetFilters: function () {\n // add code to set filters to their defaults here\n _lib_componentSettings__WEBPACK_IMPORTED_MODULE_1__[\"default\"].clearSettings(this.$options.name);\n this.populate();\n },\n buildHeaders() {\n this.headers = [];\n this.columnOptions.forEach(opt => {\n // opt has a value & text & sortable\n if (this.settings.optionStates[opt.value]) {\n this.headers.push(opt);\n }\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/Touchpoints/TouchpointsList.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/Touchpoints/TouchpointsList.vue?vue&type=template&id=33d101d3&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/Touchpoints/TouchpointsList.vue?vue&type=template&id=33d101d3&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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_VCheckbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuetify/lib/components/VCheckbox */ \"./node_modules/vuetify/lib/components/VCheckbox/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_VTextField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuetify/lib/components/VTextField */ \"./node_modules/vuetify/lib/components/VTextField/index.js\");\n/* harmony import */ var vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vuetify/lib/components/VToolbar */ \"./node_modules/vuetify/lib/components/VToolbar/index.js\");\n/* harmony import */ var vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vuetify/lib/components/VTooltip */ \"./node_modules/vuetify/lib/components/VTooltip/index.js\");\n\n\n\n\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 lg: \"12\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_8__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_8__[\"VToolbarTitle\"], {\n staticClass: \"white--text\"\n }, [_vm._v(\"Touchpoints\")])], 1), _c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCardTitle\"], [_c(vuetify_lib_components_VTextField__WEBPACK_IMPORTED_MODULE_7__[\"VTextField\"], {\n staticStyle: {\n \"max-width\": \"400px\"\n },\n attrs: {\n \"append-icon\": \"mdi-magnify\",\n label: \"Search\",\n \"single-line\": \"\",\n outlined: \"\",\n dense: \"\",\n \"hide-details\": \"\"\n },\n model: {\n value: _vm.search,\n callback: function ($$v) {\n _vm.search = $$v;\n },\n expression: \"search\"\n }\n }), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VSpacer\"]), _c(\"span\", {\n staticClass: \"resultsHeader secondary--text\"\n }, [_vm._v(\"Results: \" + _vm._s(_vm.touchpointsList.length || 0))]), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VSpacer\"]), _c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_9__[\"VTooltip\"], {\n attrs: {\n bottom: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on,\n attrs\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g(_vm._b({\n staticClass: \"elevation-0 mr-2\",\n attrs: {\n fab: \"\",\n small: \"\",\n to: \"/touchpoints/0\",\n color: \"secondary\"\n }\n }, \"v-btn\", attrs, false), on), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_6__[\"VIcon\"], [_vm._v(\"mdi-file-plus\")])], 1)];\n }\n }])\n }, [_c(\"span\", [_vm._v(\"Create Touchpoint\")])]), _c(vuetify_lib_components_VDialog__WEBPACK_IMPORTED_MODULE_5__[\"VDialog\"], {\n attrs: {\n persistent: \"\",\n scrollable: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on: dialog,\n attrs\n }) {\n return [_c(vuetify_lib_components_VTooltip__WEBPACK_IMPORTED_MODULE_9__[\"VTooltip\"], {\n attrs: {\n bottom: \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function ({\n on: tooltip\n }) {\n return [_c(vuetify_lib_components_VBtn__WEBPACK_IMPORTED_MODULE_0__[\"VBtn\"], _vm._g(_vm._b({\n staticClass: \"mr-2 elevation-0\",\n attrs: {\n fab: \"\",\n color: \"secondary\",\n small: \"\"\n }\n }, \"v-btn\", attrs, false), {\n ...tooltip,\n ...dialog\n }), [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_6__[\"VIcon\"], [_vm._v(\"mdi-table-edit\")])], 1)];\n }\n }], null, true)\n }, [_c(\"span\", [_vm._v(\"Filter Columns\")])])];\n }\n }]),\n model: {\n value: _vm.columnOptionsDialog,\n callback: function ($$v) {\n _vm.columnOptionsDialog = $$v;\n },\n expression: \"columnOptionsDialog\"\n }\n }, [_c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCard\"], [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_8__[\"VToolbar\"], {\n attrs: {\n dense: \"\",\n dark: \"\",\n flat: \"\",\n color: \"secondary\"\n }\n }, [_c(vuetify_lib_components_VToolbar__WEBPACK_IMPORTED_MODULE_8__[\"VToolbarTitle\"], [_vm._v(\"Filter for Columns\")]), _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.closeColumnPrefs\n }\n }, [_c(vuetify_lib_components_VIcon__WEBPACK_IMPORTED_MODULE_6__[\"VIcon\"], [_vm._v(\"mdi-window-close\")])], 1)], 1), _c(vuetify_lib_components_VCard__WEBPACK_IMPORTED_MODULE_1__[\"VCardText\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VRow\"], {\n staticClass: \"mt-5\"\n }, _vm._l(_vm.columnOptions, function (option) {\n return _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VCol\"], {\n key: option.value,\n attrs: {\n cols: \"4\"\n }\n }, [_c(vuetify_lib_components_VCheckbox__WEBPACK_IMPORTED_MODULE_2__[\"VCheckbox\"], {\n attrs: {\n label: _vm.settings.optionStates[option.value] ? option.text : option.text + \" (Off)\"\n },\n model: {\n value: _vm.settings.optionStates[option.value],\n callback: function ($$v) {\n _vm.$set(_vm.settings.optionStates, option.value, $$v);\n },\n expression: \"settings.optionStates[option.value]\"\n }\n })], 1);\n }), 1)], 1)], 1)], 1)], 1), _c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VRow\"], [_c(vuetify_lib_components_VGrid__WEBPACK_IMPORTED_MODULE_3__[\"VCol\"], [_c(vuetify_lib_components_VDataTable__WEBPACK_IMPORTED_MODULE_4__[\"VDataTable\"], {\n attrs: {\n headers: _vm.headers,\n items: _vm.touchpointsList,\n search: _vm.search,\n \"loading-text\": \"Loading...\",\n loading: _vm.loading,\n dense: \"\"\n },\n on: {\n \"click:row\": _vm.tableClick\n },\n scopedSlots: _vm._u([{\n key: `item.createdAt`,\n fn: function ({\n item\n }) {\n return [_c(\"span\", [_vm._v(_vm._s(_vm._f(\"prettyFullDate\")(item.createdAt)))])];\n }\n }, {\n key: `item.direction`,\n fn: function ({\n item\n }) {\n return [_c(\"span\", [_vm._v(_vm._s(_vm._f(\"showDirection\")(item.direction)))])];\n }\n }], null, true)\n })], 1)], 1)], 1)], 1)], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/components/Touchpoints/TouchpointsList.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/Touchpoints/TouchpointsList.vue?vue&type=style&index=0&id=33d101d3&lang=scss&scoped=true": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/Touchpoints/TouchpointsList.vue?vue&type=style&index=0&id=33d101d3&lang=scss&scoped=true ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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[data-v-33d101d3] {\\n font-family: Roboto;\\n font-size: 16 .mdc-typography-style-headline --error;\\n font-size-color: red;\\n}\\n.v-card__title[data-v-33d101d3] {\\n padding: 8px 5px 3px !important;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/Touchpoints/TouchpointsList.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/Touchpoints/TouchpointsList.vue?vue&type=style&index=0&id=33d101d3&lang=scss&scoped=true": /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/Touchpoints/TouchpointsList.vue?vue&type=style&index=0&id=33d101d3&lang=scss&scoped=true ***! \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// style-loader: Adds some css to the DOM by adding a