{"version":3,"sources":["webpack:///./src/assets/document.svg","webpack:///./src/views/configuration/news.vue?63bc","webpack:///src/views/configuration/news.vue","webpack:///./src/views/configuration/news.vue?67e1","webpack:///./src/views/configuration/news.vue","webpack:///./src/assets/red_x.svg","webpack:///./src/views/configuration/news.vue?e90b","webpack:///./src/utils/toast.js"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","isPageLoading","on","$event","_e","_v","newNewsItem","getNewsList","length","_l","entry","eIndex","key","_s","title","summary","link","zone","zIndex","_f","createdOn","preventDefault","editNewsItem","id","deleteNewsItem","staticRenderFns","name","components","data","maxAllowedNewsItems","computed","methods","toggleNews","toggleNewsEnabled","selection","then","resetNews","fetchNews","mounted","Promise","all","component","defaultOptions","noCloseButton","autoHideDelay","toaster","isStatus","success","context","message","overrideOptions","options","variant","$root","$bvToast","toast","danger"],"mappings":"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","file":"js/chunk-5779d3d2.7ecb67de.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/document.fac8cbfe.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('div',{staticClass:\"main_page\"},[_c('app-navbar'),_c('div',{staticClass:\"page\"},[_c('loading',{attrs:{\"active\":_vm.isPageLoading,\"is-full-page\":\"\"},on:{\"update:active\":function($event){_vm.isPageLoading=$event}}}),(!_vm.isPageLoading)?_c('div',[_c('div',{staticClass:\"page-title\"},[_c('h1',[_vm._v(\"News\")])]),_c('div',{staticClass:\"page-content\"},[_c('div',{staticClass:\"d-flex align-items-center mb-5 bd-highlight\"},[_c('div',{staticClass:\"ml-auto\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.newNewsItem}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Add News Item \")])])]),(!_vm.getNewsList.length)?_c('div',{staticClass:\"alert alert-warning mt-3\",attrs:{\"role\":\"alert\"}},[_vm._v(\" No News available. \")]):_c('div',{staticClass:\"table-responsive mt-3\"},[_c('table',{staticClass:\"table table-hover\"},[_c('thead',[_c('tr',[_c('td',{attrs:{\"scope\":\"col\"}},[_vm._v(\" News Title \")]),_c('td',{attrs:{\"scope\":\"col\"}},[_vm._v(\" News Summary \")]),_c('td',{attrs:{\"scope\":\"col\"}},[_vm._v(\" News Link \")]),_c('td',{attrs:{\"scope\":\"col\"}},[_vm._v(\" Share With \")]),_c('td',{attrs:{\"scope\":\"col\"}},[_vm._v(\" Created Date \")]),_c('td',{attrs:{\"scope\":\"col\",\"width\":\"75px\"}})])]),_c('tbody',_vm._l((_vm.getNewsList),function(entry,eIndex){return _c('tr',{key:'news-' + eIndex},[_c('td',[_vm._v(\" \"+_vm._s(entry.title)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(entry.summary)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(entry.link)+\" \")]),_c('td',_vm._l((entry.zoneAbbreviations),function(zone,zIndex){return _c('span',{key:'news-zone-' + zIndex},[_vm._v(\" \"+_vm._s(zone)+\" \")])}),0),_c('td',[_vm._v(\" \"+_vm._s(_vm._f(\"datetime\")(entry.createdOn || 'N/A','MMMM dd yyyy, h:mm aa'))+\" \")]),_c('td',[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('div',{staticClass:\"pl-2 pr-2 flex-fill\"},[_c('a',{staticClass:\"d-flex justify-content-between align-items-center flex-column\",attrs:{\"href\":\"#\",\"role\":\"button\",\"title\":\"Edit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.editNewsItem(entry.id)}}},[_c('img',{staticClass:\"mb-1\",attrs:{\"src\":require(\"@/assets/document.svg\"),\"alt\":\"\"}}),_c('span',{staticClass:\"small-grey\"},[_vm._v(\"Edit\")])])]),_c('div',{staticClass:\"pl-2 pr-2 flex-fill\"},[_c('a',{staticClass:\"d-flex justify-content-between align-items-center flex-column\",attrs:{\"href\":\"#\",\"role\":\"button\",\"title\":\"Delete\"},on:{\"click\":function($event){$event.preventDefault();return _vm.deleteNewsItem(entry.id)}}},[_c('img',{staticClass:\"mb-1\",attrs:{\"src\":require(\"@/assets/red_x.svg\"),\"alt\":\"\"}}),_c('span',{staticClass:\"small-grey\"},[_vm._v(\"Delete\")])])])])])])}),0)])])])]):_vm._e()],1)],1),_c('b-modal',{attrs:{\"id\":\"bv-modal-news-article\",\"size\":\"lg\",\"hide-header\":\"\",\"hide-footer\":\"\",\"no-close-on-backdrop\":true}},[_c('news-article')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <fragment>\r\n <div class=\"main_page\">\r\n <app-navbar></app-navbar>\r\n <div class=\"page\">\r\n <loading :active.sync=\"isPageLoading\" is-full-page></loading>\r\n <div v-if=\"!isPageLoading\">\r\n <div class=\"page-title\">\r\n <h1>News</h1>\r\n </div>\r\n <div class=\"page-content\">\r\n <div class=\"d-flex align-items-center mb-5 bd-highlight\" >\r\n <div class=\"ml-auto\">\r\n <button type=\"button\" class=\"btn btn-primary\" @click=\"newNewsItem\">\r\n <i class=\"fas fa-plus\"></i>\r\n Add News Item\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"alert alert-warning mt-3\" role=\"alert\" v-if=\"!getNewsList.length\">\r\n No News available.\r\n </div>\r\n\r\n <div class=\"table-responsive mt-3\" v-else>\r\n <table class=\"table table-hover\">\r\n <thead>\r\n <tr>\r\n <td scope=\"col\"> News Title </td>\r\n <td scope=\"col\"> News Summary </td>\r\n <td scope=\"col\"> News Link </td>\r\n <td scope=\"col\"> Share With </td>\r\n <td scope=\"col\"> Created Date </td>\r\n <td scope=\"col\" width=\"75px\"> </td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr v-for=\"(entry, eIndex) in getNewsList\" :key=\"'news-' + eIndex\">\r\n <td> {{ entry.title }} </td>\r\n <td> {{ entry.summary }} </td>\r\n <td> {{ entry.link }} </td>\r\n <td>\r\n <span v-for=\"(zone, zIndex) in entry.zoneAbbreviations\" :key=\"'news-zone-' + zIndex\">\r\n {{ zone }}\r\n </span>\r\n </td>\r\n <td> {{ entry.createdOn || 'N/A' | datetime('MMMM dd yyyy, h:mm aa') }} </td>\r\n <td>\r\n <div class=\"d-flex align-items-start\">\r\n <div class=\"pl-2 pr-2 flex-fill\">\r\n <a href=\"#\" role=\"button\" title=\"Edit\" class=\"d-flex justify-content-between align-items-center flex-column\"\r\n @click.prevent=\"editNewsItem(entry.id)\">\r\n <img src=\"@/assets/document.svg\" alt=\"\" class=\"mb-1\">\r\n <span class=\"small-grey\">Edit</span>\r\n </a>\r\n </div>\r\n <div class=\"pl-2 pr-2 flex-fill\">\r\n <a href=\"#\" role=\"button\" title=\"Delete\" class=\"d-flex justify-content-between align-items-center flex-column\"\r\n @click.prevent=\"deleteNewsItem(entry.id)\">\r\n <img src=\"@/assets/red_x.svg\" alt=\"\" class=\"mb-1\">\r\n <span class=\"small-grey\">Delete</span>\r\n </a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <b-modal id=\"bv-modal-news-article\" size=\"lg\" hide-header hide-footer :no-close-on-backdrop=\"true\">\r\n <news-article></news-article>\r\n </b-modal>\r\n </fragment>\r\n</template>\r\n\r\n<style scoped>\r\n h2 {\r\n font-size: 18px;\r\n }\r\n</style>\r\n\r\n<script>\r\nimport { mapGetters, mapActions } from \"vuex\";\r\nimport MessageBox from \"@/utils/messagebox\";\r\nimport Toast from \"@/utils/toast\";\r\n\r\nexport default {\r\n name: \"news\",\r\n components: {\r\n 'app-navbar': () => import('@/components/app-navbar.vue'),\r\n 'news-article': () => import('@/views/configuration/components/news-article.vue')\r\n },\r\n data: function() {\r\n return {\r\n isPageLoading: true,\r\n maxAllowedNewsItems: 5\r\n };\r\n },\r\n computed: {\r\n ...mapGetters([\"getNewsList\", \"getIsNewsEnabled\", \"getZones\"])\r\n },\r\n methods: {\r\n toggleNews (e) {\r\n let selection = e.target.checked;\r\n this.toggleNewsEnabled(selection).then(() => {\r\n Toast.success(this, `News are now ${ selection ? 'enabled' : 'disabled' }`);\r\n });\r\n },\r\n newNewsItem() {\r\n this.resetNews().then(() => {\r\n this.$bvModal.show(\"bv-modal-news-article\");\r\n });\r\n },\r\n editNewsItem(id) {\r\n this.fetchNews(id).then(() => {\r\n this.$bvModal.show(\"bv-modal-news-article\");\r\n });\r\n },\r\n async deleteNewsItem(id) {\r\n let confirm = await MessageBox.confirm(this, \"Remove News Item\", \"Are you sure you want to remove news item?\");\r\n\r\n if (confirm) {\r\n this.removeNews(id).then(() => {\r\n Toast.success(this, \"Successfully removed news item!\");\r\n });\r\n }\r\n },\r\n ...mapActions([\"fetchNews\", \"fetchNewsList\", \"removeNews\", \"resetNews\", \"toggleNewsEnabled\", \"fetchZones\"])\r\n },\r\n mounted: function() {\r\n Promise.all([\r\n this.fetchNewsList(),\r\n ])\r\n .then(() => {\r\n this.isPageLoading = false;\r\n });\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./news.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./news.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./news.vue?vue&type=template&id=10843e0f&scoped=true&\"\nimport script from \"./news.vue?vue&type=script&lang=js&\"\nexport * from \"./news.vue?vue&type=script&lang=js&\"\nimport style0 from \"./news.vue?vue&type=style&index=0&id=10843e0f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"10843e0f\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/red_x.d0ed53ac.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./news.vue?vue&type=style&index=0&id=10843e0f&scoped=true&lang=css&\"","const defaultOptions = {\r\n noCloseButton: true,\r\n autoHideDelay: 3000,\r\n toaster: \"b-toaster-top-right\",\r\n isStatus: true\r\n};\r\n\r\nconst success = function (context, message, overrideOptions) {\r\n let options = { variant: 'success', ...defaultOptions, ...overrideOptions };\r\n context.$root.$bvToast.toast(message, options);\r\n}\r\n\r\nconst danger = function (context, message, overrideOptions) {\r\n let options = { variant: 'danger', ...defaultOptions, ...overrideOptions };\r\n context.$root.$bvToast.toast(message, options);\r\n}\r\n\r\nexport default { success, danger }\r\n"],"sourceRoot":""}