PluginProbe ʕ •ᴥ•ʔ
Presto Player / trunk
Presto Player vtrunk
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 / blocks / shared / settings / MutedPreviewOptions.js
presto-player / src / admin / blocks / shared / settings Last commit date
MutedPreviewOptions.js 6 months ago index.js 1 month ago settings-styles.css 5 years ago
MutedPreviewOptions.js
125 lines
1 /**
2 * WordPress dependencies
3 */
4 import { __, sprintf } from "@wordpress/i18n";
5 const {
6 PanelRow,
7 TextControl,
8 SelectControl,
9 BaseControl,
10 Button,
11 FocalPointPicker,
12 RangeControl,
13 } = wp.components;
14 const { MediaUpload, MediaUploadCheck } = wp.blockEditor;
15 const { useState } = wp.element;
16
17 const VIDEO_OVERLAY_ALLOWED_MEDIA_TYPES = ["image"];
18
19 // import font for text
20 import "./settings-styles.css";
21
22 export default ({ attributes, setAttributes, instanceId }) => {
23 const { mutedOverlay } = attributes;
24
25 const videoOverlayDescription = `video-block__overlay-image-description-${instanceId}`;
26
27 // handle poster select
28 function onSelectOverlay(image) {
29 setAttributes({
30 mutedOverlay: {
31 ...mutedOverlay,
32 ...{ src: image.url },
33 },
34 });
35 }
36
37 function onRemoveOverlay() {
38 setAttributes({
39 mutedOverlay: {
40 ...mutedOverlay,
41 ...{ src: "" },
42 },
43 });
44 }
45
46 return (
47 <>
48 <MediaUploadCheck>
49 <BaseControl className="editor-video-overlay-control">
50 <BaseControl.VisualLabel>
51 <p>{__("Overlay Image", "presto-player")}</p>
52 </BaseControl.VisualLabel>
53 <MediaUpload
54 title={__("Select overlay image", "presto-player")}
55 onSelect={onSelectOverlay}
56 allowedTypes={VIDEO_OVERLAY_ALLOWED_MEDIA_TYPES}
57 render={({ open }) => (
58 <Button
59 className="presto-setting__poster"
60 isPrimary
61 onClick={open}
62 >
63 {!mutedOverlay?.src
64 ? __("Select", "presto-player")
65 : __("Replace", "presto-player")}
66 </Button>
67 )}
68 />
69 <p id={videoOverlayDescription} hidden>
70 {mutedOverlay?.src
71 ? sprintf(
72 __("The current overlay image url is %s", "presto-player"),
73 mutedOverlay?.src
74 )
75 : __(
76 "There is no overlay image currently selected",
77 "presto-player"
78 )}
79 </p>
80 {!!mutedOverlay?.src && (
81 <Button
82 onClick={onRemoveOverlay}
83 className="presto-setting__remove-poster"
84 isTertiary
85 >
86 {__("Remove", "presto-player")}
87 </Button>
88 )}
89 </BaseControl>
90 </MediaUploadCheck>
91 {!!mutedOverlay?.src && (
92 <FocalPointPicker
93 url={""}
94 dimensions={{ width: 160, height: 90 }}
95 value={mutedOverlay?.focalPoint}
96 onChange={(focalPoint) =>
97 setAttributes({
98 mutedOverlay: {
99 ...mutedOverlay,
100 ...{ focalPoint },
101 },
102 })
103 }
104 />
105 )}
106 {!!mutedOverlay?.src && (
107 <RangeControl
108 label={__("Max Width (%)", "presto-player")}
109 value={mutedOverlay?.width}
110 onChange={(width) =>
111 setAttributes({
112 mutedOverlay: {
113 ...mutedOverlay,
114 ...{ width },
115 },
116 })
117 }
118 min={1}
119 max={100}
120 />
121 )}
122 </>
123 );
124 };
125