Skip to content

Commit

Permalink
Merge branch 'develop' into feat-add-organization-page
Browse files Browse the repository at this point in the history
  • Loading branch information
danielstefanequilobe committed Mar 18, 2022
2 parents fb2e0b3 + ad42224 commit fb7fdba
Show file tree
Hide file tree
Showing 32 changed files with 1,434 additions and 127 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "climate-warehouse",
"version": "0.1.15",
"version": "0.1.21",
"private": true,
"author": "Chia Network Inc. <hello@chia.net>",
"homepage": "./",
Expand Down
5 changes: 5 additions & 0 deletions public/electron.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ function createWindow() {
mainWindow.loadURL(appURL);
});

mainWindow.webContents.on('new-window', (e, url) => {
e.preventDefault();
require('electron').shell.openExternal(url);
});

// Automatically open Chrome's DevTools in development mode.
if (!app.isPackaged) {
mainWindow.webContents.openDevTools();
Expand Down
4 changes: 2 additions & 2 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ const App = () => {
const [translationTokens, setTranslationTokens] = useState();

useEffect(() => {
dispatch(initiateSocket());
dispatch(initiateSocket(appStore.serverAddress));
dispatch(getOrganizationData());
dispatch(getPickLists());
}, [dispatch]);
}, [dispatch, appStore.serverAddress]);

useEffect(
() => dispatch(setThemeFromLocalStorage),
Expand Down
27 changes: 27 additions & 0 deletions src/components/blocks/CoBenefitsDetails.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { Body } from '..';
import {
StyledDetailedViewTab,
StyledDetailedViewTabItem,
StyledItem,
} from '.';

const CoBenefitsDetails = ({data}) => {
return (
<StyledDetailedViewTabItem>
<div style={{ width: '60%' }}>
<StyledDetailedViewTab>
<StyledItem>
<Body size="Bold" width="100%">
<FormattedMessage id="co-benefit" />
</Body>
<Body>{data.cobenefit ? data.cobenefit : '---'}</Body>
</StyledItem>
</StyledDetailedViewTab>
</div>
</StyledDetailedViewTabItem>
);
};

export { CoBenefitsDetails };
89 changes: 8 additions & 81 deletions src/components/blocks/DetailedViewModal.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import _ from 'lodash';
import React, { useState, useMemo } from 'react';
import React from 'react';
import { useSelector } from 'react-redux';
import { Modal, modalTypeEnum, Tab, Tabs, TabPanel } from '..';
import { Modal, modalTypeEnum } from '..';
import { useIntl } from 'react-intl';
import { convertPascalCaseToSentenceCase } from '../../utils/stringUtils';
import { DetailedViewTab } from '.';
import { UnitsDetailedViewTab, ProjectDetailedViewTab } from '.';

const detailedViewModalTypeEnum = {
project: 'projects',
Expand All @@ -13,7 +11,6 @@ const detailedViewModalTypeEnum = {

const DetailedViewModal = ({ onClose, modalSizeAndPosition, type, record }) => {
const intl = useIntl();
const [tabValue, setTabValue] = useState(0);

const fullRecord =
type === detailedViewModalTypeEnum.project
Expand All @@ -31,54 +28,6 @@ const DetailedViewModal = ({ onClose, modalSizeAndPosition, type, record }) => {
)[0],
);

const recordTabsWithEntries = useMemo(
() =>
fullRecord
? Object.keys(fullRecord).filter(
key => Array.isArray(fullRecord[key]) && fullRecord[key].length > 0,
)
: [],
[fullRecord],
);

const recordDetails = useMemo(
() =>
fullRecord
? Object.keys(fullRecord)
.filter(
key => key !== 'issuance' && !Array.isArray(fullRecord[key]),
)
.reduce((acc, cur) => {
acc[cur] = fullRecord[cur];
return acc;
}, {})
: {},
[fullRecord],
);

const filteredData = () => {
const filteredDetails = _.omit(recordDetails, ['timeStaged']);
return filteredDetails;
};

const filteredTabData = tabKey => {
const filteredTab = _.map(fullRecord[tabKey], tab =>
_.omit(tab, ['timeStaged']),
);
return filteredTab;
};

const filteredIssuance = () => {
const filteredIssuanceDetails = _.omit(fullRecord?.issuance, [
'timeStaged',
]);
return filteredIssuanceDetails;
};

const handleTabChange = (event, newValue) => {
setTabValue(newValue);
};

if (
(type !== detailedViewModalTypeEnum.project &&
type !== detailedViewModalTypeEnum.units) ||
Expand All @@ -99,33 +48,11 @@ const DetailedViewModal = ({ onClose, modalSizeAndPosition, type, record }) => {
: 'unit-detailed-view',
})}
body={
<div>
<Tabs value={tabValue} onChange={handleTabChange}>
<Tab
label={
type === detailedViewModalTypeEnum.project ? 'Project' : 'Unit'
}
/>
{recordTabsWithEntries.map(tab => (
<Tab label={convertPascalCaseToSentenceCase(tab)} key={tab} />
))}
{type === detailedViewModalTypeEnum.units &&
fullRecord?.issuance && <Tab label="Issuance" />}
</Tabs>
<TabPanel value={tabValue} index={0}>
<DetailedViewTab data={[filteredData()]} />
</TabPanel>
{recordTabsWithEntries.map((tabKey, index) => (
<TabPanel value={tabValue} index={index + 1} key={tabKey}>
<DetailedViewTab data={filteredTabData(tabKey)} />
</TabPanel>
))}
{type === detailedViewModalTypeEnum.units && fullRecord?.issuance && (
<TabPanel value={tabValue} index={recordTabsWithEntries.length + 1}>
<DetailedViewTab data={[filteredIssuance()]} />
</TabPanel>
)}
</div>
type === detailedViewModalTypeEnum.units ? (
<UnitsDetailedViewTab entry={fullRecord} />
) : (
<ProjectDetailedViewTab entry={fullRecord} />
)
}
hideButtons
/>
Expand Down
37 changes: 20 additions & 17 deletions src/components/blocks/DetailedViewTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,22 @@ const DetailedViewTabItem = ({ entry }) => {
const { units } = useSelector(store => store.climateWarehouse);
const dispatch = useDispatch();


const formDetailedView = (entryProp, index) => {
return (
<div key={index}>
<Body size="Bold">{convertPascalCaseToSentenceCase(entryProp)}</Body>
<Body>
{entry[entryProp] !== null && entry[entryProp] !== 'null' ? (
<StyledWordWrap>{entry[entryProp]}</StyledWordWrap>
) : (
'--'
)}
</Body>
</div>
);
};

const isIssuance =
entry?.verificationApproach && entry?.verificationBody && entry?.id;

Expand Down Expand Up @@ -63,20 +79,7 @@ const DetailedViewTabItem = ({ entry }) => {
'createdAt',
'updatedAt',
'label_unit',
].includes(entryProp) && (
<div key={index}>
<Body size="Bold">
{convertPascalCaseToSentenceCase(entryProp)}
</Body>
<Body>
{entry[entryProp] !== null && entry[entryProp] !== 'null' ? (
<StyledWordWrap>{entry[entryProp]}</StyledWordWrap>
) : (
'--'
)}
</Body>
</div>
),
].includes(entryProp) && formDetailedView(entryProp, index),
)}
{isIssuance && (
<div>
Expand All @@ -85,9 +88,9 @@ const DetailedViewTabItem = ({ entry }) => {
</Body>
{allUnitsWithThisIssuance &&
allUnitsWithThisIssuance.map((unit, index) => (
<Body key={index}>{`${index + 1} : ${
unit.warehouseUnitId
}`}</Body>
<Body key={index}>
{`${index + 1} : ${unit.warehouseUnitId}`}
</Body>
))}
</div>
)}
Expand Down
47 changes: 47 additions & 0 deletions src/components/blocks/EstimationsDetails.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { Body } from '..';
import {
StyledDetailedViewTab,
StyledDetailedViewTabItem,
StyledItem,
} from '.';

const EstimationsDetails = ({data}) => {
return (
<StyledDetailedViewTabItem>
<div style={{ width: '60%' }}>
<StyledDetailedViewTab>
<StyledItem>
<Body size="Bold" width="100%">
<FormattedMessage id="crediting-period-start-date" />
</Body>
<Body>
{data.creditingPeriodStart
? data.creditingPeriodStart
: '---'}
</Body>
</StyledItem>
<StyledItem>
<Body size="Bold" width="100%">
<FormattedMessage id="crediting-period-end-date" />
</Body>
<Body>
{data.creditingPeriodEnd
? data.creditingPeriodEnd
: '---'}
</Body>
</StyledItem>
<StyledItem>
<Body size="Bold" width="100%">
<FormattedMessage id="unit-count" />
</Body>
<Body>{data.unitCount >= 0 ? data.unitCount : '---'}</Body>
</StyledItem>
</StyledDetailedViewTab>
</div>
</StyledDetailedViewTabItem>
);
};

export { EstimationsDetails };
Loading

0 comments on commit fb7fdba

Please sign in to comment.