ToolJet/frontend/src/Editor/component-properties-resolution.js
Kavin Venkatachalam 4d1850fe47
[Feature]: Added box-shadow property (#3427)
* Added box-shadow property

* Updated slider default value

* Support negative values in box-shadow

* Removed data-cy attribute

* Moved box-shadow property to general styles

* Added margin bottom to the styles panel
2022-07-11 15:19:28 +05:30

71 lines
2.2 KiB
JavaScript

import { resolveReferences } from '@/_helpers/utils';
export const resolveProperties = (component, currentState, defaultValue, customResolvables) => {
if (currentState) {
return Object.entries(component.definition.properties).reduce(
(properties, entry) => ({
...properties,
...{
[entry[0]]: entry[1]?.skipResolve
? entry[1].value
: resolveReferences(entry[1].value, currentState, defaultValue, customResolvables),
},
}),
{}
);
} else return {};
};
export const resolveStyles = (component, currentState, defaultValue, customResolvables) => {
if (currentState) {
const styles = component.definition.styles;
return Object.entries(styles).reduce((resolvedStyles, entry) => {
const key = entry[0];
const value = entry[1]?.skipResolve
? entry[1].value
: resolveReferences(entry[1].value, currentState, defaultValue, customResolvables);
return {
...resolvedStyles,
...{ [key]: value },
};
}, {});
} else {
return {};
}
};
export const resolveGeneralProperties = (component, currentState, defaultValue, customResolvables) => {
if (currentState) {
const generalProperties = component.definition?.general ?? {};
return Object.entries(generalProperties).reduce((resolvedGeneral, entry) => {
const key = entry[0];
const value = entry[1]?.skipResolve
? entry[1].value
: resolveReferences(entry[1].value, currentState, defaultValue, customResolvables);
return {
...resolvedGeneral,
...{ [key]: value },
};
}, {});
} else {
return {};
}
};
export const resolveGeneralStyles = (component, currentState, defaultValue, customResolvables) => {
if (currentState) {
const generalStyles = component.definition?.generalStyles ?? {};
return Object.entries(generalStyles).reduce((resolvedGeneral, entry) => {
const key = entry[0];
const value = entry[1]?.skipResolve
? entry[1].value
: resolveReferences(entry[1].value, currentState, defaultValue, customResolvables);
return {
...resolvedGeneral,
...{ [key]: value },
};
}, {});
} else {
return {};
}
};