@adaptabletools/adaptable-cjs
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
36 lines (35 loc) • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdaptablePopupBody = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const UIHelper_1 = require("../../../UIHelper");
const AdaptableViewFactory_1 = require("../../../AdaptableViewFactory");
const AdaptablePopupModuleView_1 = require("./AdaptablePopupModuleView");
const AdaptablePopupBody = (props) => {
const modalContainer = UIHelper_1.UIHelper.getModalContainer(props.api.optionsApi.getAdaptableOptions(), document);
const moduleName = props.module.moduleInfo.ModuleName;
const accessLevel = props.api.entitlementApi.getEntitlementAccessLevelForModule(moduleName);
const moduleInfo = props.api.internalApi.getModuleService().getModuleInfoByModule(moduleName);
const moduleProps = {
popupParams: props.moduleParams,
onClearPopupParams: () => (props.onClearParams ? props.onClearParams() : null),
onClosePopup: () => {
if (props.onHide) {
props.onHide();
}
},
// show share button if TeamSharing is active & user has edit rights
teamSharingActivated: props.api.teamSharingApi.isTeamSharingAvailable() &&
props.api.teamSharingApi.hasTeamSharingFullRights(),
modalContainer: modalContainer,
accessLevel: accessLevel,
api: props.api,
moduleInfo,
};
const BodyComponent = AdaptableViewFactory_1.AdaptableViewFactory?.[props?.componentName ?? moduleInfo.Popup] || AdaptablePopupModuleView_1.AdaptablePopupModuleView;
// key is to make sure state is reset between views
// most of the views use the `AdaptablePopupModuleView` component
return React.createElement(BodyComponent, { key: props?.componentName, module: props.module, ...moduleProps });
};
exports.AdaptablePopupBody = AdaptablePopupBody;