@kitconcept/volto-light-theme
Version:
Volto Light Theme by kitconcept
66 lines (61 loc) • 1.2 kB
JavaScript
export const ImageBlockDataAdapter = ({
block,
data,
id,
item,
onChangeBlock,
value,
}) => {
const SIZEMAP = {
l: 'large',
m: 'medium',
s: 'small',
};
let dataSaved = {
...data,
[id]: value,
};
if (id === 'align' && !(value === 'left' || value === 'right')) {
if (data.size !== 'l') {
dataSaved = {
...dataSaved,
size: 'l',
styles: {
...dataSaved.styles,
'size:noprefix': SIZEMAP['l'],
},
};
}
}
if (id === 'size') {
dataSaved = {
...dataSaved,
styles: {
...dataSaved.styles,
'size:noprefix': SIZEMAP[value],
},
};
}
if (id === 'url') {
if (value) {
dataSaved = {
...dataSaved,
credit: { data: item?.credit },
description: item?.Description,
title: item?.Title,
image_field: item?.image_field,
image_scales: item?.image_scales,
};
} else {
[
'alt',
'credit',
'description',
'image_scales',
'image_field',
'title',
].forEach((id) => delete dataSaved[id]);
}
}
onChangeBlock(block, dataSaved);
};