@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
24 lines • 2.27 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import { useNavigate } from "react-router-dom";
import { useTranslation } from "react-i18next";
import { EmptyState, EmptyStateIcon, EmptyStateBody, Button, Tooltip, EmptyStateHeader, EmptyStateFooter, } from "@patternfly/react-core";
import { PlusCircleIcon } from "@patternfly/react-icons";
import { toNewPermission } from "../../clients/routes/NewPermission";
import { useRealm } from "../../context/realm-context/RealmContext";
import { toUpperCase } from "../../util";
const EmptyButton = ({ permissionType, disabled = false, clientId, }) => {
const { t } = useTranslation();
const { realm } = useRealm();
const navigate = useNavigate();
return (_jsx(Button, { "data-testid": `create-${permissionType}`, className: disabled ? "keycloak__permissions__empty_state " : "" + "pf-v5-u-m-sm", variant: "secondary", onClick: () => !disabled &&
navigate(toNewPermission({ realm, id: clientId, permissionType })), children: t(`create${toUpperCase(permissionType)}BasedPermission`) }));
};
const TooltipEmptyButton = ({ permissionType, disabled, ...props }) => {
const { t } = useTranslation();
return disabled ? (_jsx(Tooltip, { content: t(`no${toUpperCase(permissionType)}CreateHint`), children: _jsx(EmptyButton, { ...props, disabled: disabled, permissionType: permissionType }) })) : (_jsx(EmptyButton, { ...props, disabled: disabled, permissionType: permissionType }));
};
export const EmptyPermissionsState = ({ clientId, isResourceEnabled, isScopeEnabled, }) => {
const { t } = useTranslation();
return (_jsxs(EmptyState, { "data-testid": "empty-state", variant: "lg", children: [_jsx(EmptyStateHeader, { titleText: _jsx(_Fragment, { children: t("emptyPermissions") }), icon: _jsx(EmptyStateIcon, { icon: PlusCircleIcon }), headingLevel: "h1" }), _jsx(EmptyStateBody, { children: t("emptyPermissionInstructions") }), _jsxs(EmptyStateFooter, { children: [_jsx(TooltipEmptyButton, { permissionType: "resource", disabled: isResourceEnabled, clientId: clientId }), _jsx("br", {}), _jsx(TooltipEmptyButton, { permissionType: "scope", disabled: isScopeEnabled, clientId: clientId })] })] }));
};
//# sourceMappingURL=EmptyPermissionsState.js.map