From ca9b0552ef266dd4b001ef217cd1bf6ac90f7874 Mon Sep 17 00:00:00 2001 From: Ben Keen Date: Sat, 8 Feb 2020 13:11:28 -0800 Subject: [PATCH] refresh panel option now working --- README.md | 2 +- src/core/generator/generator.actions.ts | 26 ++++++++++++------------- src/core/generator/generator.reducer.ts | 7 +++++++ src/i18n/en.js | 4 +++- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 599e10871..d144146fe 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Coverage Status](https://coveralls.io/repos/github/benkeen/generatedata/badge.svg?branch=master)](https://coveralls.io/github/benkeen/generatedata?branch=master) This is the repo for the downloadable version of [generatedata.com](http://www.generatedata.com). The -script is basically an *engine* to generate any sort of random data in any format. It currently comes with 30 or +script is essentially an *engine* to generate any sort of random data in any format. It currently comes with 30 or so *Data Types* (types of data it generates), 8 *Export Types* (formats for the data), plus around 30 data sets for specific countries (city names, regions etc). But more importantly it can be extended in any way you want. Check out the [developer documentation](http://benkeen.github.io/generatedata/developer.html) for more information on that. If you need to generate random data programmatically rather than manually via the UI, you can use the [REST API](http://benkeen.github.io/generatedata/api.html). diff --git a/src/core/generator/generator.actions.ts b/src/core/generator/generator.actions.ts index cad3bff94..2fa055464 100644 --- a/src/core/generator/generator.actions.ts +++ b/src/core/generator/generator.actions.ts @@ -54,7 +54,7 @@ export const onSelectDataType = (id: string, dataType: string): any => { }); }); - // now regenerate the whole data set again (this could be smarter once we figure out dependencies) + // now regenerate the whole data set again (this has to be smarter once we figure out dependencies) const data = generateExportData({ numResults: selectors.getNumPreviewRows(state), columnTitles: selectors.getColumnTitles(state), @@ -101,12 +101,13 @@ export const toggleGrid = (): GDAction => ({ type: TOGGLE_GRID }); export const TOGGLE_PREVIEW = 'TOGGLE_PREVIEW'; export const togglePreview = (): GDAction => ({ type: TOGGLE_PREVIEW }); -export const REFRESH_PREVIEW = 'REFRESH_PREVIEW'; +export const REFRESH_PREVIEW_DATA = 'REFRESH_PREVIEW_DATA'; export const refreshPreview = (): any => { return (dispatch: any, getState: any): any => { const state = getState(); const template = selectors.getGenerationTemplate(state); + const sortedRows = selectors.getSortedRows(state); const data = generateExportData({ numResults: selectors.getNumPreviewRows(state), @@ -114,18 +115,17 @@ export const refreshPreview = (): any => { template }); - console.log('!!!', data); + const previewData: any = {}; + sortedRows.forEach((id: string, index: number) => { + previewData[id] = data.rows.map((row: any): any => row[index]); + }); - // now update the store in one go - // dispatch({ - // type: SELECT_DATA_TYPE, - // payload: { - // id, - // value: dataType, - // data: dataTypeDefaultState, - // generatedPreviewData - // } - // }); + dispatch({ + type: REFRESH_PREVIEW_DATA, + payload: { + previewData + } + }); }; }; diff --git a/src/core/generator/generator.reducer.ts b/src/core/generator/generator.reducer.ts index 545dda7c3..2faa9b4ee 100644 --- a/src/core/generator/generator.reducer.ts +++ b/src/core/generator/generator.reducer.ts @@ -127,6 +127,13 @@ export const reducer = (state: ReducerState = { }; } + case actions.REFRESH_PREVIEW_DATA: { + return { + ...state, + generatedPreviewData: action.payload.previewData + }; + }; + case actions.CONFIGURE_DATA_TYPE: return { ...state, diff --git a/src/i18n/en.js b/src/i18n/en.js index 20c22411d..5818b75b0 100644 --- a/src/i18n/en.js +++ b/src/i18n/en.js @@ -286,5 +286,7 @@ export default { "grid": "Grid", "preview": "Preview", no_data: "No data!", - add_some_data_desc: 'Add some rows in the Grid panel above' + add_some_data_desc: 'Add some rows in the Grid panel above', + refresh_panel: 'Refresh Panel', + close_panel: 'Close panel' };