UNPKG

@red-hat-developer-hub/backstage-plugin-bulk-import

Version:
63 lines (60 loc) 2.61 kB
import { jsxs, jsx } from 'react/jsx-runtime'; import { Page, Header, Content, Progress } from '@backstage/core-components'; import { usePermission } from '@backstage/plugin-permission-react'; import Alert from '@mui/material/Alert'; import AlertTitle from '@mui/material/AlertTitle'; import FormControl from '@mui/material/FormControl'; import Typography from '@mui/material/Typography'; import { Formik } from 'formik'; import { bulkImportPermission } from '@red-hat-developer-hub/backstage-plugin-bulk-import-common'; import { useTranslation } from '../hooks/useTranslation.esm.js'; import { RepositorySelection, ApprovalTool } from '../types/types.esm.js'; import { DeleteDialogContextProvider } from './DeleteDialogContext.esm.js'; import { DrawerContextProvider } from './DrawerContext.esm.js'; import { RepositoriesList } from './Repositories/RepositoriesList.esm.js'; const BulkImportPage = () => { const { t } = useTranslation(); const initialValues = { repositoryType: RepositorySelection.Repository, repositories: {}, excludedRepositories: {}, approvalTool: ApprovalTool.Git }; const bulkImportViewPermissionResult = usePermission({ permission: bulkImportPermission, resourceRef: bulkImportPermission.resourceType }); const showContent = () => { if (bulkImportViewPermissionResult.loading) { return /* @__PURE__ */ jsx(Progress, {}); } if (bulkImportViewPermissionResult.allowed) { return /* @__PURE__ */ jsx( Formik, { initialValues, enableReinitialize: true, onSubmit: async (_values) => { }, children: /* @__PURE__ */ jsx(FormControl, { fullWidth: true, children: /* @__PURE__ */ jsx(RepositoriesList, {}) }) } ); } return /* @__PURE__ */ jsxs(Alert, { severity: "warning", "data-testid": "no-permission-alert", children: [ /* @__PURE__ */ jsx(AlertTitle, { children: t("permissions.title") }), t("permissions.viewRepositoriesMessage") ] }); }; return /* @__PURE__ */ jsxs(Page, { themeId: "tool", children: [ /* @__PURE__ */ jsx( Header, { title: /* @__PURE__ */ jsx(Typography, { variant: "h4", component: "h1", sx: { fontWeight: "bold" }, children: t("page.title") }), style: { borderBottom: "1px solid #ccc" } } ), /* @__PURE__ */ jsx(DrawerContextProvider, { children: /* @__PURE__ */ jsx(DeleteDialogContextProvider, { children: /* @__PURE__ */ jsx(Content, { children: showContent() }) }) }) ] }); }; export { BulkImportPage }; //# sourceMappingURL=BulkImportPage.esm.js.map