/* eslint-disable no-undef */ /* eslint-disable indent */ import { indigo, pink } from '@material-ui/core/colors' import _ from 'lodash' import React from 'react' // MATERIAL UI COMPONENTS import { SketchPicker } from 'react-color' import { CustomImage, CustomSelect, CustomSlider, CustomText, CustomToggle } from '../editorcomponents' window.lodash = _.noConflict() const wp = window.wp const { Panel, PanelBody, PanelRow } = wp.components const { InnerBlocks, InspectorControls } = wp.blockEditor const { Fragment } = wp.element const iem = _.isEmpty wp.blocks.registerBlockType( 'bootstrap/bsblock', { title: 'Grid Block (Legacy Bootstrap)', icon: { background: '#fff', foreground:'#455a64', src: }, category: 'agendahelsinki', example:()=>null, supports:{ defaultStylePicker:false, align: [ 'left', 'right', 'center', 'wide', 'full' ] }, getEditWrapperProps:(attributes)=>{ let w='100%',d='block' switch(attributes.grid){ case 'col-12 col-lg-11':w='91.66%';break; case 'col-12 col-lg-10':w='83.33%';break; case 'col-12 col-lg-9':w='75%';break; case 'col-12 col-lg-8':w='66.66%';break; case 'col-12 col-lg-7':w='58.33%';break; case 'col-12 col-lg-6':w='50%';break; case 'col-12 col-lg-5':w='41.66%';break; case 'col-12 col-lg-4':w='33.33%';break; case 'col-12 col-lg-3':w='25%';break; case 'col-12 col-lg-2':w='16.66%';break; case 'col-12 col-lg-1':w='8.33%';break; case 'col-12 col-lg-0':w='0';break; default:w='100%';d='block';break; } switch(attributes.row){ case 'on':d='flex';break; default:d='block';break; } let c = _.get(attributes,'className','') let editorcss = ' '+_.get(attributes,'editorcss','') if(_.includes(c,'d-flex')) d='flex' return { 'data-align': null, className:attributes.className + ' ' + attributes.grid + editorcss,alignItems:'flex-start', style:{marginTop:10,marginBottom:10,display:d,flexFlow:'row wrap',width:'100%',flexBasis:w,maxWidth:w,border:'1px solid #212121'} } }, attributes: { blockeditortitle: {type: 'string',default: ''}, showel:{type:'string',default:'on'}, row:{type:'string',default:'off'}, templatelock:{type:'string',default:'off'}, nogutters:{type:'string',default:'off'}, gridnum:{type: 'integer',default:6}, grid: {type: 'string',default: 'col-12'}, tabletgrid: {type: 'string',default: ' '}, container: {type: 'string',default: ' '}, display: {type: 'string',default: ' '}, displaydesktop: {type: 'string',default: ' '}, cssgridcolumns: {type: 'string',default: ''}, cssgridrows: {type: 'string',default: ''}, bgclass: {type: 'string',default: ' '}, textcolorclass: {type: 'string',default: ' '}, bgsize: {type: 'string',default: 'cover'}, alignment: {type: 'string',default: 'align-items-start'}, horizalignment: {type: 'string',default: 'justify-content-start'}, ordermobile:{type: 'integer',default:0}, showtweaks:{type:'boolean',default:false}, applypadding:{type:'string',default:'off'}, applymargin:{type:'string',default:'off'}, /* Mobile Padding */ paddingmobiletop:{type: 'integer',default:0}, paddingmobileright:{type: 'integer',default:-1}, paddingmobilebottom:{type: 'integer',default:0}, paddingmobileleft:{type: 'integer',default:-1}, /* Desktop Padding */ paddingdesktoptop: {type: 'integer',default:0}, paddingdesktopright: {type: 'integer',default:-1}, paddingdesktopbottom: {type: 'integer',default:0}, paddingdesktopleft: {type: 'integer',default:-1}, /* Margins */ marginmobiletop:{type: 'integer',default:0}, marginmobilebottom:{type: 'integer',default:0}, margindesktoptop:{type: 'integer',default:0}, margindesktopbottom:{type: 'integer',default:0}, bgposy:{type: 'integer',default:50}, bgposx:{type: 'integer',default:50}, /* Colors and more sliders */ bgcolor:{type:'string'}, textcolor:{type:'string'}, bordercolor:{type:'string'}, bgcolorobj:{type:'object',default:{h:1,s:1,l:1,a:1}}, textcolorobj:{type:'array',default:{h:0,s:0,l:0,a:1}}, bordercolorobj:{type:'array',default:{h:0,s:0,l:0,a:1}}, bgimage: {type: 'object'}, bgimagearray: {type: 'array',default:[]}, bgimagearraylarge: {type: 'array',default:[]}, bgimagesize:{type:'string',default:'full'}, minheight:{type:'integer'}, borderwidth:{type:'integer',default:0}, borderradius:{type:'integer',default:0}, gridgap:{type:'string',default:''}, gridrowgap:{type:'string',default:''}, gridcolumngap:{type:'string',default:''}, editorcss:{type:'string',default:'slidewidth'} }, edit: function ( props ) { const {attributes,setAttributes} = props var toptitle=[

LEGACY

] var displayoutput='' if(props.attributes.container=='container-fluid') { toptitle.push(

Full Width Container

) } else if(props.attributes.container=='container mx-auto') { toptitle.push(

Container

) } if(props.attributes.row=='on') { toptitle.push(

Row

) } if(props.attributes.grid!=' ') { toptitle.push(

Column

) } if(props.attributes.display!=' ') { switch(props.attributes.display) { case 'd-block':displayoutput+='Display: Block';break; case 'd-flex':displayoutput+='Display: Flex';break; case 'd-inline':displayoutput+='Display: Inline';break; case 'd-inline-block':displayoutput+='Display: Inline Block';break; case 'd-table':displayoutput+='Display: Table';break; case 'd-table-cell':displayoutput+='Display: Table Cell';break; case 'd-table-row':displayoutput+='Display: Table Row';break; case 'd-inline-flex':displayoutput+='Display: Inline Flex';break; case 'd-grid':displayoutput+='Display: CSS Grid';break; case 'd-none':displayoutput+='Display: None';break; default:displayoutput+=' ';break; } } if(props.attributes.displaydesktop!=' ') { if(props.attributes.display!=' ') displayoutput+=' '; switch(props.attributes.displaydesktop) { case 'd-lg-block':displayoutput+='Display: Block (Desktop)';break; case 'd-lg-flex':displayoutput+='Display: Flex (Desktop)';break; case 'd-lg-inline':displayoutput+='Display: Inline (Desktop)';break; case 'd-lg-inline-block':displayoutput+='Display: Inline Block (Desktop)';break; case 'd-lg-table':displayoutput+='Display: Table (Desktop)';break; case 'd-lg-table-cell':displayoutput+='Display: Table Cell (Desktop)';break; case 'd-lg-table-row':displayoutput+='Display: Table Row (Desktop)';break; case 'd-lg-inline-flex':displayoutput+='Display: Inline Flex (Desktop)';break; case 'd-lg-grid':displayoutput+='Display: CSS Grid (Desktop)';break; case 'd-lg-none':displayoutput+='Display: None (Desktop)';break; default:displayoutput+=' ';break; } } if(props.attributes.display!=' '||props.attributes.displaydesktop!=' '){ toptitle.push(

{displayoutput}

) } //SIMPLE MODE TOGGLE toptitle.push(
) let rowprops = attributes.row=='on'||_.includes(attributes.className,'d-flex') ? {display:'flex',flexFlow:'row wrap'} : {} let gradientprops = _.includes(attributes.className,'darken-background') ? 'linear-gradient( 90deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3) ), ' : '' let topbarcolor = '#f7f7f7' if(props.attributes.container=='container-fluid') topbarcolor='#f7f3fb' else if(props.attributes.container=='container mx-auto') topbarcolor='#f7f7ff' if(attributes.row=='on'||_.includes(attributes.className,'d-flex')) topbarcolor='#f1e1e1' if(props.attributes.container!='container mx-auto'&&props.attributes.grid!=' ') topbarcolor='#f1f3ec' return ( } initialOpen={false}>
} initialOpen={false}>
} initialOpen={false}>
{(props.attributes.applypadding=='on' ?

Padding

Mobile (and up)


Desktop

: null )} {(props.attributes.applymargin=='on' && props.attributes.applypadding=='on') ?
: null} {props.attributes.applymargin=='on' ?

Margin

Mobile (and up)


Desktop

: null }
} initialOpen={false}>
} initialOpen={false}>
} initialOpen={false}>

Background Color

{ let newcolor='rgba('+value.rgb.r+','+value.rgb.g+','+value.rgb.b+','+value.rgb.a+')'; setAttributes({bgcolorobj:value.hsl,bgcolor:newcolor});}} />

Text Color

{ let newcolor='rgba('+value.rgb.r+','+value.rgb.g+','+value.rgb.b+','+value.rgb.a+')'; setAttributes({textcolorobj:value.hsl,textcolor:newcolor});}} />

Border Color

{ let newcolor='rgba('+value.rgb.r+','+value.rgb.g+','+value.rgb.b+','+value.rgb.a+')'; setAttributes({bordercolorobj:value.hsl,bordercolor:newcolor});}} />
{toptitle}
{ attributes.showtweaks ? (
{props.attributes.tabletgrid!=' '&&attributes.showtweaks && } {props.attributes.display=='d-grid'||props.attributes.displaydesktop=='d-lg-grid' &&
}
{setAttributes({container:attributes.container=='container mx-auto' ? ' ' : 'container mx-auto'});}} />
) : null }
{ return
}} />
) }, save: function (props) { const {attributes} = props; var pt='',pr='',pb='',pl='',mt='',mb=''; pt+= ' pt-'+attributes.paddingmobiletop; pt+= ' pt-lg-'+attributes.paddingdesktoptop; pr+= ' pr-'+attributes.paddingmobileright; pr+= ' pr-lg-'+attributes.paddingdesktopright; pb+= ' pb-'+attributes.paddingmobilebottom; pb+= ' pb-lg-'+attributes.paddingdesktopbottom; pl+= ' pl-'+attributes.paddingmobileleft; pl+= ' pl-lg-'+attributes.paddingdesktopleft; mt+= (attributes.marginmobiletop >= 0) ? ' mt-'+attributes.marginmobiletop : ' mt-n'+Math.abs(attributes.marginmobiletop); mt+= (attributes.margindesktoptop >= 0) ? ' mt-lg-'+attributes.margindesktoptop : ' mt-lg-n'+Math.abs(attributes.margindesktoptop); mb+= (attributes.marginmobilebottom >= 0) ? ' mb-'+attributes.marginmobilebottom : ' mb-n'+Math.abs(attributes.marginmobilebottom); mb+= (attributes.margindesktopbottom >= 0) ? ' mb-lg-'+attributes.margindesktopbottom : ' mb-lg-n'+Math.abs(attributes.margindesktopbottom); let gradientprops = _.includes(attributes.className,'darken-background') ? 'linear-gradient( 90deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3) ), ' : '' return(
) } } )