Feat: read data from csv file
This commit is contained in:
		| @@ -1,6 +1,6 @@ | |||||||
| import path from 'path' | import path from 'path' | ||||||
| import Papa from 'papaparse' | import Papa from 'papaparse' | ||||||
| import { writeFile, readFileSync } from 'fs' | import { writeFile } from 'fs' | ||||||
|  |  | ||||||
| const config = { | const config = { | ||||||
|     namespaced: true, |     namespaced: true, | ||||||
| @@ -22,10 +22,6 @@ const config = { | |||||||
|             // load config file at  ~/.config/sousmargot/config.json |             // load config file at  ~/.config/sousmargot/config.json | ||||||
|             return context.state.userDir |             return context.state.userDir | ||||||
|         }, |         }, | ||||||
|         loadData (context) { |  | ||||||
|             // load data in userDir on dataFile |  | ||||||
|             console.log(readFileSync(context.getters.dataFilePath, "utf-8")) |  | ||||||
|         }, |  | ||||||
|         writeData (context) { |         writeData (context) { | ||||||
|             // overwrite the dataFile with months datas |             // overwrite the dataFile with months datas | ||||||
|             const months = context.rootGetters['travail/monthsAll'] |             const months = context.rootGetters['travail/monthsAll'] | ||||||
|   | |||||||
| @@ -1,3 +1,5 @@ | |||||||
|  | import { readFile } from 'fs' | ||||||
|  | import Papa from 'papaparse' | ||||||
|  |  | ||||||
| function monthCA(month) { | function monthCA(month) { | ||||||
|     if (month.ca_react) { |     if (month.ca_react) { | ||||||
| @@ -163,6 +165,14 @@ const travail = { | |||||||
|         }, |         }, | ||||||
|     }, |     }, | ||||||
|     mutations: { |     mutations: { | ||||||
|  |         cleanMonths (state) { | ||||||
|  |             // erase months | ||||||
|  |             state.months = [] | ||||||
|  |         }, | ||||||
|  |         importMonths(state, months) { | ||||||
|  |             // overwrite months | ||||||
|  |             state.months = months | ||||||
|  |         }, | ||||||
|         updateMonth(state, { date, month }) { |         updateMonth(state, { date, month }) { | ||||||
|             state.months[date] = month |             state.months[date] = month | ||||||
|         }, |         }, | ||||||
| @@ -174,6 +184,23 @@ const travail = { | |||||||
|         },  |         },  | ||||||
|     }, |     }, | ||||||
|     actions: { |     actions: { | ||||||
|  |         cleanMonths (context) { | ||||||
|  |             context.commit("cleanMonths") | ||||||
|  |         }, | ||||||
|  |         loadMonths (context) { | ||||||
|  |             // import all months from storage | ||||||
|  |  | ||||||
|  |             readFile(context.rootGetters["config/dataFilePath"], (err, data) => { | ||||||
|  |                 if (err) throw err; | ||||||
|  |                 const months = Papa.parse(data.toString(), {header: true}) | ||||||
|  |                     .data.reduce( | ||||||
|  |                         (acc, el) => { | ||||||
|  |                             acc[el.date] = el; | ||||||
|  |                             return acc | ||||||
|  |                         }, {}) | ||||||
|  |                 context.commit("importMonths", months) | ||||||
|  |             }) | ||||||
|  |         }, | ||||||
|         updateMonth(context, { date, month }) { |         updateMonth(context, { date, month }) { | ||||||
|             // update month's datas  |             // update month's datas  | ||||||
|             if (date in context.state.months) { |             if (date in context.state.months) { | ||||||
|   | |||||||
| @@ -39,12 +39,14 @@ export default { | |||||||
|     }, |     }, | ||||||
|     methods: { |     methods: { | ||||||
|         ...mapActions('config', { |         ...mapActions('config', { | ||||||
|             'loadData': 'loadData', |  | ||||||
|             'writeData': 'writeData', |             'writeData': 'writeData', | ||||||
|         }), |         }), | ||||||
|  |         ...mapActions('travail', { | ||||||
|  |             'loadMonths': 'loadMonths', | ||||||
|  |         }), | ||||||
|     }, |     }, | ||||||
|     mounted () { |     mounted () { | ||||||
|         this.loadData() |         this.loadMonths() | ||||||
|     },  |     },  | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user