@servicenow/library-enhanced-element
Version:
Base element for Now Design System components
38 lines (33 loc) • 899 B
JavaScript
import get from 'lodash/get';
const getOnRenderFns = (config) => {
const fns = [];
if (config.onRender) {
fns.push(config.onRender);
}
const behaviors = config.behaviors || [];
for (let behavior of behaviors) {
const onRender = get(
behavior,
`behavior.onRender`,
get(behavior, 'onRender', null)
);
if (onRender) {
fns.push(onRender);
}
}
return fns;
};
export const extendWithOnRender = (baseConfig) => {
const onRenderFns = getOnRenderFns(baseConfig);
if (onRenderFns.length === 0) {
return baseConfig;
}
/* eslint-disable-next-line no-undef */
if (process.env.NODE_ENV === 'development') {
/* eslint-disable-next-line no-console */
console.error(
'`onRender()` from @devsnc/library-enhanced-element is not supported. Please migrate to using `actionTypes.COMPONENT_RENDERED` lifecycle method from @servicenow/ui-core.'
);
}
return baseConfig;
};