{"version":3,"sources":["webpack:///./src/modules/homePage/dialogs/DialogNews.vue","webpack:///./src/modules/homePage/dialogs/DialogNews.vue?d53f","webpack:///./src/modules/homePage/dialogs/DialogNews.vue?4675","webpack:///./src/modules/homePage/dialogs/DialogNews.vue?7803","webpack:///./src/modules/homePage/dialogs/DialogNews.vue?8738"],"names":["render","_vm","this","_c","_self","_setupProxy","attrs","model","value","dialog","isOpen","callback","$$v","$set","expression","staticClass","on","$event","close","_v","_s","$translator","language","data","modules","homePage","news","text","staticStyle","panel","_l","newsPerYear","year","i","key","scopedSlots","_u","fn","proxy","n","dateCreation","_g","description","btnUrl","showButton","_e","staticRenderFns","mixins","extend","props","Openable","computed","dialogTitle","$database","globals","map","date","moment","format","NewsModel","make","regionId","forEach","Date","getFullYear","toString","push","currentYear","restrictedYears","Object","keys","filter","parseInt","result","sort","a","b","getTime","slice","component"],"mappings":"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","file":"js/chunk-fa48285e.664f216d.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-dialog',{attrs:{\"width\":\"1000\"},model:{value:(_vm.dialog.isOpen),callback:function ($$v) {_vm.$set(_vm.dialog, \"isOpen\", $$v)},expression:\"dialog.isOpen\"}},[_c('v-card',{staticClass:\"dialog--card\"},[_c('v-card-title',{staticClass:\"dialog--card_header\"},[_c('v-icon',{staticClass:\"mr-5\",attrs:{\"color\":\"white\",\"large\":\"\"},on:{\"click\":function($event){return _vm.dialog.close()}}},[_vm._v(\" mdi-close-circle-outline \")]),_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.homePage.news.text)+\" \")],1),_c('v-card',{staticStyle:{\"max-height\":\"70vh\",\"overflow\":\"hidden\",\"overflow-y\":\"auto\"},attrs:{\"flat\":\"\"}},[_c('v-expansion-panels',{staticClass:\"pa-5\",attrs:{\"flat\":\"\",\"mandatory\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},_vm._l((_vm.newsPerYear),function(year,i){return _c('v-expansion-panel',{key:i},[_c('v-expansion-panel-header',{staticStyle:{\"background\":\"var(--v-secondary-base)\",\"color\":\"white\",\"border-radius\":\"0px\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('v-icon',{attrs:{\"color\":\"white\"}},[_vm._v(\"mdi-menu-down\")])]},proxy:true}],null,true)},[_c('div',{staticClass:\"row justify-start\",staticStyle:{\"align-items\":\"center\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"white\"}},[_vm._v(\"mdi-newspaper\")]),_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.homePage.news.text)+\" - \"+_vm._s(year.year)+\" \")],1)]),_c('v-expansion-panel-content',[_c('v-list',_vm._l((year.news),function(n,i){return _c('v-list-item',{key:i,staticClass:\"mx-0 px-0\",staticStyle:{\"border-bottom\":\"1px solid var(--v-primary-lighten5)\"},attrs:{\"three-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(n.dateCreation))]),_c('v-tooltip',{attrs:{\"top\":\"\",\"color\":\"blue\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-list-item-subtitle',_vm._g({},on),[_vm._v(\" \"+_vm._s(n.description)+\" \")])]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(n.description)+\" \")])])],1),(n.btnUrl)?_c('v-list-item-action',[_c('v-list-item-action-text'),_c('v-btn',{staticClass:\"rounded-0\",attrs:{\"text\":\"\",\"outlined\":\"\",\"href\":n.btnUrl,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.homePage.news.showButton)+\" \")])],1):_vm._e()],1)}),1)],1)],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport mixins from 'vue-typed-mixins'\r\nimport Openable from '@/global/viewmodels/openable'\r\nimport NewsModel from '@/domain/globals/news'\r\nimport moment from 'moment'\r\n\r\ninterface NewsByYear {\r\n year: string\r\n news: NewsModel[]\r\n}\r\n\r\nexport default mixins().extend({\r\n props: { dialog: Openable },\r\n data() {\r\n return { panel: 1 }\r\n },\r\n computed: {\r\n dialogTitle(): string {\r\n return 'News & Updates'\r\n },\r\n /** Récupération et formattage des news au bon format */\r\n news(): NewsModel[] {\r\n return this.$database.globals.news.map(n => {\r\n const date = moment(n.dateCreation).format('LL')\r\n return NewsModel.make(date, n.description, n.regionId, n.btnUrl)\r\n })\r\n },\r\n\r\n /**\r\n * Formattage Order et Filter des news pour n'afficher que ce que l'on a besoin\r\n */\r\n newsPerYear(): NewsByYear[] {\r\n const newsPerYear: { [year: string]: NewsModel[] } = {}\r\n\r\n // Groupement des news par année\r\n this.news.forEach((news: NewsModel) => {\r\n const year: string = new Date(news.dateCreation)\r\n .getFullYear()\r\n .toString()\r\n if (!newsPerYear[year]) newsPerYear[year] = []\r\n newsPerYear[year].push(news)\r\n })\r\n\r\n // Récupérer les deux dernières années par rapport à l'année en cours\r\n const currentYear: number = new Date().getFullYear()\r\n const restrictedYears: string[] = Object.keys(newsPerYear).filter(\r\n year =>\r\n parseInt(year) >= currentYear - 1 && parseInt(year) <= currentYear\r\n )\r\n\r\n // Filtrer et trier les 10 dernières news des deux dernières années\r\n const result: NewsByYear[] = restrictedYears.map(year => ({\r\n year: year,\r\n news: newsPerYear[year]\r\n .sort(\r\n (a, b) =>\r\n new Date(b.dateCreation).getTime() -\r\n new Date(a.dateCreation).getTime()\r\n )\r\n .slice(0, 10)\r\n }))\r\n // Trier le résultat pour avoir l'année en cours au premier index de la liste\r\n result.sort((a, b) => {\r\n if (a.year === currentYear.toString()) return -1\r\n if (b.year === currentYear.toString()) return 1\r\n return parseInt(b.year) - parseInt(a.year)\r\n })\r\n\r\n return result\r\n }\r\n }\r\n})\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogNews.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogNews.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DialogNews.vue?vue&type=template&id=a594b6f6&scoped=true&\"\nimport script from \"./DialogNews.vue?vue&type=script&lang=ts&\"\nexport * from \"./DialogNews.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DialogNews.vue?vue&type=style&index=0&id=a594b6f6&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 \"a594b6f6\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogNews.vue?vue&type=style&index=0&id=a594b6f6&prod&lang=scss&scoped=true&\""],"sourceRoot":""}