AdvancedFields.js
2 years ago
AttributeHelp.js
2 years ago
BlockAddPrevButton.js
2 years ago
BlockAdvancedValue.js
2 years ago
BlockClassName.js
2 years ago
BlockDefaultValue.js
2 years ago
BlockDescription.js
2 years ago
BlockLabel.js
2 years ago
BlockName.js
2 years ago
BlockPlaceholder.js
2 years ago
BlockPrevButtonLabel.js
2 years ago
BlockRequired.js
2 years ago
BlockVisibility.js
2 years ago
FieldControl.js
2 years ago
FieldSettingsWrapper.js
2 years ago
FieldWrapper.js
2 years ago
GeneralFields.js
2 years ago
SelectVariations.js
2 years ago
ToggleGroupVariations.js
2 years ago
ToolBarDefault.js
2 years ago
ToolBarFields.js
2 years ago
BlockDefaultValue.js
53 lines
| 1 | import useBlockAttributes from '../hooks/useBlockAttributes'; |
| 2 | import AdvancedInspectorControl |
| 3 | from '../../components/AdvancedInspectorControl'; |
| 4 | import useIsHasAttribute from '../../hooks/useIsHasAttribute'; |
| 5 | import ClientSideMacros from '../../macros.button/components/ClientSideMacros'; |
| 6 | import useInsertMacro from '../../macros.button/hooks/useInsertMacro'; |
| 7 | import AttributeHelp from './AttributeHelp'; |
| 8 | |
| 9 | const { |
| 10 | __, |
| 11 | } = wp.i18n; |
| 12 | const { |
| 13 | TextControl, |
| 14 | } = wp.components; |
| 15 | |
| 16 | function BlockDefaultValue( { label, help, hasMacro = true } ) { |
| 17 | const [ |
| 18 | attributes, |
| 19 | setAttributes, |
| 20 | ] = useBlockAttributes(); |
| 21 | |
| 22 | const [ input, updateInput ] = useInsertMacro( 'default' ); |
| 23 | |
| 24 | if ( !useIsHasAttribute( 'default' ) ) { |
| 25 | return null; |
| 26 | } |
| 27 | |
| 28 | return <ClientSideMacros> |
| 29 | <AdvancedInspectorControl |
| 30 | value={ attributes.default } |
| 31 | label={ label ?? __( 'Default Value', 'jet-form-builder' ) } |
| 32 | onChangePreset={ val => setAttributes( { default: val } ) } |
| 33 | onChangeMacros={ hasMacro ? updateInput : false } |
| 34 | > |
| 35 | { ({ instanceId }) => { |
| 36 | return <> |
| 37 | <TextControl |
| 38 | ref={ input } |
| 39 | id={ instanceId } |
| 40 | value={ attributes.default } |
| 41 | className="jet-fb m-unset" |
| 42 | onChange={ val => setAttributes( { default: val } ) } |
| 43 | /> |
| 44 | <AttributeHelp name="default"> |
| 45 | { help ?? '' } |
| 46 | </AttributeHelp> |
| 47 | </>; |
| 48 | } } |
| 49 | </AdvancedInspectorControl> |
| 50 | </ClientSideMacros>; |
| 51 | } |
| 52 | |
| 53 | export default BlockDefaultValue; |