@ima/react-page-renderer
Version:
IMA.js React page renderer.
44 lines (43 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
useComponent: function() {
return useComponent;
},
useOnce: function() {
return useOnce;
}
});
const _react = require("react");
const _pageContext = require("./pageContext");
function useOnce(callback) {
const called = (0, _react.useRef)(false);
if (called.current) {
return;
}
callback && callback();
called.current = true;
}
function useComponent() {
const { $Utils } = (0, _pageContext.usePageContext)();
return (0, _react.useMemo)(()=>({
utils: $Utils,
cssClasses: (...params)=>$Utils.$CssClasses(...params),
localize: (...params)=>$Utils.$Dictionary.get(...params),
link: (...params)=>$Utils.$Router.link(...params),
fire: (...params)=>$Utils.$EventBus.fire(...params),
listen: (...params)=>$Utils.$EventBus.listen(...params),
unlisten: (...params)=>$Utils.$EventBus.unlisten(...params)
}), [
$Utils
]);
}
//# sourceMappingURL=component.js.map