@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
28 lines • 2.41 kB
JavaScript
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