feat(widget-datetime): add now to datepicker (#3484)

This commit is contained in:
Tom Claes 2020-04-12 17:17:01 +02:00 committed by GitHub
parent 7fcdaef1c9
commit 79b8469337
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 1 deletions

View File

@ -153,6 +153,9 @@ const en = {
headingFive: 'Heading 5', headingFive: 'Heading 5',
headingSix: 'Heading 6', headingSix: 'Heading 6',
}, },
datetime: {
now: 'Now',
},
}, },
}, },
mediaLibrary: { mediaLibrary: {

View File

@ -200,6 +200,7 @@ const buttons = {
padding: 0 24px 0 14px; padding: 0 24px 0 14px;
`, `,
small: css` small: css`
font-size: 13px;
height: 23px; height: 23px;
line-height: 23px; line-height: 23px;
`, `,

View File

@ -5,6 +5,7 @@ import { jsx, css } from '@emotion/core';
import reactDateTimeStyles from 'react-datetime/css/react-datetime.css'; import reactDateTimeStyles from 'react-datetime/css/react-datetime.css';
import DateTime from 'react-datetime'; import DateTime from 'react-datetime';
import moment from 'moment'; import moment from 'moment';
import { buttons } from 'netlify-cms-ui-default';
export default class DateTimeControl extends React.Component { export default class DateTimeControl extends React.Component {
static propTypes = { static propTypes = {
@ -106,13 +107,14 @@ export default class DateTimeControl extends React.Component {
}; };
render() { render() {
const { forID, value, classNameWrapper, setActiveStyle } = this.props; const { forID, value, classNameWrapper, setActiveStyle, t } = this.props;
const { format, dateFormat, timeFormat } = this.formats; const { format, dateFormat, timeFormat } = this.formats;
return ( return (
<div <div
css={css` css={css`
${reactDateTimeStyles}; ${reactDateTimeStyles};
position: relative;
`} `}
> >
<DateTime <DateTime
@ -124,6 +126,29 @@ export default class DateTimeControl extends React.Component {
onBlur={this.onBlur} onBlur={this.onBlur}
inputProps={{ className: classNameWrapper, id: forID }} inputProps={{ className: classNameWrapper, id: forID }}
/> />
<div
css={css`
position: absolute;
right: 20px;
transform: translateY(-40px);
width: fit-content;
z-index: 1;
`}
>
<button
css={css`
${buttons.button}
${buttons.default}
${buttons.lightBlue}
${buttons.small}
`}
onClick={() => {
this.handleChange(moment());
}}
>
{t('editor.editorWidgets.datetime.now')}
</button>
</div>
</div> </div>
); );
} }