PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.2
Presto Player v2.2.2
4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / src / admin / settings / components / ToggleControl.js
presto-player / src / admin / settings / components Last commit date
CTA.js 5 years ago CheckboxControl.js 5 years ago CodeMirror.js 3 years ago ColorPicker.js 5 years ago ComboboxControl.js 3 years ago Disabled.js 5 years ago Fields.js 5 years ago Group.js 3 years ago Groups.js 5 years ago Integration.js 5 years ago Loading.js 5 years ago Media.js 3 years ago Notices.js 3 years ago NullView.js 5 years ago Page.js 5 years ago SaveButton.js 3 years ago SelectControl.js 5 years ago TextControl.js 5 years ago ToggleControl.js 5 years ago
ToggleControl.js
63 lines
1 const { ToggleControl, Modal, Button } = wp.components;
2 const { dispatch } = wp.data;
3 const { useState } = wp.element;
4 const { __ } = wp.i18n;
5 import classNames from "classnames";
6
7 export default ({ option, value, optionName, className }) => {
8 const [confirm, setConfirm] = useState(false);
9 return (
10 <div
11 className={classNames(
12 className,
13 "presto-settings__setting is-toggle-control"
14 )}
15 >
16 <ToggleControl
17 label={option?.description || option?.name}
18 checked={value}
19 help={option?.help}
20 onChange={(value) => {
21 if (option?.confirm && value) {
22 setConfirm(true);
23 return;
24 }
25 dispatch("presto-player/settings").updateSetting(
26 option.id,
27 value,
28 optionName
29 );
30 }}
31 />
32 {confirm && (
33 <Modal
34 className="presto-player__modal-confirm"
35 title={option?.confirm?.title}
36 style={{ "max-width": "350px" }}
37 onRequestClose={() => setConfirm(false)}
38 >
39 {option?.confirm?.heading && <h2>{option?.confirm?.heading}</h2>}
40 {option?.confirm?.message && <p>{option?.confirm?.message}</p>}
41 <Button
42 className="presto-player__modal-confirm-button"
43 isDestructive
44 onClick={() => {
45 dispatch("presto-player/settings").updateSetting(
46 option.id,
47 true,
48 optionName
49 );
50 setConfirm(false);
51 }}
52 >
53 {__("Okay", "presto-player")}
54 </Button>
55 <Button onClick={() => setConfirm(false)}>
56 {__("Cancel", "presto-player")}
57 </Button>
58 </Modal>
59 )}
60 </div>
61 );
62 };
63