Add default inputs style settings
[MAILPOET-2599]
This commit is contained in:
committed by
Veljko V
parent
131a4366da
commit
251c9ffd38
@@ -1,5 +1,6 @@
|
|||||||
import Icon from './icon.jsx';
|
import Icon from './icon.jsx';
|
||||||
import Edit from './edit.jsx';
|
import Edit from './edit.jsx';
|
||||||
|
import { defaultBlockStyles } from '../../store/form_body_to_blocks.jsx';
|
||||||
|
|
||||||
export const name = 'mailpoet-form/custom-text';
|
export const name = 'mailpoet-form/custom-text';
|
||||||
|
|
||||||
@@ -30,6 +31,10 @@ export function getSettings(customField) {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
default: customField.id,
|
default: customField.id,
|
||||||
},
|
},
|
||||||
|
styles: {
|
||||||
|
type: 'object',
|
||||||
|
default: defaultBlockStyles,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
supports: {
|
supports: {
|
||||||
html: false,
|
html: false,
|
||||||
|
@@ -14,7 +14,7 @@ import ParagraphEdit from '../paragraph_edit.jsx';
|
|||||||
import CustomFieldSettings from './custom_field_settings.jsx';
|
import CustomFieldSettings from './custom_field_settings.jsx';
|
||||||
import formatLabel from '../label_formatter.jsx';
|
import formatLabel from '../label_formatter.jsx';
|
||||||
import mapCustomFieldFormData from '../map_custom_field_form_data.jsx';
|
import mapCustomFieldFormData from '../map_custom_field_form_data.jsx';
|
||||||
import InputStylesSettings from '../input_styles_settings.jsx';
|
import { InputStylesSettings, inputStylesPropTypes } from '../input_styles_settings.jsx';
|
||||||
|
|
||||||
const CustomTextEdit = ({ attributes, setAttributes, clientId }) => {
|
const CustomTextEdit = ({ attributes, setAttributes, clientId }) => {
|
||||||
const isSaving = useSelect(
|
const isSaving = useSelect(
|
||||||
@@ -78,7 +78,10 @@ const CustomTextEdit = ({ attributes, setAttributes, clientId }) => {
|
|||||||
/>
|
/>
|
||||||
</PanelBody>
|
</PanelBody>
|
||||||
</Panel>
|
</Panel>
|
||||||
<InputStylesSettings />
|
<InputStylesSettings
|
||||||
|
styles={attributes.styles}
|
||||||
|
onChange={(styles) => (setAttributes({ styles }))}
|
||||||
|
/>
|
||||||
</InspectorControls>
|
</InspectorControls>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -113,6 +116,7 @@ CustomTextEdit.propTypes = {
|
|||||||
labelWithinInput: PropTypes.bool.isRequired,
|
labelWithinInput: PropTypes.bool.isRequired,
|
||||||
mandatory: PropTypes.bool.isRequired,
|
mandatory: PropTypes.bool.isRequired,
|
||||||
customFieldId: PropTypes.number.isRequired,
|
customFieldId: PropTypes.number.isRequired,
|
||||||
|
styles: inputStylesPropTypes.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
setAttributes: PropTypes.func.isRequired,
|
setAttributes: PropTypes.func.isRequired,
|
||||||
clientId: PropTypes.string.isRequired,
|
clientId: PropTypes.string.isRequired,
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
import Icon from '../custom_text/icon.jsx';
|
import Icon from '../custom_text/icon.jsx';
|
||||||
import Edit from './edit.jsx';
|
import Edit from './edit.jsx';
|
||||||
|
import { defaultBlockStyles } from '../../store/form_body_to_blocks.jsx';
|
||||||
|
|
||||||
export const name = 'mailpoet-form/custom-textarea';
|
export const name = 'mailpoet-form/custom-textarea';
|
||||||
|
|
||||||
@@ -34,6 +35,10 @@ export function getSettings(customField) {
|
|||||||
type: 'string',
|
type: 'string',
|
||||||
default: customField.id,
|
default: customField.id,
|
||||||
},
|
},
|
||||||
|
styles: {
|
||||||
|
type: 'object',
|
||||||
|
default: defaultBlockStyles,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
supports: {
|
supports: {
|
||||||
html: false,
|
html: false,
|
||||||
|
@@ -14,7 +14,7 @@ import ParagraphEdit from '../paragraph_edit.jsx';
|
|||||||
import CustomFieldSettings from '../custom_text/custom_field_settings.jsx';
|
import CustomFieldSettings from '../custom_text/custom_field_settings.jsx';
|
||||||
import formatLabel from '../label_formatter.jsx';
|
import formatLabel from '../label_formatter.jsx';
|
||||||
import mapCustomFieldFormData from '../map_custom_field_form_data.jsx';
|
import mapCustomFieldFormData from '../map_custom_field_form_data.jsx';
|
||||||
import InputStylesSettings from '../input_styles_settings.jsx';
|
import { InputStylesSettings, inputStylesPropTypes } from '../input_styles_settings.jsx';
|
||||||
|
|
||||||
const CustomTextAreaEdit = ({ attributes, setAttributes, clientId }) => {
|
const CustomTextAreaEdit = ({ attributes, setAttributes, clientId }) => {
|
||||||
const isSaving = useSelect(
|
const isSaving = useSelect(
|
||||||
@@ -100,7 +100,10 @@ const CustomTextAreaEdit = ({ attributes, setAttributes, clientId }) => {
|
|||||||
/>
|
/>
|
||||||
</PanelBody>
|
</PanelBody>
|
||||||
</Panel>
|
</Panel>
|
||||||
<InputStylesSettings />
|
<InputStylesSettings
|
||||||
|
styles={attributes.styles}
|
||||||
|
onChange={(styles) => (setAttributes({ styles }))}
|
||||||
|
/>
|
||||||
</InspectorControls>
|
</InspectorControls>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -140,6 +143,7 @@ CustomTextAreaEdit.propTypes = {
|
|||||||
labelWithinInput: PropTypes.bool.isRequired,
|
labelWithinInput: PropTypes.bool.isRequired,
|
||||||
mandatory: PropTypes.bool.isRequired,
|
mandatory: PropTypes.bool.isRequired,
|
||||||
lines: PropTypes.string,
|
lines: PropTypes.string,
|
||||||
|
styles: inputStylesPropTypes.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
setAttributes: PropTypes.func.isRequired,
|
setAttributes: PropTypes.func.isRequired,
|
||||||
clientId: PropTypes.string.isRequired,
|
clientId: PropTypes.string.isRequired,
|
||||||
|
@@ -10,7 +10,7 @@ import PropTypes from 'prop-types';
|
|||||||
import MailPoet from 'mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
|
|
||||||
import ParagraphEdit from '../paragraph_edit.jsx';
|
import ParagraphEdit from '../paragraph_edit.jsx';
|
||||||
import InputStylesSettings from '../input_styles_settings.jsx';
|
import { InputStylesSettings, inputStylesPropTypes } from '../input_styles_settings.jsx';
|
||||||
|
|
||||||
const EmailEdit = ({ attributes, setAttributes }) => {
|
const EmailEdit = ({ attributes, setAttributes }) => {
|
||||||
const inspectorControls = (
|
const inspectorControls = (
|
||||||
@@ -30,7 +30,10 @@ const EmailEdit = ({ attributes, setAttributes }) => {
|
|||||||
/>
|
/>
|
||||||
</PanelBody>
|
</PanelBody>
|
||||||
</Panel>
|
</Panel>
|
||||||
<InputStylesSettings />
|
<InputStylesSettings
|
||||||
|
styles={attributes.styles}
|
||||||
|
onChange={(styles) => (setAttributes({ styles }))}
|
||||||
|
/>
|
||||||
</InspectorControls>
|
</InspectorControls>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -62,6 +65,7 @@ EmailEdit.propTypes = {
|
|||||||
attributes: PropTypes.shape({
|
attributes: PropTypes.shape({
|
||||||
label: PropTypes.string.isRequired,
|
label: PropTypes.string.isRequired,
|
||||||
labelWithinInput: PropTypes.bool.isRequired,
|
labelWithinInput: PropTypes.bool.isRequired,
|
||||||
|
styles: inputStylesPropTypes.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
setAttributes: PropTypes.func.isRequired,
|
setAttributes: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import MailPoet from 'mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
import edit from './edit.jsx';
|
import edit from './edit.jsx';
|
||||||
import icon from './icon.jsx';
|
import icon from './icon.jsx';
|
||||||
|
import { defaultBlockStyles } from '../../store/form_body_to_blocks.jsx';
|
||||||
|
|
||||||
export const name = 'mailpoet-form/email-input';
|
export const name = 'mailpoet-form/email-input';
|
||||||
|
|
||||||
@@ -18,6 +19,10 @@ export const settings = {
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
styles: {
|
||||||
|
type: 'object',
|
||||||
|
default: defaultBlockStyles,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
supports: {
|
supports: {
|
||||||
html: false,
|
html: false,
|
||||||
|
@@ -11,7 +11,7 @@ import MailPoet from 'mailpoet';
|
|||||||
|
|
||||||
import ParagraphEdit from '../paragraph_edit.jsx';
|
import ParagraphEdit from '../paragraph_edit.jsx';
|
||||||
import formatLabel from '../label_formatter.jsx';
|
import formatLabel from '../label_formatter.jsx';
|
||||||
import InputStylesSettings from '../input_styles_settings.jsx';
|
import { InputStylesSettings, inputStylesPropTypes } from '../input_styles_settings.jsx';
|
||||||
|
|
||||||
const FirstNameEdit = ({ attributes, setAttributes }) => {
|
const FirstNameEdit = ({ attributes, setAttributes }) => {
|
||||||
const inspectorControls = (
|
const inspectorControls = (
|
||||||
@@ -36,7 +36,10 @@ const FirstNameEdit = ({ attributes, setAttributes }) => {
|
|||||||
/>
|
/>
|
||||||
</PanelBody>
|
</PanelBody>
|
||||||
</Panel>
|
</Panel>
|
||||||
<InputStylesSettings />
|
<InputStylesSettings
|
||||||
|
styles={attributes.styles}
|
||||||
|
onChange={(styles) => (setAttributes({ styles }))}
|
||||||
|
/>
|
||||||
</InspectorControls>
|
</InspectorControls>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -69,6 +72,7 @@ FirstNameEdit.propTypes = {
|
|||||||
label: PropTypes.string.isRequired,
|
label: PropTypes.string.isRequired,
|
||||||
labelWithinInput: PropTypes.bool.isRequired,
|
labelWithinInput: PropTypes.bool.isRequired,
|
||||||
mandatory: PropTypes.bool.isRequired,
|
mandatory: PropTypes.bool.isRequired,
|
||||||
|
styles: inputStylesPropTypes.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
setAttributes: PropTypes.func.isRequired,
|
setAttributes: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import MailPoet from 'mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
import icon from './icon.jsx';
|
import icon from './icon.jsx';
|
||||||
import edit from './edit.jsx';
|
import edit from './edit.jsx';
|
||||||
|
import { defaultBlockStyles } from '../../store/form_body_to_blocks.jsx';
|
||||||
|
|
||||||
export const name = 'mailpoet-form/first-name-input';
|
export const name = 'mailpoet-form/first-name-input';
|
||||||
|
|
||||||
@@ -22,6 +23,10 @@ export const settings = {
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
styles: {
|
||||||
|
type: 'object',
|
||||||
|
default: defaultBlockStyles,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
supports: {
|
supports: {
|
||||||
html: false,
|
html: false,
|
||||||
|
@@ -1,16 +1,61 @@
|
|||||||
import React from 'react';
|
import React, { useState } from 'react';
|
||||||
import MailPoet from 'mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
import {
|
import {
|
||||||
Panel,
|
Panel,
|
||||||
PanelBody,
|
PanelBody,
|
||||||
|
ToggleControl,
|
||||||
} from '@wordpress/components';
|
} from '@wordpress/components';
|
||||||
|
import { partial } from 'underscore';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const InputStylesSettings = () => (
|
const InputStylesSettings = ({
|
||||||
|
styles,
|
||||||
|
onChange,
|
||||||
|
}) => {
|
||||||
|
const [localStyles, setStyles] = useState(styles);
|
||||||
|
|
||||||
|
const updateStyles = (property, value) => {
|
||||||
|
const updated = { ...localStyles };
|
||||||
|
updated[property] = value;
|
||||||
|
onChange(updated);
|
||||||
|
setStyles(updated);
|
||||||
|
};
|
||||||
|
return (
|
||||||
<Panel>
|
<Panel>
|
||||||
<PanelBody title={MailPoet.I18n.t('formSettingsStyles')} initialOpen={false}>
|
<PanelBody title={MailPoet.I18n.t('formSettingsStyles')} initialOpen={false}>
|
||||||
TODO: styles settings
|
<ToggleControl
|
||||||
|
label={MailPoet.I18n.t('formSettingsDisplayFullWidth')}
|
||||||
|
checked={localStyles.fullWidth}
|
||||||
|
onChange={partial(updateStyles, 'fullWidth')}
|
||||||
|
/>
|
||||||
|
<ToggleControl
|
||||||
|
label={MailPoet.I18n.t('formSettingsInheritStyleFromTheme')}
|
||||||
|
checked={localStyles.inheritFromTheme}
|
||||||
|
onChange={partial(updateStyles, 'inheritFromTheme')}
|
||||||
|
/>
|
||||||
|
{!localStyles.inheritFromTheme ? (
|
||||||
|
<>
|
||||||
|
<ToggleControl
|
||||||
|
label={MailPoet.I18n.t('formSettingsBold')}
|
||||||
|
checked={localStyles.bold || false}
|
||||||
|
onChange={partial(updateStyles, 'bold')}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
) : null}
|
||||||
</PanelBody>
|
</PanelBody>
|
||||||
</Panel>
|
</Panel>
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
|
||||||
export default InputStylesSettings;
|
export const inputStylesPropTypes = PropTypes.shape({
|
||||||
|
fullWidth: PropTypes.bool.isRequired,
|
||||||
|
inheritFromTheme: PropTypes.bool.isRequired,
|
||||||
|
bold: PropTypes.bool,
|
||||||
|
});
|
||||||
|
|
||||||
|
InputStylesSettings.propTypes = {
|
||||||
|
styles: inputStylesPropTypes.isRequired,
|
||||||
|
onChange: PropTypes.func.isRequired,
|
||||||
|
};
|
||||||
|
|
||||||
|
export { InputStylesSettings };
|
||||||
|
@@ -11,7 +11,7 @@ import MailPoet from 'mailpoet';
|
|||||||
|
|
||||||
import ParagraphEdit from '../paragraph_edit.jsx';
|
import ParagraphEdit from '../paragraph_edit.jsx';
|
||||||
import formatLabel from '../label_formatter.jsx';
|
import formatLabel from '../label_formatter.jsx';
|
||||||
import InputStylesSettings from '../input_styles_settings.jsx';
|
import { InputStylesSettings, inputStylesPropTypes } from '../input_styles_settings.jsx';
|
||||||
|
|
||||||
const LastNameEdit = ({ attributes, setAttributes }) => {
|
const LastNameEdit = ({ attributes, setAttributes }) => {
|
||||||
const inspectorControls = (
|
const inspectorControls = (
|
||||||
@@ -36,7 +36,10 @@ const LastNameEdit = ({ attributes, setAttributes }) => {
|
|||||||
/>
|
/>
|
||||||
</PanelBody>
|
</PanelBody>
|
||||||
</Panel>
|
</Panel>
|
||||||
<InputStylesSettings />
|
<InputStylesSettings
|
||||||
|
styles={attributes.styles}
|
||||||
|
onChange={(styles) => (setAttributes({ styles }))}
|
||||||
|
/>
|
||||||
</InspectorControls>
|
</InspectorControls>
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -69,6 +72,7 @@ LastNameEdit.propTypes = {
|
|||||||
label: PropTypes.string.isRequired,
|
label: PropTypes.string.isRequired,
|
||||||
labelWithinInput: PropTypes.bool.isRequired,
|
labelWithinInput: PropTypes.bool.isRequired,
|
||||||
mandatory: PropTypes.bool.isRequired,
|
mandatory: PropTypes.bool.isRequired,
|
||||||
|
styles: inputStylesPropTypes.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
setAttributes: PropTypes.func.isRequired,
|
setAttributes: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import MailPoet from 'mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
import icon from './icon.jsx';
|
import icon from './icon.jsx';
|
||||||
import edit from './edit.jsx';
|
import edit from './edit.jsx';
|
||||||
|
import { defaultBlockStyles } from '../../store/form_body_to_blocks.jsx';
|
||||||
|
|
||||||
export const name = 'mailpoet-form/last-name-input';
|
export const name = 'mailpoet-form/last-name-input';
|
||||||
|
|
||||||
@@ -22,6 +23,10 @@ export const settings = {
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
styles: {
|
||||||
|
type: 'object',
|
||||||
|
default: defaultBlockStyles,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
supports: {
|
supports: {
|
||||||
html: false,
|
html: false,
|
||||||
|
@@ -4,6 +4,16 @@ import formatCustomFieldBlockName from '../blocks/format_custom_field_block_name
|
|||||||
|
|
||||||
const generateId = () => (`${Math.random().toString()}-${Date.now()}`);
|
const generateId = () => (`${Math.random().toString()}-${Date.now()}`);
|
||||||
|
|
||||||
|
export const defaultBlockStyles = {
|
||||||
|
fullWidth: true,
|
||||||
|
inheritFromTheme: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
const backwardCompatibleBlockStyles = {
|
||||||
|
fullWidth: false,
|
||||||
|
inheritFromTheme: true,
|
||||||
|
};
|
||||||
|
|
||||||
export const customFieldValuesToBlockValues = (values) => values.map((value) => {
|
export const customFieldValuesToBlockValues = (values) => values.map((value) => {
|
||||||
const mappedValue = {
|
const mappedValue = {
|
||||||
name: value.value,
|
name: value.value,
|
||||||
@@ -55,6 +65,10 @@ const mapCustomField = (item, customFields, mappedCommonProperties) => {
|
|||||||
mapped.attributes.values = customFieldValuesToBlockValues(item.params.values);
|
mapped.attributes.values = customFieldValuesToBlockValues(item.params.values);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (customField.type === 'text' || customField.type === 'textarea') {
|
||||||
|
mapped.attributes.styles = backwardCompatibleBlockStyles;
|
||||||
|
}
|
||||||
return mapped;
|
return mapped;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -153,6 +167,7 @@ export const formBodyToBlocksFactory = (colorDefinitions, customFields = []) =>
|
|||||||
return {
|
return {
|
||||||
...mapped,
|
...mapped,
|
||||||
name: 'mailpoet-form/email-input',
|
name: 'mailpoet-form/email-input',
|
||||||
|
styles: backwardCompatibleBlockStyles,
|
||||||
};
|
};
|
||||||
case 'heading':
|
case 'heading':
|
||||||
if (item.params && has(item.params, 'level')) {
|
if (item.params && has(item.params, 'level')) {
|
||||||
@@ -177,11 +192,13 @@ export const formBodyToBlocksFactory = (colorDefinitions, customFields = []) =>
|
|||||||
return {
|
return {
|
||||||
...mapped,
|
...mapped,
|
||||||
name: 'mailpoet-form/first-name-input',
|
name: 'mailpoet-form/first-name-input',
|
||||||
|
styles: backwardCompatibleBlockStyles,
|
||||||
};
|
};
|
||||||
case 'last_name':
|
case 'last_name':
|
||||||
return {
|
return {
|
||||||
...mapped,
|
...mapped,
|
||||||
name: 'mailpoet-form/last-name-input',
|
name: 'mailpoet-form/last-name-input',
|
||||||
|
styles: backwardCompatibleBlockStyles,
|
||||||
};
|
};
|
||||||
case 'segments':
|
case 'segments':
|
||||||
if (
|
if (
|
||||||
|
@@ -8,6 +8,7 @@ import {
|
|||||||
segmentsInput,
|
segmentsInput,
|
||||||
submitInput,
|
submitInput,
|
||||||
customTextInput,
|
customTextInput,
|
||||||
|
customTextareaInput,
|
||||||
customRadioInput,
|
customRadioInput,
|
||||||
customSelectInput,
|
customSelectInput,
|
||||||
customCheckboxInput,
|
customCheckboxInput,
|
||||||
@@ -64,6 +65,51 @@ describe('Form Body To Blocks', () => {
|
|||||||
expect(block.attributes.labelWithinInput).to.be.equal(false);
|
expect(block.attributes.labelWithinInput).to.be.equal(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Should add default styles to input blocks', () => {
|
||||||
|
const customFieldText = {
|
||||||
|
created_at: '2019-12-10T15:05:06+00:00',
|
||||||
|
id: 1,
|
||||||
|
name: 'Custom Field name',
|
||||||
|
params: {
|
||||||
|
label: 'Street name',
|
||||||
|
required: '1',
|
||||||
|
validate: '',
|
||||||
|
},
|
||||||
|
type: 'text',
|
||||||
|
updated_at: '2019-12-10T15:05:06+00:00',
|
||||||
|
};
|
||||||
|
const customFieldTextarea = {
|
||||||
|
created_at: '2019-12-10T15:05:06+00:00',
|
||||||
|
id: 2,
|
||||||
|
name: 'Custom Field 2 name',
|
||||||
|
params: {
|
||||||
|
label: 'Description',
|
||||||
|
required: '1',
|
||||||
|
validate: '',
|
||||||
|
lines: '3',
|
||||||
|
},
|
||||||
|
type: 'textarea',
|
||||||
|
updated_at: '2019-12-10T15:05:06+00:00',
|
||||||
|
};
|
||||||
|
|
||||||
|
const [email, firstName, lastName, customText, customTextArea] = formBodyToBlocks([
|
||||||
|
{ ...emailInput, position: '1' },
|
||||||
|
{ ...firstNameInput, position: '2' },
|
||||||
|
{ ...lastNameInput, position: '3' },
|
||||||
|
{ ...customTextInput, position: '4' },
|
||||||
|
{ ...customTextareaInput, position: '5', id: 2 },
|
||||||
|
], [customFieldText, customFieldTextarea]);
|
||||||
|
const defaultStyles = {
|
||||||
|
fullWidth: false,
|
||||||
|
inheritFromTheme: true,
|
||||||
|
};
|
||||||
|
expect(email.attributes.styles).to.eql(defaultStyles);
|
||||||
|
expect(firstName.attributes.styles).to.eql(defaultStyles);
|
||||||
|
expect(lastName.attributes.styles).to.eql(defaultStyles);
|
||||||
|
expect(customText.attributes.styles).to.eql(defaultStyles);
|
||||||
|
expect(customTextArea.attributes.styles).to.eql(defaultStyles);
|
||||||
|
});
|
||||||
|
|
||||||
it('Should map email with label within correctly', () => {
|
it('Should map email with label within correctly', () => {
|
||||||
const email = { ...emailInput };
|
const email = { ...emailInput };
|
||||||
email.params.label_within = '1';
|
email.params.label_within = '1';
|
||||||
|
@@ -82,6 +82,20 @@ export const customTextInput = {
|
|||||||
},
|
},
|
||||||
position: null,
|
position: null,
|
||||||
};
|
};
|
||||||
|
export const customTextareaInput = {
|
||||||
|
type: 'textarea',
|
||||||
|
name: 'Description',
|
||||||
|
id: '1',
|
||||||
|
unique: '1',
|
||||||
|
static: '0',
|
||||||
|
params: {
|
||||||
|
required: '',
|
||||||
|
label: 'Name of the street',
|
||||||
|
label_within: '1',
|
||||||
|
lines: '3',
|
||||||
|
},
|
||||||
|
position: null,
|
||||||
|
};
|
||||||
export const customRadioInput = {
|
export const customRadioInput = {
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
name: 'Options',
|
name: 'Options',
|
||||||
|
@@ -46,6 +46,9 @@
|
|||||||
'formSettingsStylesFontSize': __('Font Size'),
|
'formSettingsStylesFontSize': __('Font Size'),
|
||||||
'formSettingsStylesFontColor': __('Font Color'),
|
'formSettingsStylesFontColor': __('Font Color'),
|
||||||
'formSettingsStylesFontColorInherit': __('Inherit from theme'),
|
'formSettingsStylesFontColorInherit': __('Inherit from theme'),
|
||||||
|
'formSettingsInheritStyleFromTheme': __('Inherit style from theme'),
|
||||||
|
'formSettingsDisplayFullWidth': _x('Display Fullwidth', 'A label for checkbox in form style settings'),
|
||||||
|
'formSettingsBold': _x('Bold', 'A label for checkbox in form style settings'),
|
||||||
'customFieldSettings': _x('Custom field settings', 'A settings section heading'),
|
'customFieldSettings': _x('Custom field settings', 'A settings section heading'),
|
||||||
'customFieldsFormSettings': _x('Form settings', 'A settings section heading'),
|
'customFieldsFormSettings': _x('Form settings', 'A settings section heading'),
|
||||||
'formPlacement': _x('Form Placement', 'A settings section heading'),
|
'formPlacement': _x('Form Placement', 'A settings section heading'),
|
||||||
|
Reference in New Issue
Block a user