PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.6
JetFormBuilder — Dynamic Blocks Form Builder v3.1.6
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / assets / src / editor / blocks / progress-bar / edit.js
jetformbuilder / assets / src / editor / blocks / progress-bar Last commit date
edit.js 2 years ago index.js 2 years ago preview.js 2 years ago
edit.js
78 lines
1 import preview from './preview';
2
3 const { FieldSettingsWrapper } = JetFBComponents;
4
5 const { __ } = wp.i18n;
6
7 const { SelectControl, TextControl } = wp.components;
8
9 const {
10 InspectorControls,
11 useBlockProps,
12 RichText,
13 } = wp.blockEditor ? wp.blockEditor : wp.editor;
14
15 const { RawHTML } = wp.element;
16
17 const { useState, useEffect } = wp.element;
18
19 export default function ProgressBar( props ) {
20
21 const blockProps = useBlockProps();
22
23 const {
24 attributes,
25 setAttributes,
26 editProps: { uniqKey, attrHelp },
27 } = props;
28
29 const [ progressHtml, setProgressHtml ] = useState( '' );
30
31 const getProgressTypeHtml = type => {
32 const progress = JetFormProgressBar.progress_types.find( elem => type === elem.value )
33
34 if ( ! progress ) {
35 return '';
36 }
37
38 return progress.html;
39 };
40
41 useEffect( () => {
42 setProgressHtml( getProgressTypeHtml( attributes.progress_type ) );
43 }, [] );
44
45 if ( attributes.isPreview ) {
46 return <div style={ {
47 width: '100%',
48 display: 'flex',
49 justifyContent: 'center',
50 } }>
51 { preview }
52 </div>
53 }
54
55 return [
56 <InspectorControls key={ uniqKey( 'InspectorControls' ) }>
57 <FieldSettingsWrapper
58 key={ uniqKey( 'FieldSettingsWrapper' ) }
59 { ...props }
60 >
61 { 1 < JetFormProgressBar.progress_types.length && <SelectControl
62 key={ uniqKey( 'progress_type' ) }
63 label={ __( 'Progress Bar Type', 'jet-form-builder' ) }
64 value={ attributes.progress_type }
65 onChange={ progress_type => {
66 setAttributes( { progress_type } )
67 setProgressHtml( getProgressTypeHtml( progress_type ) );
68 } }
69 options={ JetFormProgressBar.progress_types }
70 /> }
71 </FieldSettingsWrapper>
72 </InspectorControls>,
73 <div key={ uniqKey( 'viewBlock' ) } { ...blockProps }>
74 <RawHTML>{ progressHtml }</RawHTML>
75 </div>,
76 ];
77
78 }