const { __ } = wp.i18n; const { createHigherOrderComponent } = wp.compose; const { registerBlockType } = wp.blocks; const { Toolbar, Button, Tooltip, Panel, PanelBody, PanelRow, FormToggle, RangeControl } = wp.components; const { Fragment } = wp.element; const { RichText, AlignmentToolbar, BlockControls, BlockAlignmentToolbar, InspectorControls, InnerBlocks } = wp.editor; registerBlockType( 'advanced-bootstrap-blocks/container', { title: __( 'Container (advanced-bootstrap-blocks)', 'advanced-bootstrap-blocks' ), description: __(''), icon: 'layout', category: 'layout', keywords: [ __('advanced-bootstrap-blocks'), __('container'), ], attributes: { isFluid: { type: 'bool', default: false }, isWrapped: { type: 'bool', default: false }, allowedBlocks: ['advanced-bootstrap-blocks/row'], TEMPLATE: { type: 'array', default: [ ['advanced-bootstrap-blocks/row', {} ,[]] ] } }, edit: function( props ) { const { className, attributes: { isFluid, isWrapped, TEMPLATE, }, setAttributes } = props; const onChangeToggleFluid = () => { setAttributes( { isFluid: !isFluid } ); } const onChangeToggleWrapped = () => { setAttributes( { isWrapped: !isWrapped } ); } const onChangeColumnCount = ( value ) => { setAttributes( { columnCount: value } ); } return (
); }, save: function( props ) { return ( ); }, } ); const modifyBlockListBlockContainer = createHigherOrderComponent( ( BlockListBlock ) => { return ( props ) => { if (props.block.name == "advanced-bootstrap-blocks/container") { props.className = props.attributes.isWrapped ? props.className : ""; } return ; }; }, 'modifyBlockListBlockContainer' ); wp.hooks.addFilter( 'editor.BlockListBlock', 'advanced-bootstrap-blocks/container/modify-element-edit', modifyBlockListBlockContainer ); const modifyGetSaveElementContainer = (element, blockType, attributes ) => { if (!element) { return; } if (blockType.name === 'advanced-bootstrap-blocks/container') { if (attributes.isWrapped) { return (
{element}
) } return (
{element}
) } return element; } wp.hooks.addFilter( 'blocks.getSaveElement', 'advanced-bootstrap-blocks/container/modify-element-save', modifyGetSaveElementContainer );