UNPKG

@keycloakify/keycloak-admin-ui

Version:
28 lines 2.41 kB
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import { AlertVariant, Button, Form, FormGroup, TextInput, } from "@patternfly/react-core"; import { CheckIcon, PencilAltIcon, TimesIcon } from "@patternfly/react-icons"; import { useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { useAdminClient } from "../../admin-client"; import { useAlerts } from "../../ui-shared"; export const InlineLabelEdit = ({ userId, credential, isEditable, toggle, }) => { const { adminClient } = useAdminClient(); const { t } = useTranslation(); const { register, handleSubmit } = useForm(); const { addAlert, addError } = useAlerts(); const saveUserLabel = async (userLabel) => { try { await adminClient.users.updateCredentialLabel({ id: userId, credentialId: credential.id, }, userLabel.userLabel || ""); addAlert(t("updateCredentialUserLabelSuccess"), AlertVariant.success); toggle(); } catch (error) { addError("updateCredentialUserLabelError", error); } }; return (_jsx(Form, { isHorizontal: true, className: "kc-form-userLabel", onSubmit: handleSubmit(saveUserLabel), children: _jsx(FormGroup, { fieldId: "kc-userLabel", className: "kc-userLabel-row", children: _jsx("div", { className: "kc-form-group-userLabel", children: isEditable ? (_jsxs(_Fragment, { children: [_jsx(TextInput, { "data-testid": "userLabelFld", defaultValue: credential.userLabel, className: "kc-userLabel", "aria-label": t("userLabel"), ...register("userLabel") }), _jsxs("div", { className: "kc-userLabel-actionBtns", children: [_jsx(Button, { "data-testid": "editUserLabelAcceptBtn", variant: "link", className: "kc-editUserLabelAcceptBtn", "aria-label": t("acceptBtn"), type: "submit", icon: _jsx(CheckIcon, {}) }), _jsx(Button, { "data-testid": "editUserLabelCancelBtn", variant: "link", className: "kc-editUserLabel-cancelBtn", "aria-label": t("cancelBtn"), onClick: toggle, icon: _jsx(TimesIcon, {}) })] })] })) : (_jsxs(_Fragment, { children: [credential.userLabel, _jsx(Button, { "aria-label": t("editUserLabel"), variant: "link", className: "kc-editUserLabel-btn", onClick: toggle, "data-testid": "editUserLabelBtn", icon: _jsx(PencilAltIcon, {}) })] })) }) }) })); }; //# sourceMappingURL=InlineLabelEdit.js.map