feat(Card): card footer actions.

This commit is contained in:
a.bouhuolia
2021-12-27 18:29:52 +02:00
parent f261555b86
commit 93bd2af1d7
10 changed files with 54 additions and 43 deletions

View File

@@ -1,13 +0,0 @@
import React from 'react';
import styled from 'styled-components';
export default function Card({ className, children }) {
return <CardRoot className={className}>{children}</CardRoot>;
}
const CardRoot = styled.div`
padding: 15px;
margin: 15px;
background: #fff;
border: 1px solid #d2dce2;
`;

View File

@@ -0,0 +1,27 @@
import React from 'react';
import styled from 'styled-components';
export function Card({ className, children }) {
return <CardRoot className={className}>{children}</CardRoot>;
}
const CardRoot = styled.div`
padding: 15px;
margin: 15px;
background: #fff;
border: 1px solid #d2dce2;
`;
export const CardFooterActions = styled.div`
padding-top: 16px;
border-top: 1px solid #e0e7ea;
margin-top: 30px;
.bp3-button {
min-width: 70px;
+ .bp3-button {
margin-left: 10px;
}
}
`;

View File

@@ -1,5 +1,5 @@
import styled from 'styled-components'; import styled from 'styled-components';
import Card from '../Card'; import { Card } from '../Card';
import DataTable from '../DataTable'; import DataTable from '../DataTable';
export const CommercialDocBox = styled(Card)` export const CommercialDocBox = styled(Card)`
@@ -22,4 +22,4 @@ export const CommercialDocEntriesTable = styled(DataTable)`
export const CommercialDocFooter = styled.div` export const CommercialDocFooter = styled.div`
margin-top: 25px; margin-top: 25px;
` `;

View File

@@ -54,7 +54,6 @@ import Postbox from './Postbox';
import AccountsSuggestField from './AccountsSuggestField'; import AccountsSuggestField from './AccountsSuggestField';
import MaterialProgressBar from './MaterialProgressBar'; import MaterialProgressBar from './MaterialProgressBar';
import { MoneyFieldCell } from './DataTableCells'; import { MoneyFieldCell } from './DataTableCells';
import Card from './Card';
import AvaterCell from './AvaterCell'; import AvaterCell from './AvaterCell';
import { ItemsMultiSelect } from './Items'; import { ItemsMultiSelect } from './Items';
@@ -92,6 +91,7 @@ export * from './Typo';
export * from './TextStatus'; export * from './TextStatus';
export * from './Tags'; export * from './Tags';
export * from './CommercialDoc'; export * from './CommercialDoc';
export * from './Card';
const Hint = FieldHint; const Hint = FieldHint;
@@ -158,7 +158,6 @@ export {
MaterialProgressBar, MaterialProgressBar,
MoneyFieldCell, MoneyFieldCell,
ItemsMultiSelect, ItemsMultiSelect,
Card,
AvaterCell, AvaterCell,
MoreMenuItems, MoreMenuItems,
}; };

View File

@@ -26,8 +26,6 @@ function InventoryAdjustmentList({
<DashboardContentTable> <DashboardContentTable>
<InventoryAdjustmentTable /> <InventoryAdjustmentTable />
</DashboardContentTable> </DashboardContentTable>
</DashboardPageContent> </DashboardPageContent>
</InventoryAdjustmentsProvider> </InventoryAdjustmentsProvider>
); );

View File

@@ -15,6 +15,7 @@ import {
FormattedMessage as T, FormattedMessage as T,
AccountsSelectList, AccountsSelectList,
FieldRequiredHint, FieldRequiredHint,
CardFooterActions,
} from 'components'; } from 'components';
import { handleStringChange, inputIntent } from 'utils'; import { handleStringChange, inputIntent } from 'utils';
import { ACCOUNT_TYPE } from 'common/accountTypes'; import { ACCOUNT_TYPE } from 'common/accountTypes';
@@ -229,14 +230,14 @@ export default function AccountantForm() {
)} )}
</FastField> </FastField>
<div className={'card__footer'}> <CardFooterActions>
<Button intent={Intent.PRIMARY} loading={isSubmitting} type="submit"> <Button intent={Intent.PRIMARY} loading={isSubmitting} type="submit">
<T id={'save'} /> <T id={'save'} />
</Button> </Button>
<Button disabled={isSubmitting} onClick={handleCloseClick}> <Button disabled={isSubmitting} onClick={handleCloseClick}>
<T id={'close'} /> <T id={'close'} />
</Button> </Button>
</div> </CardFooterActions>
</Form> </Form>
); );
} }

View File

@@ -5,6 +5,7 @@ import classNames from 'classnames';
import { TimezonePicker } from '@blueprintjs/timezone'; import { TimezonePicker } from '@blueprintjs/timezone';
import { ErrorMessage, FastField } from 'formik'; import { ErrorMessage, FastField } from 'formik';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import styled from 'styled-components';
import { FormattedMessage as T } from 'components'; import { FormattedMessage as T } from 'components';
import { ListSelect, FieldRequiredHint } from 'components'; import { ListSelect, FieldRequiredHint } from 'components';
@@ -242,14 +243,28 @@ export default function PreferencesGeneralForm({ isSubmitting }) {
)} )}
</FastField> </FastField>
<div className={'card__footer'}> <CardFooterActions>
<Button loading={isSubmitting} intent={Intent.PRIMARY} type="submit"> <Button loading={isSubmitting} intent={Intent.PRIMARY} type="submit">
<T id={'save'} /> <T id={'save'} />
</Button> </Button>
<Button onClick={handleCloseClick}> <Button onClick={handleCloseClick}>
<T id={'close'} /> <T id={'close'} />
</Button> </Button>
</div> </CardFooterActions>
</Form> </Form>
); );
} }
const CardFooterActions = styled.div`
padding-top: 16px;
border-top: 1px solid #e0e7ea;
margin-top: 30px;
.bp3-button {
min-width: 70px;
+ .bp3-button{
margin-left: 10px;
}
}
`;

View File

@@ -42,7 +42,7 @@ function GeneralFormPage({
const initialValues = { const initialValues = {
...transformToForm(organization.metadata, defaultValues), ...transformToForm(organization.metadata, defaultValues),
}; };
// Handle the form submit.
const handleFormSubmit = (values, { setSubmitting, resetForm }) => { const handleFormSubmit = (values, { setSubmitting, resetForm }) => {
// Handle request success. // Handle request success.
const onSuccess = (response) => { const onSuccess = (response) => {

View File

@@ -6,6 +6,7 @@ import {
AccountsSelectList, AccountsSelectList,
FieldRequiredHint, FieldRequiredHint,
FormattedMessage as T, FormattedMessage as T,
CardFooterActions
} from 'components'; } from 'components';
import { inputIntent } from 'utils'; import { inputIntent } from 'utils';
import { ACCOUNT_PARENT_TYPE, ACCOUNT_TYPE } from 'common/accountTypes'; import { ACCOUNT_PARENT_TYPE, ACCOUNT_TYPE } from 'common/accountTypes';
@@ -135,14 +136,14 @@ export default function ItemForm() {
)} )}
</FastField> </FastField>
<div className={'card__footer'}> <CardFooterActions>
<Button intent={Intent.PRIMARY} loading={isSubmitting} type="submit"> <Button intent={Intent.PRIMARY} loading={isSubmitting} type="submit">
<T id={'save'} /> <T id={'save'} />
</Button> </Button>
<Button onClick={handleCloseClick} disabled={isSubmitting}> <Button onClick={handleCloseClick} disabled={isSubmitting}>
<T id={'close'} /> <T id={'close'} />
</Button> </Button>
</div> </CardFooterActions>
</Form> </Form>
); );
} }

View File

@@ -3,23 +3,6 @@
// General page // General page
//--------------------------------- //---------------------------------
.preferences-page__inside-content--general { .preferences-page__inside-content--general {
.card {
padding: 25px;
.card__footer {
padding-top: 16px;
border-top: 1px solid #e0e7ea;
margin-top: 30px;
.bp3-button {
min-width: 70px;
+ .bp3-button{
margin-left: 10px;
}
}
}
}
.bp3-form-group { .bp3-form-group {
max-width: 650px; max-width: 650px;