{"version":3,"sources":["webpack:///./src/mixins/reportDownloadMixin.js","webpack:///./src/mixins/securityMixin.js","webpack:///./src/views/programs/pw/conversations/ConversationsList.vue?dbd2","webpack:///src/views/programs/pw/conversations/ConversationsList.vue","webpack:///./src/views/programs/pw/conversations/ConversationsList.vue?c724","webpack:///./src/views/programs/pw/conversations/ConversationsList.vue","webpack:///./src/views/programs/pw/conversations/ConversationsList.vue?4d43","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js"],"names":["reportDownloadMixin","methods","downloadReport","reportUrl","filename","filetype","payload","this","setLoadingStatus","reportdata","report_path","request_method","JSON","stringify","store","dispatch","then","response","headers","blob","Blob","data","type","link","document","createElement","href","URL","createObjectURL","download","includes","click","revokeObjectURL","console","error","downloadCampReport","siteCoreKey","orgKey","startDate","endDate","overviewSitecorekey","axios","get","API_CONFIG","getReportCampOverview","responseType","getReportCampDetail","status","Error","url","endDateObj","date","Date","getFullYear","getMonth","formattedEndDate","year","month","String","padStart","day","getDate","body","appendChild","removeChild","securityMixin","mapActions","inSuperRole","role","constantData","super_roles","map","sr","key","determineAccessibility","ctl","profile","camp_match","country_match","region_match","state_match","super_match","userLogin","croles","filter","sf","rle_key","iCanSee","length","controlPermissions","cpf","vcxr_ctl_key","rl","role_find","find","cf","vcxr_rle_key","vogs_org_type","individualProfile","camp_number","campnumber","officerToolbarSelected","camp_name","campname","substr","membertype","toLowerCase","country_state","statekey","region_1_key","region_2_key","conversationsICanSee","ctrl","foundInInstructorsAndEus","instructors_and_eus","findIndex","ieu","ind_key","demograph","computed","mapGetters","userSelectedIndividualKey","userLanguageKey","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","translations","tcConversationsList","allowPage","_e","attrs","components","tcTemporarilyChangeCamps","on","$event","page_load","secured_controls","export_conversations_button","preventDefault","exportConversationHistoryRoute","tcExportConversations","dataTableFields","itemsUpcoming","hiddenItems","addItems","add_conversation_button","tcUpcomingConversations","addConversation","itemsPast","tcPastConversations","staticRenderFns","name","mixins","display","text","action","reportName","loadTranslations","tcAddConversation","loadDataTableFields","loadDataTableItems","conversations_list","conversations_list_upcoming","cvs_key","el","mtg_key","mtg_start_date","meeting_type","mtg_title","instructor_name","location","attendee_count","conversations_list_past","textA","a","toUpperCase","textB","b","mounted","campSelector","CampSelect","dataTable","securityBanner","SecurityBanner","component","$export","$pad","userAgent","WEBKIT_BUG","test","P","F","maxLength","arguments","undefined"],"mappings":"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","file":"js/chunk-721cad9f.db6b33a6.js","sourcesContent":["import store from '../store'\nimport { API_CONFIG } from '@/config/api.config.js'\nimport axios from 'axios'\n\n/* eslint-disable */\nexport const reportDownloadMixin = {\n methods: {\n async downloadReport(reportUrl, filename, filetype, payload = null) {\n if (this.setLoadingStatus) {\n this.setLoadingStatus(true)\n }\n try {\n let reportdata = {\n report_path: reportUrl,\n request_method: !!payload ? 'POST' : 'GET',\n payload: !!payload ? JSON.stringify(payload) : null\n }\n await store.dispatch('report/getReportStream', reportdata).then((response) => {\n if (response.headers['content-type'] && response.headers['content-length'] != '0') {\n const blob = new Blob([response.data], { type: response.headers['content-type'] })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.download = filename + (['csv', 'excel'].includes(filetype) ? '.xlsx' : '.pdf')\n link.click()\n URL.revokeObjectURL(link.href)\n }\n })\n } catch (e) {\n console.error(e)\n } finally {\n if (this.setLoadingStatus) {\n this.setLoadingStatus(false)\n }\n }\n },\n\n // Code for reports for Camp reports\nasync downloadCampReport(siteCoreKey, orgKey, startDate, endDate) {\n try {\n let response;\n const overviewSitecorekey = 'tcCampCalendarOverviewReport'\n\n if (siteCoreKey === overviewSitecorekey) {\n response = await axios.get(API_CONFIG.getReportCampOverview(startDate, orgKey), {\n responseType: 'blob', // Specify the response type as 'blob'\n });\n } else {\n response = await axios.get(API_CONFIG.getReportCampDetail(startDate, endDate, orgKey), {\n responseType: 'blob', // Specify the response type as 'blob'\n });\n }\n\n if (response.status !== 200) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n // Create a download link\n const blob = response.data;\n const link = document.createElement('a');\n const url = URL.createObjectURL(blob);\n link.href = url;\n\n if (siteCoreKey === overviewSitecorekey) {\n const endDateObj = (date = new Date(startDate)) =>\n new Date(date.getFullYear(), date.getMonth() + 12 + 1, 0);\n\n const formattedEndDate = (date) => {\n const endDate = endDateObj(date);\n const year = endDate.getFullYear();\n const month = String(endDate.getMonth() + 1).padStart(2, '0'); \n const day = String(endDate.getDate()).padStart(2, '0');\n return `${year}-${month}-${day}`;\n };\n\n endDate = formattedEndDate(new Date(startDate));\n\n // Set the download link filename with correct date format\n link.download = `Calendar_Overview_Report_${startDate}_${endDate}.xlsx`;\n } else {\n link.download = `Calendar_Detailed_Report_${startDate}_${endDate}.xlsx`;\n }\n\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n } catch (error) {\n console.error('Error downloading the report:', error);\n }\n}},\n}\n\nexport default reportDownloadMixin\n","/* eslint-disable */\nimport constantData from '@/json/data.json'\nimport { mapActions, mapGetters } from 'vuex'\n\nexport const securityMixin = {\n methods: {\n ...mapActions({\n setLoadingStatus: 'menu/setLoadingStatus'\n }),\n inSuperRole(role) {\n return constantData.super_roles.map(sr => sr.key).includes(role)\n },\n determineAccessibility(ctl, profile = false) {\n let camp_match = false\n let country_match = false\n let region_match = false\n let state_match = false\n let super_match = this.userLogin.croles.filter(sf => this.inSuperRole(sf.rle_key) && this.iCanSee(ctl)).length > 0\n if (!super_match) {\n this.controlPermissions\n .filter(cpf => cpf.vcxr_ctl_key === ctl)\n .map(rl => {\n let role_find = this.userLogin.croles.find(cf => cf.rle_key === rl.vcxr_rle_key)\n if (!!role_find) {\n if (!camp_match) {\n if (profile) {\n camp_match =\n rl.vogs_org_type === 'Camp' &&\n !!this.individualProfile &&\n !!this.individualProfile.camp_number &&\n this.individualProfile.camp_number === this.userLogin.campnumber\n } else {\n camp_match =\n rl.vogs_org_type === 'Camp' &&\n (!!this.officerToolbarSelected.camp_name\n ? this.officerToolbarSelected.camp_name === this.userLogin.campname\n : this.officerToolbarSelected.camp_number === this.userLogin.campnumber)\n }\n }\n if (!state_match) {\n if (profile) {\n state_match =\n rl.vogs_org_type === 'State' &&\n !!this.individualProfile &&\n !!this.individualProfile.camp_number &&\n this.individualProfile.camp_number.substr(0, 3) === this.userLogin.campnumber.substr(0, 3)\n } else {\n state_match =\n rl.vogs_org_type === 'State' &&\n this.officerToolbarSelected.camp_number.substr(0, 3) === this.userLogin.campnumber.substr(0, 3)\n }\n }\n if (!country_match) {\n if (profile) {\n country_match =\n rl.vogs_org_type === 'Country' &&\n ['icc', 'ioc'].includes(this.userLogin.membertype.toLowerCase()) &&\n !!this.individualProfile &&\n !!this.individualProfile.camp_number &&\n this.individualProfile.camp_number.substr(0, 3) === this.userLogin.campnumber.substr(0, 3)\n } else {\n country_match =\n rl.vogs_org_type === 'Country' &&\n ['icc', 'ioc'].includes(this.userLogin.membertype.toLowerCase()) &&\n this.officerToolbarSelected.country_state === this.userLogin.statekey\n }\n }\n if (!region_match) {\n region_match =\n rl.vcxr_rle_key === constantData.region_1_key || rl.vcxr_rle_key === constantData.region_2_key\n }\n }\n })\n return state_match === true || country_match === true || camp_match === true || region_match === true\n } else {\n // super roles exceptions were made in the API\n return true\n } // clear out state.control_permissions\n },\n // this is a special case for conversations that augments the ICanSee() method\n conversationsICanSee(ctrl) {\n let foundInInstructorsAndEus = this.instructors_and_eus.findIndex(ieu => ieu.ind_key === this.demograph.ind_key) > -1\n if (foundInInstructorsAndEus) {\n return true\n }\n if (!ctrl) {\n return false\n }\n this.iCanSee(ctrl)\n return this.iCanSee(ctrl)\n }\n },\n computed: {\n ...mapGetters({\n controlPermissions: 'user/controlPermissions',\n instructors_and_eus: 'conversations/instructors_and_eus',\n demograph: 'user/demograph',\n iCanSee: 'user/iCanSee',\n individualProfile: 'membership/individualProfileHeader',\n officerToolbarSelected: 'user/officerToolbarSelected',\n userSelectedIndividualKey: 'user/userSelectedIndividualKey',\n userLanguageKey: 'user/userLanguageKey'\n }),\n }\n}\n\nexport default securityMixin\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"presentations template-1\"},[_c('header',{staticClass:\"page-header container\"},[_c('h1',[_vm._v(_vm._s(_vm.translations.tcConversationsList))])]),(!_vm.allowPage)?_c('security-banner',{attrs:{\"i18n\":_vm.translations.components}}):_vm._e(),(_vm.allowPage)?_c('div',[_c('camp-selector',{attrs:{\"showCamp\":false,\"tooltip\":_vm.translations.tcTemporarilyChangeCamps,\"i18n\":_vm.translations.components},on:{\"camp_changed\":function($event){return _vm.page_load($event)}}}),_c('section',{staticClass:\"list container\"},[(_vm.conversationsICanSee(_vm.secured_controls.export_conversations_button))?_c('a',{staticClass:\"btn btn-dark flex-0 mr-2\",on:{\"click\":function($event){$event.preventDefault();return _vm.downloadReport(_vm.exportConversationHistoryRoute, 'conversationslist', 'csv')}}},[_vm._v(_vm._s(_vm.translations.tcExportConversations))]):_vm._e()]),_c('data-table',{attrs:{\"fields\":_vm.dataTableFields,\"items\":_vm.itemsUpcoming,\"hiddenItems\":_vm.hiddenItems,\"showExportBtn\":false,\"addItems\":_vm.addItems,\"includeAddButton\":_vm.conversationsICanSee(_vm.secured_controls.add_conversation_button),\"searchTerm\":\"conversationsTerm\",\"title\":_vm.translations.tcUpcomingConversations,\"i18n\":_vm.translations.components},on:{\"addConversation\":_vm.addConversation}}),_c('a',{attrs:{\"id\":\"pastconversations\"}}),_c('data-table',{attrs:{\"fields\":_vm.dataTableFields,\"items\":_vm.itemsPast,\"hiddenItems\":_vm.hiddenItems,\"showExportBtn\":false,\"addItems\":_vm.addItems,\"includeAddButton\":false,\"searchTerm\":\"conversationsTerm\",\"title\":_vm.translations.tcPastConversations,\"i18n\":_vm.translations.components},on:{\"addConversation\":_vm.addConversation}}),_c('footer',{staticClass:\"page-footer\"})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"presentations template-1\">\n <header class=\"page-header container\">\n <h1>{{ translations.tcConversationsList }}</h1>\n </header>\n <security-banner v-if=\"!allowPage\" :i18n=\"translations.components\"></security-banner>\n <div v-if=\"allowPage\">\n <!-- / Page Header -->\n <camp-selector @camp_changed=\"page_load($event)\" :showCamp=\"false\"\n :tooltip=\"translations.tcTemporarilyChangeCamps\" :i18n=\"translations.components\"></camp-selector>\n <!-- / Camp Selector -->\n\n <section class=\"list container\">\n <a class=\"btn btn-dark flex-0 mr-2\" v-if=\"conversationsICanSee(secured_controls.export_conversations_button)\"\n @click.prevent=\"downloadReport(exportConversationHistoryRoute, 'conversationslist', 'csv')\">{{ translations.tcExportConversations }}</a>\n </section>\n <data-table :fields=\"dataTableFields\" :items=\"itemsUpcoming\" :hiddenItems=\"hiddenItems\" :showExportBtn=\"false\"\n :addItems=\"addItems\" :includeAddButton=\"conversationsICanSee(secured_controls.add_conversation_button)\"\n @addConversation=\"addConversation\" :searchTerm=\"`conversationsTerm`\"\n :title=\"translations.tcUpcomingConversations\" :i18n=\"translations.components\"></data-table>\n <a id=\"pastconversations\" />\n <data-table :fields=\"dataTableFields\" :items=\"itemsPast\" :hiddenItems=\"hiddenItems\" :showExportBtn=\"false\"\n :addItems=\"addItems\" :includeAddButton=\"false\" @addConversation=\"addConversation\"\n :searchTerm=\"`conversationsTerm`\" :title=\"translations.tcPastConversations\"\n :i18n=\"translations.components\"></data-table>\n <footer class=\"page-footer\"></footer>\n </div>\n </div>\n\n</template>\n\n<script>\n/* eslint-disable */\nimport { mapActions, mapGetters } from 'vuex'\nimport CampSelect from '@/components/CampSelect.vue'\nimport DataTable from '@/components/DataTableConversations.vue'\nimport { reportDownloadMixin } from '@/mixins/reportDownloadMixin'\nimport SecurityBanner from '@/components/SecurityBanner'\nimport { securityMixin } from '@/mixins/securityMixin'\nimport { translationMixin } from '@/mixins/translationMixin'\n\nexport default {\n name: 'conversations-list',\n mixins: [reportDownloadMixin, translationMixin, securityMixin],\n data() {\n return {\n addItems: {\n display: true,\n text: 'Add Conversation',\n action: 'addConversation'\n },\n dataTableFields: [],\n hiddenItems: {\n display: false\n },\n itemsPast: [],\n itemsUpcoming: [],\n reportName: 'Instructors',\n secured_controls: {\n add_conversation_button: 'c530dd36-6a4b-43c3-8b55-bc5da53644c4',\n export_conversations_button: '3e926567-6c43-4db2-a448-1c293e3172d1'\n },\n translations: {},\n allowPage: true\n }\n },\n computed: {\n ...mapGetters({\n demograph: 'user/demograph',\n conversations_list: 'conversations/conversations_list',\n conversations_list_past: 'conversations/conversations_list_past',\n conversations_list_upcoming: 'conversations/conversations_list_upcoming',\n exportConversationHistoryRoute: 'conversations/exportConversationHistoryRoute',\n officerToolbarSelected: 'user/officerToolbarSelected',\n otfbCountry: 'conversations/otfbCountry',\n prefCulture: 'user/userPreferredCulture',\n })\n },\n async created() {\n try {\n this.setLoadingStatus(true)\n await Promise.all([\n this.getViewTranslations(),\n this.getComponentTranslations('data-table-conversations', 'security-banner', 'camp-select')\n ]).then(results => {\n const componentTranslations = results[1]\n this.$set(this.translations, 'components', componentTranslations)\n this.loadTranslations()\n })\n await this.page_load()\n } catch (e) {\n console.error(e)\n } finally {\n this.setLoadingStatus(false)\n }\n },\n methods: {\n ...mapActions({\n clearConversation: 'conversations/clearConversation',\n loadConversationsByOrgKey: 'conversations/loadConversationsByOrgKey',\n loadExportConversationHistoryRoute: 'conversations/loadExportConversationHistoryRoute',\n setLoadingStatus: 'menu/setLoadingStatus',\n }),\n async page_load(evt) {\n if (!evt) {\n // execute only if evt is undefined\n try {\n if (!this.loading) this.setLoadingStatus(true)\n const payload = {\n org_key: this.officerToolbarSelected.country_state\n }\n\n await Promise.all([this.loadConversationsByOrgKey(payload)]).then(() => {\n this.loadDataTableItems()\n this.loadExportConversationHistoryRoute(this.officerToolbarSelected.country_state)\n })\n } catch (e) {\n console.error('Error in Instructors.vue, page_load()', e)\n } finally {\n this.setLoadingStatus(false)\n }\n }\n },\n async addConversation() {\n await this.clearConversation()\n this.$router.push('/programs/pw/conversations/add')\n },\n loadTranslations() {\n this.addItems.text = this.translations.tcAddConversation\n this.loadDataTableFields()\n },\n loadDataTableFields() {\n this.dataTableFields = [\n { key: 'mtg_start_date', label: `${this.translations.tcMtgStartDate}`, sortable: true },\n {\n key: 'meeting_type',\n label: `${this.translations.tcMeetingType}`,\n sortable: true\n },\n { key: 'mtg_title', label: `${this.translations.tcMtgTitle}`, sortable: true },\n { key: 'instructor_name', label: `${this.translations.tcInstructorName}`, sortable: true },\n { key: 'location', label: `${this.translations.tcLocation}`, sortable: false },\n { key: 'attendee_count', label: `${this.translations.tcAttendees}`, sortable: false }\n ]\n },\n loadDataTableItems() {\n if (!this.translations.components || !this.conversations_list) return false\n this.itemsUpcoming = this.conversations_list_upcoming.map(el => {\n return {\n cvs_key: el.cvs_key,\n mtg_key: el.mtg_key,\n mtg_start_date: el.mtg_start_date,\n meeting_type: el.meeting_type,\n mtg_title: el.mtg_title,\n instructor_name: el.instructor_name,\n location: el.location,\n attendee_count: el.attendee_count\n }\n })\n this.itemsPast = this.conversations_list_past.map(el => {\n return {\n cvs_key: el.cvs_key,\n mtg_key: el.mtg_key,\n mtg_start_date: el.mtg_start_date,\n meeting_type: el.meeting_type,\n mtg_title: el.mtg_title,\n instructor_name: el.instructor_name,\n location: el.location,\n attendee_count: el.attendee_count\n }\n }).sort((a, b) => { //sort by date descending\n var textA = a.mtg_start_date.toUpperCase()\n var textB = b.mtg_start_date.toUpperCase()\n return textA > textB ? -1 : textA < textB ? 1 : 0\n })\n },\n },\n mounted() { },\n components: {\n campSelector: CampSelect,\n dataTable: DataTable,\n securityBanner: SecurityBanner,\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/styles/settings.scss';\n@import '@/styles/views/ChurchList.scss';\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConversationsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConversationsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConversationsList.vue?vue&type=template&id=669af7d0&scoped=true&\"\nimport script from \"./ConversationsList.vue?vue&type=script&lang=js&\"\nexport * from \"./ConversationsList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConversationsList.vue?vue&type=style&index=0&id=669af7d0&prod&lang=scss&scoped=true&\"\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 \"669af7d0\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??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/index.js??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/index.js??vue-loader-options!./ConversationsList.vue?vue&type=style&index=0&id=669af7d0&prod&lang=scss&scoped=true&\"","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n"],"sourceRoot":""}