Skip to content

Commit

Permalink
fix deprecation for tablet and mobile
Browse files Browse the repository at this point in the history
  • Loading branch information
mxkae committed Jun 25, 2024
1 parent f35489b commit 113ac7e
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 6 deletions.
28 changes: 23 additions & 5 deletions src/block/icon-label/deprecated.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,43 @@ const deprecated = [
attributes: attributes( '3.13.1' ),
save: withVersion( '3.13.1' )( Save ),
isEligible: ( attributes, innerBlocks ) => {
const hasIconSize = innerBlocks[ 0 ].attributes.iconSize ? true : false
const hasIconGap = attributes.iconGap ? true : false
const hasIconGap2 = attributes.iconGap2 ? true : false
const iconBlockAttributes = innerBlocks[ 0 ].attributes
const hasIconSize = iconBlockAttributes.iconSize || iconBlockAttributes.iconSizeTablet || iconBlockAttributes.iconSizeMobile ? true : false
const hasIconGap = attributes.iconGap || attributes.iconGapTablet || attributes.iconGapMobile ? true : false
const hasIconGap2 = attributes.iconGap2 || attributes.iconGap2Tablet || attributes.iconGap2Mobile ? true : false
return hasIconGap || ( hasIconSize && ! hasIconGap2 )
},
migrate: ( attributes, innerBlocks ) => {
const newAttributes = { ...attributes }

const { iconGap } = attributes
const {
iconGap, iconGapTablet, iconGapMobile,
} = attributes

const iconBlockAttributes = innerBlocks[ 0 ].attributes
const { iconSize } = iconBlockAttributes
const {
iconSize, iconSizeTablet, iconSizeMobile,
} = iconBlockAttributes

const _iconSize = iconSize ? iconSize : 36
const _iconSizeTablet = iconSizeTablet ? iconSizeTablet : _iconSize
const _iconSizeMobile = iconSizeMobile ? iconSizeMobile : _iconSizeTablet

const _iconGap = iconGap ? iconGap : 64
const _iconGapTablet = iconGapTablet ? iconGapTablet : _iconGap
const _iconGapMobile = iconGapMobile ? iconGapMobile : _iconGapTablet

const newIconGap = _iconGap - _iconSize >= 0 ? _iconGap - _iconSize : 0
const newIconGapTablet = _iconGapTablet - _iconSizeTablet >= 0 ? _iconGapTablet - _iconSizeTablet : 0
const newIconGapMobile = _iconGapMobile - _iconSizeMobile >= 0 ? _iconGapMobile - _iconSizeMobile : 0

newAttributes.iconGap2 = newIconGap === 28 ? '' : newIconGap
newAttributes.iconGap2Tablet = newIconGapTablet === 28 ? '' : newIconGapTablet
newAttributes.iconGap2Mobile = newIconGapMobile === 28 ? '' : newIconGapMobile

newAttributes.iconGap = ''
newAttributes.iconGapTablet = ''
newAttributes.iconGapMobile = ''

return newAttributes
},
Expand Down
7 changes: 6 additions & 1 deletion src/block/icon-label/deprecated.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,15 @@ function stackable_render_block_icon_label( $block_content, $block ) {
return $block_content;
}

$has_icon_gap = isset( $attributes[ 'iconGap' ] ) || isset( $attributes[ 'iconGapTablet' ] ) || isset( $attributes[ 'iconGapMobile' ] );
$has_icon_gap2 = isset( $attributes[ 'iconGap2' ] ) || isset( $attributes[ 'iconGap2Tablet' ] ) || isset( $attributes[ 'iconGap2Mobile' ] );

$icon_block_attrs = $block[ 'innerBlocks' ][0]['attrs'];
$has_icon_size = isset( $icon_block_attrs['iconSize'] ) || isset( $icon_block_attrs['iconSizeTablet'] ) || isset( $icon_block_attrs['iconSizeMobile'] );


// check if the block uses the old icon gap attribute
$use_old_styles = ( isset( $attributes[ 'iconGap' ] ) || isset( $icon_block_attrs['iconSize'] ) ) && ! isset( $attributes[ 'iconGap2' ] );
$use_old_styles = ( $has_icon_gap || $has_icon_size ) && ! $has_icon_gap2;

if ( $use_old_styles ) {
return preg_replace( '/stk-block-icon-label/i', 'stk-block-icon-label stk-block-icon-label--use-flex-basis', $block_content );
Expand Down

0 comments on commit 113ac7e

Please sign in to comment.