@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
76 lines (69 loc) • 6.19 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var reactQuery = require('@tanstack/react-query');
var react = require('@carbon/react');
var icons = require('@carbon/react/icons');
var HeaderMenuItem = require('../Header/HeaderMenuItem.js');
var ErrorMessage = require('../ErrorMessage/ErrorMessage.js');
var TooltipHover = require('../TooltipHover/TooltipHover.js');
var servicesConfig = require('../../config/servicesConfig.js');
var settings = require('../../internal/settings.js');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2025
*/
function AboutPlatform({ baseServicesUrl, closeModal, isOpen = false, name }) {
const platformVersioUrl = servicesConfig.serviceUrl.getPlatformVersion({ baseServicesUrl });
const { data: platformVersionData, isLoading: isPlatformVersionLoading, isError: isPlatformVersionError, } = reactQuery.useQuery({
queryKey: [platformVersioUrl],
queryFn: servicesConfig.resolver.query(platformVersioUrl, null),
enabled: isOpen,
});
const currentYear = new Date().getFullYear();
return (React__default.default.createElement(react.ComposedModal, { open: isOpen, className: `${settings.prefix}--bmrg-aboutPlatform-container ${settings.prefix}--bmrg-header-modal ${settings.prefix}--bmrg-aboutPlatform-modalheader`, onClose: closeModal },
React__default.default.createElement(react.ModalHeader, { className: `${settings.prefix}--bmrg-aboutPlatform-modaltitle`, title: `About ${name}`, closeModal: closeModal }),
isPlatformVersionLoading ? (React__default.default.createElement(react.ModalBody, { style: { display: "flex", alignItems: "center", justifyContent: "center" } },
React__default.default.createElement(react.Loading, { withOverlay: false }))) : isPlatformVersionError ? (React__default.default.createElement(react.ModalBody, { style: { display: "flex", alignItems: "center", justifyContent: "center" } },
React__default.default.createElement(ErrorMessage.default, null))) : platformVersionData ? (React__default.default.createElement(react.ModalBody, null,
React__default.default.createElement("div", null,
React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-aboutPlatform-platform-version` },
React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-aboutPlatform-platform-version-text` }, `Version ${platformVersionData.platformVersion}`),
platformVersionData.platformVersionError ? (React__default.default.createElement(TooltipHover.default, { direction: "right", tooltipText: `Failed to retrieve the versioning of one or more components. Displaying only the ${name} platform version.` },
React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" }))) : null),
React__default.default.createElement("h5", { className: `${settings.prefix}--bmrg-aboutPlatform-component-header` }, "Components"),
React__default.default.createElement("ul", null,
React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between` },
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Advantage Core"),
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.version)),
React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between` },
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Assistants "),
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.assistantVersion)),
React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between` },
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Agents"),
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.agentsVersion)),
React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-aboutPlatform-li-between-last` },
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li` }, "Scribeflow"),
React__default.default.createElement("span", { className: `${settings.prefix}--bmrg-aboutPlatform-li-version` }, platformVersionData.scribeFlowVersion))),
React__default.default.createElement("h1", { className: `${settings.prefix}--bmrg-aboutPlatform-footer__header` },
"Copyright IBM Corp. 2022, ",
currentYear)))) : null));
}
function AboutPlatformMenuItem(props) {
const menuItemRef = React__default.default.useRef(null);
const [isOpen, setIsOpen] = React__default.default.useState(false);
const handleClose = () => {
setIsOpen(false);
setTimeout(() => {
menuItemRef.current?.focus();
}, 0);
};
return (React__default.default.createElement(React__default.default.Fragment, null,
React__default.default.createElement(HeaderMenuItem.default, { icon: React__default.default.createElement(icons.Information, null), onClick: () => setIsOpen(!isOpen), ref: menuItemRef, text: `About ${props.name}`, type: "button" }),
React__default.default.createElement(AboutPlatform, { isOpen: isOpen, closeModal: handleClose, ...props })));
}
exports.AboutPlatformMenuItem = AboutPlatformMenuItem;
exports.default = AboutPlatform;