@servicenow/library-enhanced-element
Version:
Base element for Now Design System components
42 lines (34 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.extendWithOnRender = undefined;
var _get = require('lodash/get');
var _get2 = _interopRequireDefault(_get);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const getOnRenderFns = config => {
const fns = [];
if (config.onRender) {
fns.push(config.onRender);
}
const behaviors = config.behaviors || [];
for (let behavior of behaviors) {
const onRender = (0, _get2.default)(behavior, `behavior.onRender`, (0, _get2.default)(behavior, 'onRender', null));
if (onRender) {
fns.push(onRender);
}
}
return fns;
};
const extendWithOnRender = exports.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;
};