Skip to content

Commit

Permalink
feat: Build a container block that shows all the staging operations w…
Browse files Browse the repository at this point in the history
…ith a commit button #116
  • Loading branch information
danielstefanequilobe committed Dec 23, 2021
1 parent a5d283c commit 1aecd2a
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 6 deletions.
14 changes: 12 additions & 2 deletions src/pages/Projects/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,23 @@ import {
PrimaryButton,
} from '../../components';

import { getProjects } from '../../store/actions/climateWarehouseActions';
import {
getProjects,
getStagingData,
} from '../../store/actions/climateWarehouseActions';

const Projects = withRouter(({ history }) => {
const dispatch = useDispatch();
const climateWarehouseStore = useSelector(store => store.climateWarehouse);

useEffect(() => dispatch(getProjects({ useMockedResponse: false })), []);
useEffect(() => {
dispatch(getProjects({ useMockedResponse: false }))
dispatch(getStagingData({ useMockedResponse: false }));
}, []);

useEffect(() => {
console.log(climateWarehouseStore.stagingData);
}, [climateWarehouseStore.stagingData]);

if (
!climateWarehouseStore.projects ||
Expand Down
45 changes: 41 additions & 4 deletions src/store/actions/climateWarehouseActions.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,48 @@ const getClimateWarehouseTable = (
};
};

const formatStagingData = dataArray => {
const splittedByTable = _.groupBy(dataArray, 'table');

splittedByTable.Projects =
(splittedByTable.Projects &&
_.groupBy(splittedByTable.Projects, 'commited')) ??
[];

splittedByTable.Units =
(splittedByTable.Units && _.groupBy(splittedByTable.Units, 'commited')) ??
[];

const splittedAndFormatted = {
projects: {
pending:
(splittedByTable.Projects.true && [...splittedByTable.Projects.true]) ??
[],
staging:
(splittedByTable.Projects.false && [
...splittedByTable.Projects.false,
]) ??
[],
},
units: {
pending:
(splittedByTable.Units.true && [...splittedByTable.Units.true]) ?? [],
staging:
(splittedByTable.Units.false && [...splittedByTable.Projects.false]) ??
[],
},
};
return splittedAndFormatted;
};

export const mockGetStagingDataResponse = {
type: actions.GET_PROJECT_LOCATIONS,
payload: _.get(stagingDataResponseStub, 'default', stagingDataResponseStub),
type: actions.GET_STAGING_DATA,
payload: formatStagingData(
_.get(stagingDataResponseStub, 'default', stagingDataResponseStub),
),
};

export const getStagingData = (useMockedResponse = false) => {
export const getStagingData = ({ useMockedResponse = false }) => {
return async dispatch => {
dispatch(activateProgressIndicator);

Expand All @@ -84,9 +120,10 @@ export const getStagingData = (useMockedResponse = false) => {

if (response.ok) {
const results = await response.json();

dispatch({
type: actions.GET_STAGING_DATA,
payload: results,
payload: formatStagingData(results),
});
}
}
Expand Down

0 comments on commit 1aecd2a

Please sign in to comment.