keycloakify 6.1.0 → 6.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/keycloakify/generateFtl/generateFtl.d.ts +1 -1
- package/bin/keycloakify/generateFtl/generateFtl.js +3 -1
- package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
- package/bin/tsconfig.tsbuildinfo +1 -1
- package/lib/components/IdpReviewUserProfile.d.ts +9 -0
- package/lib/components/IdpReviewUserProfile.js +31 -0
- package/lib/components/IdpReviewUserProfile.js.map +1 -0
- package/lib/components/KcApp.js +6 -0
- package/lib/components/KcApp.js.map +1 -1
- package/lib/components/RegisterUserProfile.js +2 -61
- package/lib/components/RegisterUserProfile.js.map +1 -1
- package/lib/components/Terms.js +2 -1
- package/lib/components/Terms.js.map +1 -1
- package/lib/components/UpdateUserProfile.d.ts +9 -0
- package/lib/components/UpdateUserProfile.js +32 -0
- package/lib/components/UpdateUserProfile.js.map +1 -0
- package/lib/components/shared/UserProfileCommons.d.ts +16 -0
- package/lib/components/shared/UserProfileCommons.js +76 -0
- package/lib/components/shared/UserProfileCommons.js.map +1 -0
- package/lib/getKcContext/KcContextBase.d.ts +16 -1
- package/lib/getKcContext/KcContextBase.js.map +1 -1
- package/lib/getKcContext/getKcContext.js +6 -3
- package/lib/getKcContext/getKcContext.js.map +1 -1
- package/lib/getKcContext/kcContextMocks/kcContextMocks.js +107 -98
- package/lib/getKcContext/kcContextMocks/kcContextMocks.js.map +1 -1
- package/lib/i18n/index.js +2 -2
- package/lib/i18n/index.js.map +1 -1
- package/lib/tools/Markdown.d.ts +2 -0
- package/lib/tools/Markdown.js +3 -0
- package/lib/tools/Markdown.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/useFormValidationSlice.d.ts +5 -1
- package/lib/useFormValidationSlice.js +4 -0
- package/lib/useFormValidationSlice.js.map +1 -1
- package/package.json +17 -1
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +3 -1
- package/src/lib/components/IdpReviewUserProfile.tsx +46 -0
- package/src/lib/components/KcApp.tsx +6 -0
- package/src/lib/components/RegisterUserProfile.tsx +3 -156
- package/src/lib/components/Terms.tsx +2 -1
- package/src/lib/components/UpdateUserProfile.tsx +71 -0
- package/src/lib/components/shared/UserProfileCommons.tsx +170 -0
- package/src/lib/getKcContext/KcContextBase.ts +20 -1
- package/src/lib/getKcContext/getKcContext.ts +10 -4
- package/src/lib/getKcContext/kcContextMocks/kcContextMocks.ts +113 -98
- package/src/lib/i18n/index.tsx +3 -3
- package/src/lib/tools/Markdown.ts +3 -0
- package/src/lib/useFormValidationSlice.tsx +5 -1
@@ -27,13 +27,17 @@ export declare function useGetErrors(params: {
|
|
27
27
|
validatorName: keyof Validators | undefined;
|
28
28
|
}[];
|
29
29
|
};
|
30
|
+
/**
|
31
|
+
* NOTE: The attributesWithPassword returned is actually augmented with
|
32
|
+
* artificial password related attributes only if kcContext.passwordRequired === true
|
33
|
+
*/
|
30
34
|
export declare function useFormValidationSlice(params: {
|
31
35
|
kcContext: {
|
32
36
|
messagesPerField: Pick<KcContextBase.Common["messagesPerField"], "existsError" | "get">;
|
33
37
|
profile: {
|
34
38
|
attributes: Attribute[];
|
35
39
|
};
|
36
|
-
passwordRequired
|
40
|
+
passwordRequired?: boolean;
|
37
41
|
realm: {
|
38
42
|
registrationEmailAsUsername: boolean;
|
39
43
|
};
|
@@ -211,6 +211,10 @@ export function useGetErrors(params) {
|
|
211
211
|
});
|
212
212
|
return { getErrors };
|
213
213
|
}
|
214
|
+
/**
|
215
|
+
* NOTE: The attributesWithPassword returned is actually augmented with
|
216
|
+
* artificial password related attributes only if kcContext.passwordRequired === true
|
217
|
+
*/
|
214
218
|
export function useFormValidationSlice(params) {
|
215
219
|
const { kcContext, passwordValidators = {
|
216
220
|
"length": {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useFormValidationSlice.js","sourceRoot":"","sources":["../src/lib/useFormValidationSlice.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useFormValidationSlice.js","sourceRoot":"","sources":["../src/lib/useFormValidationSlice.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "keycloakify",
|
3
|
-
"version": "6.
|
3
|
+
"version": "6.3.2",
|
4
4
|
"description": "Keycloak theme generator for Reacts app",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -60,6 +60,7 @@
|
|
60
60
|
"src/bin/tools/transformCodebase.ts",
|
61
61
|
"src/bin/tsconfig.json",
|
62
62
|
"src/lib/components/Error.tsx",
|
63
|
+
"src/lib/components/IdpReviewUserProfile.tsx",
|
63
64
|
"src/lib/components/Info.tsx",
|
64
65
|
"src/lib/components/KcApp.tsx",
|
65
66
|
"src/lib/components/KcProps.ts",
|
@@ -78,6 +79,8 @@
|
|
78
79
|
"src/lib/components/RegisterUserProfile.tsx",
|
79
80
|
"src/lib/components/Template.tsx",
|
80
81
|
"src/lib/components/Terms.tsx",
|
82
|
+
"src/lib/components/UpdateUserProfile.tsx",
|
83
|
+
"src/lib/components/shared/UserProfileCommons.tsx",
|
81
84
|
"src/lib/getKcContext/KcContextBase.ts",
|
82
85
|
"src/lib/getKcContext/getKcContext.ts",
|
83
86
|
"src/lib/getKcContext/getKcContextFromWindow.ts",
|
@@ -314,6 +317,7 @@
|
|
314
317
|
"src/lib/tools/Array.prototype.every.ts",
|
315
318
|
"src/lib/tools/DeepPartial.ts",
|
316
319
|
"src/lib/tools/HTMLElement.prototype.prepend.ts",
|
320
|
+
"src/lib/tools/Markdown.ts",
|
317
321
|
"src/lib/tools/ReactComponent.ts",
|
318
322
|
"src/lib/tools/allPropertiesValuesToUndefined.ts",
|
319
323
|
"src/lib/tools/assert.ts",
|
@@ -433,6 +437,9 @@
|
|
433
437
|
"lib/components/Error.d.ts",
|
434
438
|
"lib/components/Error.js",
|
435
439
|
"lib/components/Error.js.map",
|
440
|
+
"lib/components/IdpReviewUserProfile.d.ts",
|
441
|
+
"lib/components/IdpReviewUserProfile.js",
|
442
|
+
"lib/components/IdpReviewUserProfile.js.map",
|
436
443
|
"lib/components/Info.d.ts",
|
437
444
|
"lib/components/Info.js",
|
438
445
|
"lib/components/Info.js.map",
|
@@ -487,6 +494,12 @@
|
|
487
494
|
"lib/components/Terms.d.ts",
|
488
495
|
"lib/components/Terms.js",
|
489
496
|
"lib/components/Terms.js.map",
|
497
|
+
"lib/components/UpdateUserProfile.d.ts",
|
498
|
+
"lib/components/UpdateUserProfile.js",
|
499
|
+
"lib/components/UpdateUserProfile.js.map",
|
500
|
+
"lib/components/shared/UserProfileCommons.d.ts",
|
501
|
+
"lib/components/shared/UserProfileCommons.js",
|
502
|
+
"lib/components/shared/UserProfileCommons.js.map",
|
490
503
|
"lib/getKcContext/KcContextBase.d.ts",
|
491
504
|
"lib/getKcContext/KcContextBase.js",
|
492
505
|
"lib/getKcContext/KcContextBase.js.map",
|
@@ -1195,6 +1208,9 @@
|
|
1195
1208
|
"lib/tools/HTMLElement.prototype.prepend.d.ts",
|
1196
1209
|
"lib/tools/HTMLElement.prototype.prepend.js",
|
1197
1210
|
"lib/tools/HTMLElement.prototype.prepend.js.map",
|
1211
|
+
"lib/tools/Markdown.d.ts",
|
1212
|
+
"lib/tools/Markdown.js",
|
1213
|
+
"lib/tools/Markdown.js.map",
|
1198
1214
|
"lib/tools/ReactComponent.d.ts",
|
1199
1215
|
"lib/tools/ReactComponent.js",
|
1200
1216
|
"lib/tools/ReactComponent.js.map",
|
@@ -27,7 +27,9 @@ export const pageIds = [
|
|
27
27
|
"login-idp-link-email.ftl",
|
28
28
|
"login-page-expired.ftl",
|
29
29
|
"login-config-totp.ftl",
|
30
|
-
"logout-confirm.ftl"
|
30
|
+
"logout-confirm.ftl",
|
31
|
+
"update-user-profile.ftl",
|
32
|
+
"idp-review-user-profile.ftl"
|
31
33
|
] as const;
|
32
34
|
|
33
35
|
export type BuildOptionsLike = BuildOptionsLike.Standalone | BuildOptionsLike.ExternalAssets;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import React, { useState, memo } from "react";
|
2
|
+
import Template from "./Template";
|
3
|
+
import type { KcProps } from "./KcProps";
|
4
|
+
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
5
|
+
import { useCssAndCx } from "../tools/useCssAndCx";
|
6
|
+
import type { I18n } from "../i18n";
|
7
|
+
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
8
|
+
|
9
|
+
const IdpReviewUserProfile = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.IdpReviewUserProfile; i18n: I18n } & KcProps) => {
|
10
|
+
const { cx } = useCssAndCx();
|
11
|
+
|
12
|
+
const { msg, msgStr } = i18n;
|
13
|
+
|
14
|
+
const { url } = kcContext;
|
15
|
+
|
16
|
+
const [isFomSubmittable, setIsFomSubmittable] = useState(false);
|
17
|
+
|
18
|
+
return (
|
19
|
+
<Template
|
20
|
+
{...{ kcContext, i18n, ...props }}
|
21
|
+
doFetchDefaultThemeResources={true}
|
22
|
+
headerNode={msg("loginIdpReviewProfileTitle")}
|
23
|
+
formNode={
|
24
|
+
<form id="kc-idp-review-profile-form" className={cx(props.kcFormClass)} action={url.loginAction} method="post">
|
25
|
+
<UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...props} />
|
26
|
+
|
27
|
+
<div className={cx(props.kcFormGroupClass)}>
|
28
|
+
<div id="kc-form-options" className={cx(props.kcFormOptionsClass)}>
|
29
|
+
<div className={cx(props.kcFormOptionsWrapperClass)} />
|
30
|
+
</div>
|
31
|
+
<div id="kc-form-buttons" className={cx(props.kcFormButtonsClass)}>
|
32
|
+
<input
|
33
|
+
className={cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonBlockClass, props.kcButtonLargeClass)}
|
34
|
+
type="submit"
|
35
|
+
value={msgStr("doSubmit")}
|
36
|
+
disabled={!isFomSubmittable}
|
37
|
+
/>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
</form>
|
41
|
+
}
|
42
|
+
/>
|
43
|
+
);
|
44
|
+
});
|
45
|
+
|
46
|
+
export default IdpReviewUserProfile;
|
@@ -20,6 +20,8 @@ const LoginPageExpired = lazy(() => import("./LoginPageExpired"));
|
|
20
20
|
const LoginIdpLinkEmail = lazy(() => import("./LoginIdpLinkEmail"));
|
21
21
|
const LoginConfigTotp = lazy(() => import("./LoginConfigTotp"));
|
22
22
|
const LogoutConfirm = lazy(() => import("./LogoutConfirm"));
|
23
|
+
const UpdateUserProfile = lazy(() => import("./UpdateUserProfile"));
|
24
|
+
const IdpReviewUserProfile = lazy(() => import("./IdpReviewUserProfile"));
|
23
25
|
|
24
26
|
const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...kcProps }: { kcContext: KcContextBase; i18n?: I18n } & KcProps) => {
|
25
27
|
const i18n = (function useClosure() {
|
@@ -74,6 +76,10 @@ const KcApp = memo(({ kcContext, i18n: userProvidedI18n, ...kcProps }: { kcConte
|
|
74
76
|
return <LoginConfigTotp {...{ kcContext, ...props }} />;
|
75
77
|
case "logout-confirm.ftl":
|
76
78
|
return <LogoutConfirm {...{ kcContext, ...props }} />;
|
79
|
+
case "update-user-profile.ftl":
|
80
|
+
return <UpdateUserProfile {...{ kcContext, ...props }} />;
|
81
|
+
case "idp-review-user-profile.ftl":
|
82
|
+
return <IdpReviewUserProfile {...{ kcContext, ...props }} />;
|
77
83
|
}
|
78
84
|
})()}
|
79
85
|
</Suspense>
|
@@ -1,12 +1,10 @@
|
|
1
|
-
import React, { useMemo, memo,
|
1
|
+
import React, { useMemo, memo, useState } from "react";
|
2
2
|
import Template from "./Template";
|
3
3
|
import type { KcProps } from "./KcProps";
|
4
|
-
import type { KcContextBase
|
4
|
+
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
5
5
|
import { useCssAndCx } from "../tools/useCssAndCx";
|
6
|
-
import type { ReactComponent } from "../tools/ReactComponent";
|
7
|
-
import { useCallbackFactory } from "powerhooks/useCallbackFactory";
|
8
|
-
import { useFormValidationSlice } from "../useFormValidationSlice";
|
9
6
|
import type { I18n } from "../i18n";
|
7
|
+
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
10
8
|
|
11
9
|
const RegisterUserProfile = memo(({ kcContext, i18n, ...props_ }: { kcContext: KcContextBase.RegisterUserProfile; i18n: I18n } & KcProps) => {
|
12
10
|
const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = kcContext;
|
@@ -66,155 +64,4 @@ const RegisterUserProfile = memo(({ kcContext, i18n, ...props_ }: { kcContext: K
|
|
66
64
|
);
|
67
65
|
});
|
68
66
|
|
69
|
-
type UserProfileFormFieldsProps = { kcContext: KcContextBase.RegisterUserProfile; i18n: I18n } & KcProps &
|
70
|
-
Partial<Record<"BeforeField" | "AfterField", ReactComponent<{ attribute: Attribute }>>> & {
|
71
|
-
onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
|
72
|
-
};
|
73
|
-
|
74
|
-
const UserProfileFormFields = memo(({ kcContext, onIsFormSubmittableValueChange, i18n, ...props }: UserProfileFormFieldsProps) => {
|
75
|
-
const { cx, css } = useCssAndCx();
|
76
|
-
|
77
|
-
const { advancedMsg } = i18n;
|
78
|
-
|
79
|
-
const {
|
80
|
-
formValidationState: { fieldStateByAttributeName, isFormSubmittable },
|
81
|
-
formValidationReducer,
|
82
|
-
attributesWithPassword
|
83
|
-
} = useFormValidationSlice({
|
84
|
-
kcContext,
|
85
|
-
i18n
|
86
|
-
});
|
87
|
-
|
88
|
-
useEffect(() => {
|
89
|
-
onIsFormSubmittableValueChange(isFormSubmittable);
|
90
|
-
}, [isFormSubmittable]);
|
91
|
-
|
92
|
-
const onChangeFactory = useCallbackFactory(
|
93
|
-
(
|
94
|
-
[name]: [string],
|
95
|
-
[
|
96
|
-
{
|
97
|
-
target: { value }
|
98
|
-
}
|
99
|
-
]: [React.ChangeEvent<HTMLInputElement | HTMLSelectElement>]
|
100
|
-
) =>
|
101
|
-
formValidationReducer({
|
102
|
-
"action": "update value",
|
103
|
-
name,
|
104
|
-
"newValue": value
|
105
|
-
})
|
106
|
-
);
|
107
|
-
|
108
|
-
const onBlurFactory = useCallbackFactory(([name]: [string]) =>
|
109
|
-
formValidationReducer({
|
110
|
-
"action": "focus lost",
|
111
|
-
name
|
112
|
-
})
|
113
|
-
);
|
114
|
-
|
115
|
-
let currentGroup = "";
|
116
|
-
|
117
|
-
return (
|
118
|
-
<>
|
119
|
-
{attributesWithPassword.map((attribute, i) => {
|
120
|
-
const { group = "", groupDisplayHeader = "", groupDisplayDescription = "" } = attribute;
|
121
|
-
|
122
|
-
const { value, displayableErrors } = fieldStateByAttributeName[attribute.name];
|
123
|
-
|
124
|
-
const formGroupClassName = cx(props.kcFormGroupClass, displayableErrors.length !== 0 && props.kcFormGroupErrorClass);
|
125
|
-
|
126
|
-
return (
|
127
|
-
<Fragment key={i}>
|
128
|
-
{group !== currentGroup && (currentGroup = group) !== "" && (
|
129
|
-
<div className={formGroupClassName}>
|
130
|
-
<div className={cx(props.kcContentWrapperClass)}>
|
131
|
-
<label id={`header-${group}`} className={cx(props.kcFormGroupHeader)}>
|
132
|
-
{advancedMsg(groupDisplayHeader) || currentGroup}
|
133
|
-
</label>
|
134
|
-
</div>
|
135
|
-
{groupDisplayDescription !== "" && (
|
136
|
-
<div className={cx(props.kcLabelWrapperClass)}>
|
137
|
-
<label id={`description-${group}`} className={`${cx(props.kcLabelClass)}`}>
|
138
|
-
{advancedMsg(groupDisplayDescription)}
|
139
|
-
</label>
|
140
|
-
</div>
|
141
|
-
)}
|
142
|
-
</div>
|
143
|
-
)}
|
144
|
-
<div className={formGroupClassName}>
|
145
|
-
<div className={cx(props.kcLabelWrapperClass)}>
|
146
|
-
<label htmlFor={attribute.name} className={cx(props.kcLabelClass)}>
|
147
|
-
{advancedMsg(attribute.displayName ?? "")}
|
148
|
-
</label>
|
149
|
-
{attribute.required && <>*</>}
|
150
|
-
</div>
|
151
|
-
<div className={cx(props.kcInputWrapperClass)}>
|
152
|
-
{(() => {
|
153
|
-
const { options } = attribute.validators;
|
154
|
-
|
155
|
-
if (options !== undefined) {
|
156
|
-
return (
|
157
|
-
<select
|
158
|
-
id={attribute.name}
|
159
|
-
name={attribute.name}
|
160
|
-
onChange={onChangeFactory(attribute.name)}
|
161
|
-
onBlur={onBlurFactory(attribute.name)}
|
162
|
-
value={value}
|
163
|
-
>
|
164
|
-
{options.options.map(option => (
|
165
|
-
<option key={option} value={option}>
|
166
|
-
{option}
|
167
|
-
</option>
|
168
|
-
))}
|
169
|
-
</select>
|
170
|
-
);
|
171
|
-
}
|
172
|
-
|
173
|
-
return (
|
174
|
-
<input
|
175
|
-
type={(() => {
|
176
|
-
switch (attribute.name) {
|
177
|
-
case "password-confirm":
|
178
|
-
case "password":
|
179
|
-
return "password";
|
180
|
-
default:
|
181
|
-
return "text";
|
182
|
-
}
|
183
|
-
})()}
|
184
|
-
id={attribute.name}
|
185
|
-
name={attribute.name}
|
186
|
-
value={value}
|
187
|
-
onChange={onChangeFactory(attribute.name)}
|
188
|
-
className={cx(props.kcInputClass)}
|
189
|
-
aria-invalid={displayableErrors.length !== 0}
|
190
|
-
disabled={attribute.readOnly}
|
191
|
-
autoComplete={attribute.autocomplete}
|
192
|
-
onBlur={onBlurFactory(attribute.name)}
|
193
|
-
/>
|
194
|
-
);
|
195
|
-
})()}
|
196
|
-
{displayableErrors.length !== 0 && (
|
197
|
-
<span
|
198
|
-
id={`input-error-${attribute.name}`}
|
199
|
-
className={cx(
|
200
|
-
props.kcInputErrorMessageClass,
|
201
|
-
css({
|
202
|
-
"position": displayableErrors.length === 1 ? "absolute" : undefined,
|
203
|
-
"& > span": { "display": "block" }
|
204
|
-
})
|
205
|
-
)}
|
206
|
-
aria-live="polite"
|
207
|
-
>
|
208
|
-
{displayableErrors.map(({ errorMessage }) => errorMessage)}
|
209
|
-
</span>
|
210
|
-
)}
|
211
|
-
</div>
|
212
|
-
</div>
|
213
|
-
</Fragment>
|
214
|
-
);
|
215
|
-
})}
|
216
|
-
</>
|
217
|
-
);
|
218
|
-
});
|
219
|
-
|
220
67
|
export default RegisterUserProfile;
|
@@ -11,6 +11,7 @@ import type { I18n } from "../i18n";
|
|
11
11
|
import memoize from "memoizee";
|
12
12
|
import { useConst } from "powerhooks/useConst";
|
13
13
|
import { useConstCallback } from "powerhooks/useConstCallback";
|
14
|
+
import { Markdown } from "../tools/Markdown";
|
14
15
|
|
15
16
|
export const evtTermMarkdown = Evt.create<string | undefined>(undefined);
|
16
17
|
|
@@ -74,7 +75,7 @@ const Terms = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.Te
|
|
74
75
|
headerNode={msg("termsTitle")}
|
75
76
|
formNode={
|
76
77
|
<>
|
77
|
-
<div id="kc-terms-text">{evtTermMarkdown.state}</div>
|
78
|
+
<div id="kc-terms-text">{evtTermMarkdown.state && <Markdown>{evtTermMarkdown.state}</Markdown>}</div>
|
78
79
|
<form className="form-actions" action={url.loginAction} method="POST">
|
79
80
|
<input
|
80
81
|
className={cx(
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import React, { useState, memo } from "react";
|
2
|
+
import Template from "./Template";
|
3
|
+
import type { KcProps } from "./KcProps";
|
4
|
+
import type { KcContextBase } from "../getKcContext/KcContextBase";
|
5
|
+
import { useCssAndCx } from "../tools/useCssAndCx";
|
6
|
+
import type { I18n } from "../i18n";
|
7
|
+
import { UserProfileFormFields } from "./shared/UserProfileCommons";
|
8
|
+
|
9
|
+
const UpdateUserProfile = memo(({ kcContext, i18n, ...props }: { kcContext: KcContextBase.UpdateUserProfile; i18n: I18n } & KcProps) => {
|
10
|
+
const { cx } = useCssAndCx();
|
11
|
+
|
12
|
+
const { msg, msgStr } = i18n;
|
13
|
+
|
14
|
+
const { url, isAppInitiatedAction } = kcContext;
|
15
|
+
|
16
|
+
const [isFomSubmittable, setIsFomSubmittable] = useState(false);
|
17
|
+
|
18
|
+
return (
|
19
|
+
<Template
|
20
|
+
{...{ kcContext, i18n, ...props }}
|
21
|
+
doFetchDefaultThemeResources={true}
|
22
|
+
headerNode={msg("loginProfileTitle")}
|
23
|
+
formNode={
|
24
|
+
<form id="kc-update-profile-form" className={cx(props.kcFormClass)} action={url.loginAction} method="post">
|
25
|
+
<UserProfileFormFields kcContext={kcContext} onIsFormSubmittableValueChange={setIsFomSubmittable} i18n={i18n} {...props} />
|
26
|
+
|
27
|
+
<div className={cx(props.kcFormGroupClass)}>
|
28
|
+
<div id="kc-form-options" className={cx(props.kcFormOptionsClass)}>
|
29
|
+
<div className={cx(props.kcFormOptionsWrapperClass)}></div>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div id="kc-form-buttons" className={cx(props.kcFormButtonsClass)}>
|
33
|
+
{isAppInitiatedAction ? (
|
34
|
+
<>
|
35
|
+
<input
|
36
|
+
className={cx(props.kcButtonClass, props.kcButtonPrimaryClass, props.kcButtonLargeClass)}
|
37
|
+
type="submit"
|
38
|
+
value={msgStr("doSubmit")}
|
39
|
+
/>
|
40
|
+
<button
|
41
|
+
className={cx(props.kcButtonClass, props.kcButtonDefaultClass, props.kcButtonLargeClass)}
|
42
|
+
type="submit"
|
43
|
+
name="cancel-aia"
|
44
|
+
value="true"
|
45
|
+
formNoValidate
|
46
|
+
>
|
47
|
+
{msg("doCancel")}
|
48
|
+
</button>
|
49
|
+
</>
|
50
|
+
) : (
|
51
|
+
<input
|
52
|
+
className={cx(
|
53
|
+
props.kcButtonClass,
|
54
|
+
props.kcButtonPrimaryClass,
|
55
|
+
props.kcButtonBlockClass,
|
56
|
+
props.kcButtonLargeClass
|
57
|
+
)}
|
58
|
+
type="submit"
|
59
|
+
defaultValue={msgStr("doSubmit")}
|
60
|
+
disabled={!isFomSubmittable}
|
61
|
+
/>
|
62
|
+
)}
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
</form>
|
66
|
+
}
|
67
|
+
/>
|
68
|
+
);
|
69
|
+
});
|
70
|
+
|
71
|
+
export default UpdateUserProfile;
|
@@ -0,0 +1,170 @@
|
|
1
|
+
import React, { memo, useEffect, Fragment } from "react";
|
2
|
+
import type { KcProps } from "../KcProps";
|
3
|
+
import type { Attribute } from "../../getKcContext/KcContextBase";
|
4
|
+
import { useCssAndCx } from "../../tools/useCssAndCx";
|
5
|
+
import type { ReactComponent } from "../../tools/ReactComponent";
|
6
|
+
import { useCallbackFactory } from "powerhooks/useCallbackFactory";
|
7
|
+
import { useFormValidationSlice } from "../../useFormValidationSlice";
|
8
|
+
import type { I18n } from "../../i18n";
|
9
|
+
import type { Param0 } from "tsafe/Param0";
|
10
|
+
|
11
|
+
export type UserProfileFormFieldsProps = {
|
12
|
+
kcContext: Param0<typeof useFormValidationSlice>["kcContext"];
|
13
|
+
i18n: I18n;
|
14
|
+
} & KcProps &
|
15
|
+
Partial<Record<"BeforeField" | "AfterField", ReactComponent<{ attribute: Attribute }>>> & {
|
16
|
+
onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
|
17
|
+
};
|
18
|
+
|
19
|
+
export const UserProfileFormFields = memo(
|
20
|
+
({ kcContext, onIsFormSubmittableValueChange, i18n, BeforeField, AfterField, ...props }: UserProfileFormFieldsProps) => {
|
21
|
+
const { cx, css } = useCssAndCx();
|
22
|
+
|
23
|
+
const { advancedMsg } = i18n;
|
24
|
+
|
25
|
+
const {
|
26
|
+
formValidationState: { fieldStateByAttributeName, isFormSubmittable },
|
27
|
+
formValidationReducer,
|
28
|
+
attributesWithPassword
|
29
|
+
} = useFormValidationSlice({
|
30
|
+
kcContext,
|
31
|
+
i18n
|
32
|
+
});
|
33
|
+
|
34
|
+
useEffect(() => {
|
35
|
+
onIsFormSubmittableValueChange(isFormSubmittable);
|
36
|
+
}, [isFormSubmittable]);
|
37
|
+
|
38
|
+
const onChangeFactory = useCallbackFactory(
|
39
|
+
(
|
40
|
+
[name]: [string],
|
41
|
+
[
|
42
|
+
{
|
43
|
+
target: { value }
|
44
|
+
}
|
45
|
+
]: [React.ChangeEvent<HTMLInputElement | HTMLSelectElement>]
|
46
|
+
) =>
|
47
|
+
formValidationReducer({
|
48
|
+
"action": "update value",
|
49
|
+
name,
|
50
|
+
"newValue": value
|
51
|
+
})
|
52
|
+
);
|
53
|
+
|
54
|
+
const onBlurFactory = useCallbackFactory(([name]: [string]) =>
|
55
|
+
formValidationReducer({
|
56
|
+
"action": "focus lost",
|
57
|
+
name
|
58
|
+
})
|
59
|
+
);
|
60
|
+
|
61
|
+
let currentGroup = "";
|
62
|
+
|
63
|
+
return (
|
64
|
+
<>
|
65
|
+
{attributesWithPassword.map((attribute, i) => {
|
66
|
+
const { group = "", groupDisplayHeader = "", groupDisplayDescription = "" } = attribute;
|
67
|
+
|
68
|
+
const { value, displayableErrors } = fieldStateByAttributeName[attribute.name];
|
69
|
+
|
70
|
+
const formGroupClassName = cx(props.kcFormGroupClass, displayableErrors.length !== 0 && props.kcFormGroupErrorClass);
|
71
|
+
|
72
|
+
return (
|
73
|
+
<Fragment key={i}>
|
74
|
+
{group !== currentGroup && (currentGroup = group) !== "" && (
|
75
|
+
<div className={formGroupClassName}>
|
76
|
+
<div className={cx(props.kcContentWrapperClass)}>
|
77
|
+
<label id={`header-${group}`} className={cx(props.kcFormGroupHeader)}>
|
78
|
+
{advancedMsg(groupDisplayHeader) || currentGroup}
|
79
|
+
</label>
|
80
|
+
</div>
|
81
|
+
{groupDisplayDescription !== "" && (
|
82
|
+
<div className={cx(props.kcLabelWrapperClass)}>
|
83
|
+
<label id={`description-${group}`} className={`${cx(props.kcLabelClass)}`}>
|
84
|
+
{advancedMsg(groupDisplayDescription)}
|
85
|
+
</label>
|
86
|
+
</div>
|
87
|
+
)}
|
88
|
+
</div>
|
89
|
+
)}
|
90
|
+
|
91
|
+
{BeforeField && <BeforeField attribute={attribute} />}
|
92
|
+
|
93
|
+
<div className={formGroupClassName}>
|
94
|
+
<div className={cx(props.kcLabelWrapperClass)}>
|
95
|
+
<label htmlFor={attribute.name} className={cx(props.kcLabelClass)}>
|
96
|
+
{advancedMsg(attribute.displayName ?? "")}
|
97
|
+
</label>
|
98
|
+
{attribute.required && <>*</>}
|
99
|
+
</div>
|
100
|
+
<div className={cx(props.kcInputWrapperClass)}>
|
101
|
+
{(() => {
|
102
|
+
const { options } = attribute.validators;
|
103
|
+
|
104
|
+
if (options !== undefined) {
|
105
|
+
return (
|
106
|
+
<select
|
107
|
+
id={attribute.name}
|
108
|
+
name={attribute.name}
|
109
|
+
onChange={onChangeFactory(attribute.name)}
|
110
|
+
onBlur={onBlurFactory(attribute.name)}
|
111
|
+
value={value}
|
112
|
+
>
|
113
|
+
{options.options.map(option => (
|
114
|
+
<option key={option} value={option}>
|
115
|
+
{option}
|
116
|
+
</option>
|
117
|
+
))}
|
118
|
+
</select>
|
119
|
+
);
|
120
|
+
}
|
121
|
+
|
122
|
+
return (
|
123
|
+
<input
|
124
|
+
type={(() => {
|
125
|
+
switch (attribute.name) {
|
126
|
+
case "password-confirm":
|
127
|
+
case "password":
|
128
|
+
return "password";
|
129
|
+
default:
|
130
|
+
return "text";
|
131
|
+
}
|
132
|
+
})()}
|
133
|
+
id={attribute.name}
|
134
|
+
name={attribute.name}
|
135
|
+
value={value}
|
136
|
+
onChange={onChangeFactory(attribute.name)}
|
137
|
+
className={cx(props.kcInputClass)}
|
138
|
+
aria-invalid={displayableErrors.length !== 0}
|
139
|
+
disabled={attribute.readOnly}
|
140
|
+
autoComplete={attribute.autocomplete}
|
141
|
+
onBlur={onBlurFactory(attribute.name)}
|
142
|
+
/>
|
143
|
+
);
|
144
|
+
})()}
|
145
|
+
{displayableErrors.length !== 0 && (
|
146
|
+
<span
|
147
|
+
id={`input-error-${attribute.name}`}
|
148
|
+
className={cx(
|
149
|
+
props.kcInputErrorMessageClass,
|
150
|
+
css({
|
151
|
+
"position": displayableErrors.length === 1 ? "absolute" : undefined,
|
152
|
+
"& > span": { "display": "block" }
|
153
|
+
})
|
154
|
+
)}
|
155
|
+
aria-live="polite"
|
156
|
+
>
|
157
|
+
{displayableErrors.map(({ errorMessage }) => errorMessage)}
|
158
|
+
</span>
|
159
|
+
)}
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
|
163
|
+
{AfterField && <AfterField attribute={attribute} />}
|
164
|
+
</Fragment>
|
165
|
+
);
|
166
|
+
})}
|
167
|
+
</>
|
168
|
+
);
|
169
|
+
}
|
170
|
+
);
|