UNPKG

@etsoo/smarterp-core

Version:

TypeScript APIs for SmartERP Core

48 lines (47 loc) 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRequiredAppContext = useRequiredAppContext; exports.usePageData = usePageData; exports.usePageDataEmpty = usePageDataEmpty; const materialui_1 = require("@etsoo/materialui"); const react_1 = require("@etsoo/react"); const react_2 = __importDefault(require("react")); const toolpad_1 = require("@etsoo/toolpad"); /** * Get core service application context hook * @returns Application */ function useRequiredAppContext() { // Get the app context const app = (0, react_1.useRequiredContext)(materialui_1.ReactAppContext); // Assume the app is core service app return app; } function usePageData(app, pageDataOrTitle, deps) { const { dispatch } = react_2.default.useContext(toolpad_1.PageDataContext); react_2.default.useEffect(() => { // Page title dispatch(typeof pageDataOrTitle === "object" ? pageDataOrTitle : { page: pageDataOrTitle }); return () => { // Reset page data dispatch(true); app.pageExit(); }; }, deps); } /** * Use page data empty * @param app Application */ function usePageDataEmpty(app) { react_2.default.useEffect(() => { return () => { app.pageExit(); }; }, []); }