PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / MultiFormGoals / resources / js / components / date-time-control / index.js
give / src / MultiFormGoals / resources / js / components / date-time-control Last commit date
index.js 4 years ago
index.js
67 lines
1 /**
2 * Vendor dependencies
3 */
4 import PropTypes from 'prop-types';
5
6 /**
7 * WordPress dependencies
8 */
9 const {useInstanceId} = wp.compose;
10 const {DateTimePicker, BaseControl, Button, Dropdown} = wp.components;
11 const {__experimentalGetSettings, date} = wp.date;
12 import { __ } from '@wordpress/i18n'
13
14 const DateTimeControl = ({name, label, help, className, value, onChange}) => {
15 const instanceId = useInstanceId(DateTimeControl);
16 const id = `give-date-time-control-${name}-${instanceId}`;
17 const settings = __experimentalGetSettings(); // eslint-disable-line no-restricted-syntax
18
19 // To know if the current timezone is a 12 hour time with look for an "a" in the time format.
20 // We also make sure this a is not escaped by a "/".
21 const is12HourTime = /a(?!\\)/i.test(
22 settings.formats.time
23 .toLowerCase() // Test only the lower case a
24 .replace(/\\\\/g, '') // Replace "//" with empty strings
25 .split('')
26 .reverse()
27 .join('') // Reverse the string and test for "a" not followed by a slash
28 );
29 return (
30 <BaseControl label={label} hideLabelFromVision={true} id={id} help={help} className={className}>
31 <div style={{display: 'flex', alignItems: 'center', justifyContent: 'space-between'}}>
32 <span>{label}</span>
33 <Dropdown
34 position="bottom right"
35 renderToggle={({isOpen, onToggle}) => (
36 <Button isSecondary onClick={onToggle} aria-expanded={isOpen}>
37 {value !== '' ? date('F j, Y', value) : __('Set date', 'give')}
38 </Button>
39 )}
40 renderContent={() => (
41 <DateTimePicker
42 currentDate={value}
43 onChange={(newValue) => onChange(newValue)}
44 is12Hour={is12HourTime}
45 />
46 )}
47 />
48 </div>
49 </BaseControl>
50 );
51 };
52
53 DateTimeControl.propTypes = {
54 label: PropTypes.string,
55 value: PropTypes.any.isRequired,
56 onChange: PropTypes.func,
57 name: PropTypes.string.isRequired,
58 help: PropTypes.string,
59 className: PropTypes.string,
60 };
61
62 DateTimeControl.defaultProps = {
63 onChange: null,
64 };
65
66 export default DateTimeControl;
67