index.js
27 lines
| 1 | const { __ } = wp.i18n; |
| 2 | const { PanelBody, BaseControl } = wp.components; |
| 3 | import { AlignControl } from "../align-control"; |
| 4 | import { capitalize } from "../../src/_helper/capitalize"; |
| 5 | |
| 6 | export const CardAlignControls = props => { |
| 7 | const { attributes } = props; |
| 8 | const shema = JSON.parse(attributes.activeControl); |
| 9 | props.schema = shema; |
| 10 | |
| 11 | const createAlignControl = label => { |
| 12 | props.initial = shema[label]; |
| 13 | props.component = label; |
| 14 | return ( |
| 15 | <BaseControl label={__(`${capitalize(label)}`, "vk-blocks")}> |
| 16 | <AlignControl {...props} /> |
| 17 | </BaseControl> |
| 18 | ); |
| 19 | }; |
| 20 | const alignControls = ["title", "text", "button"].map(createAlignControl); |
| 21 | return ( |
| 22 | <PanelBody title={__("Align", "vk-blocks")} initialOpen={false}> |
| 23 | {alignControls} |
| 24 | </PanelBody> |
| 25 | ); |
| 26 | }; |
| 27 |