{"version":3,"sources":["webpack:///./@core/pages/change-log/Changelog.vue?7f2c","webpack:///./@core/components/AppChangelog.vue?7564","webpack:///./@core/components/AppChangelog.vue","webpack:///./@core/components/AppChangelog.vue?9af9","webpack:///./@core/components/AppChangelog.vue?45c2","webpack:///./@core/pages/change-log/Changelog.vue","webpack:///./@core/pages/change-log/Changelog.vue?a204","webpack:///./@core/pages/change-log/Changelog.vue?9ccb","webpack:///./@core/pages/change-log/Changelog.vue?9499","webpack:///./@core/components/AppChangelog.vue?a115"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","attrs","model","value","callback","$$v","activeTab","expression","slot","frontendChangelog","faChangelog","staticRenderFns","filteredData","_l","changelog","index","key","_s","version","time","isChangesEmpty","changes","_e","category","categories","change","separator","BF","NF","BC","I","categoryKeys","Object","keys","legendObject","reduce","object","forEach","legend","substring","indexOf","substr","includes","push","data","filter","map","format","categorizeChanges","isEmpty","categoryKey","length","component","changeLog","error","console","$api","getFA","response","loadJSON","fetchData","components","AppChangelog"],"mappings":"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","file":"js/chunk-05bc9e10.d4c826dd.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page page-changelog\"},[_c('h1',[_vm._v(\"What's new on IFAM\")]),_c('el-tabs',{attrs:{\"tab-position\":\"top\",\"type\":\"border-card\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_c('el-tab-pane',{staticClass:\"tabe\",attrs:{\"name\":\"frontend\"}},[_c('span',{staticClass:\"tab-label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('i',{staticClass:\"el-icon-monitor\"}),_vm._v(\" Frontend \")]),_c('AppChangelog',{attrs:{\"data\":_vm.frontendChangelog}})],1),_c('el-tab-pane',{attrs:{\"name\":\"backend\"}},[_c('span',{staticClass:\"tab-label\",attrs:{\"slot\":\"label\"},slot:\"label\"},[_c('i',{staticClass:\"el-icon-office-building\"}),_vm._v(\" Backend \")]),_c('AppChangelog',{attrs:{\"data\":_vm.faChangelog}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"changelog\"},[(_vm.filteredData.length)?_c('el-timeline',_vm._l((_vm.filteredData),function(changelog,index){return _c('el-timeline-item',{key:index,attrs:{\"placement\":\"top\",\"hide-timestamp\":\"\",\"type\":\"success\",\"size\":\"normal\"}},[_c('h2',[_vm._v(\" \"+_vm._s(changelog.version)+\" \")]),_c('span',[_vm._v(\" \"+_vm._s(changelog.time)+\" \")]),_c('el-card',{staticClass:\"card\"},[(_vm.isChangesEmpty(changelog.changes))?_c('p',[_vm._v(\" No information provided \")]):_vm._e(),_vm._l((changelog.changes),function(changes,category){return [(changes.length)?[_c('h5',{key:category,staticClass:\"category\"},[(category === 'BF')?_c('i',{staticClass:\"el-icon-cpu\"}):_vm._e(),(category === 'NF')?_c('i',{staticClass:\"el-icon-star-on\"}):_vm._e(),(category === 'BC')?_c('i',{staticClass:\"el-icon-warning\"}):_vm._e(),(category === 'I')?_c('i',{staticClass:\"el-icon-odometer\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.categories[category])+\" \")]),_vm._l((changes),function(change,index){return _c('ul',{key:index},[(change)?_c('li',{key:index},[_vm._v(\" \"+_vm._s(change)+\" \")]):_vm._e()])})]:_vm._e()]})],2)],1)}),1):_c('p',[_vm._v(\" Failed to retrieve changelog \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport moment from 'moment'\n\n@Component\nexport default class AppChangelog extends Vue {\n @Prop() readonly data!: Array\n\n private separator = ': '\n // Bugfix(BF), NF(New Features), BC(Breaking Change), I(Improvement)\n private categories = {\n BF: 'Bug fixes',\n NF: 'New Features',\n BC: 'Breaking Changes',\n I: 'Improvements'\n }\n\n // Categorize each changes based on category\n categorizeChanges (changes: Array) {\n const categoryKeys = Object.keys(this.categories)\n\n // Make new object from categories array\n const legendObject = categoryKeys.reduce((object, key) => ({ ...object, [key]: [] }), {})\n\n changes.forEach(change => {\n const legend = change.substring(0, change.indexOf(this.separator))\n const value = change.substr(change.indexOf(this.separator) + 1)\n if (!legend || !categoryKeys.includes(legend)) {\n return\n }\n legendObject[legend].push(value)\n })\n return legendObject\n }\n\n get filteredData () {\n if (!this.data) {\n return []\n }\n return this.data\n .filter(changelog => changelog.version && changelog.time) // remove changes that doesnt have version & time\n .map((changelog) => {\n return {\n ...changelog,\n time: moment(changelog.time).format('MMMM DD, YYYY'),\n changes: this.categorizeChanges(changelog.changes)\n }\n })\n }\n\n isChangesEmpty (changes: object) {\n let isEmpty = true\n Object.keys(changes).forEach(categoryKey => {\n if (changes[categoryKey].length) {\n isEmpty = false\n }\n })\n return isEmpty\n }\n}\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!./AppChangelog.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!./AppChangelog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppChangelog.vue?vue&type=template&id=969d14e4&scoped=true&\"\nimport script from \"./AppChangelog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppChangelog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppChangelog.vue?vue&type=style&index=0&id=969d14e4&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 \"969d14e4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport { inject } from 'inversify-props'\nimport AppChangelog from '@core/components/AppChangelog.vue'\nimport API from '@core/services/API'\n\n@Component({\n components: {\n AppChangelog\n }\n})\nexport default class Changelog extends Vue {\n @inject()\n protected $api: API\n\n protected activeTab = 'frontend'\n\n protected faChangelog = []\n protected frontendChangelog = []\n\n async loadJSON () {\n try {\n this.frontendChangelog = require('@/config/changelog.json').changeLog\n } catch (error) {\n console.error(error)\n }\n }\n\n async fetchData () {\n const response = await this.$api.changelog.getFA()\n this.faChangelog = response.data\n }\n\n async mounted () {\n await this.loadJSON()\n await this.fetchData()\n }\n}\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!./Changelog.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!./Changelog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Changelog.vue?vue&type=template&id=5f62d6ec&scoped=true&\"\nimport script from \"./Changelog.vue?vue&type=script&lang=ts&\"\nexport * from \"./Changelog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Changelog.vue?vue&type=style&index=0&id=5f62d6ec&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 \"5f62d6ec\",\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!./Changelog.vue?vue&type=style&index=0&id=5f62d6ec&lang=scss&scoped=true&\"","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!./AppChangelog.vue?vue&type=style&index=0&id=969d14e4&lang=scss&scoped=true&\""],"sourceRoot":""}