@churchapps/apphelper 0.4.2 → 0.4.4
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/dist/components/CreatePerson.d.ts.map +1 -1
- package/dist/components/CreatePerson.js +5 -3
- package/dist/components/CreatePerson.js.map +1 -1
- package/dist/helpers/ApiHelper.d.ts.map +1 -1
- package/dist/helpers/ApiHelper.js +1 -0
- package/dist/helpers/ApiHelper.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CreatePerson.tsx +115 -114
- package/src/helpers/ApiHelper.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePerson.d.ts","sourceRoot":"","sources":["../../src/components/CreatePerson.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreatePerson.d.ts","sourceRoot":"","sources":["../../src/components/CreatePerson.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAe,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAMvF,UAAU,WAAW;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CAC7C;AAED,KAAK,gBAAgB,GAClB;IAAE,WAAW,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAAE,GAC3C;IAAE,WAAW,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CAAE,CAAA;AAE5C,KAAK,KAAK,GAAG,WAAW,GAAG,gBAAgB,CAAA;AAE3C,wBAAgB,YAAY,CAAC,EAAE,gBAAuB,EAAE,QAAoB,EAAE,WAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,2CAsHnH"}
|
|
@@ -7,17 +7,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.CreatePerson = CreatePerson;
|
|
8
8
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
9
|
const react_1 = __importDefault(require("react"));
|
|
10
|
-
const react_router_dom_1 = require("react-router-dom");
|
|
11
10
|
const helpers_1 = require("../helpers");
|
|
12
11
|
const helpers_2 = require("@churchapps/helpers");
|
|
13
12
|
const material_1 = require("@mui/material");
|
|
14
13
|
const ErrorMessages_1 = require("./ErrorMessages");
|
|
15
14
|
const useMountedState_1 = require("../hooks/useMountedState");
|
|
15
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
16
16
|
function CreatePerson({ navigateOnCreate = true, onCreate = () => { }, showInModal = false, ...props }) {
|
|
17
|
-
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
18
17
|
const [person, setPerson] = react_1.default.useState({ name: { first: "", last: "" }, contactInfo: {} });
|
|
19
18
|
const [errors, setErrors] = react_1.default.useState([]);
|
|
20
19
|
const [isSubmitting, setIsSubmitting] = react_1.default.useState(false);
|
|
20
|
+
const [redirect, setRedirect] = react_1.default.useState("");
|
|
21
21
|
const isMounted = (0, useMountedState_1.useMountedState)();
|
|
22
22
|
const validate = () => {
|
|
23
23
|
const result = [];
|
|
@@ -61,7 +61,7 @@ function CreatePerson({ navigateOnCreate = true, onCreate = () => { }, showInMod
|
|
|
61
61
|
person.id = data[0].id;
|
|
62
62
|
onCreate(person);
|
|
63
63
|
setPerson({ ...person, name: { first: "", last: "" }, contactInfo: { email: "" } });
|
|
64
|
-
navigateOnCreate &&
|
|
64
|
+
navigateOnCreate && setRedirect("/people/" + person.id);
|
|
65
65
|
}).finally(() => {
|
|
66
66
|
if (isMounted()) {
|
|
67
67
|
setIsSubmitting(false);
|
|
@@ -93,6 +93,8 @@ function CreatePerson({ navigateOnCreate = true, onCreate = () => { }, showInMod
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
+
if (redirect !== "")
|
|
97
|
+
return (0, jsx_runtime_1.jsx)(react_router_dom_1.Navigate, { to: redirect });
|
|
96
98
|
if (!helpers_1.UserHelper.checkAccess(helpers_2.Permissions.membershipApi.people.edit))
|
|
97
99
|
return null;
|
|
98
100
|
if (showInModal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePerson.js","sourceRoot":"","sources":["../../src/components/CreatePerson.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAqBb,
|
|
1
|
+
{"version":3,"file":"CreatePerson.js","sourceRoot":"","sources":["../../src/components/CreatePerson.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtF,qBAAa,SAAS;IAErB,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACpC,MAAM,CAAC,eAAe,UAAS;IAE/B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM;IAOhC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAQxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAU1F,MAAM,CAAC,gBAAgB;WAKV,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;WAWtC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;WAQhE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAUzD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAU1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;WAczC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAUlE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"ApiHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtF,qBAAa,SAAS;IAErB,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACpC,MAAM,CAAC,eAAe,UAAS;IAE/B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM;IAOhC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAQxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAU1F,MAAM,CAAC,gBAAgB;WAKV,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;WAWtC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;WAQhE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAUzD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAU1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;WAczC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAUlE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG;mBAe/C,aAAa;CAUlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiHelper.js","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ApiHelper.js","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,139 +1,140 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import React from "react"
|
|
4
|
-
import { useNavigate } from "react-router-dom"
|
|
5
4
|
import { UserHelper, ApiHelper, Locale } from "../helpers";
|
|
6
5
|
import { Permissions, PersonInterface, HouseholdInterface } from "@churchapps/helpers";
|
|
7
6
|
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, Grid, TextField } from "@mui/material"
|
|
8
7
|
import { ErrorMessages } from "./ErrorMessages"
|
|
9
8
|
import { useMountedState } from "../hooks/useMountedState"
|
|
9
|
+
import { Navigate } from "react-router-dom";
|
|
10
10
|
|
|
11
11
|
interface CommonProps {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
navigateOnCreate?: boolean;
|
|
13
|
+
onCreate?: (person: PersonInterface) => void;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
type ConditionalProps =
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
| { showInModal: true; onClose: () => void; }
|
|
18
|
+
| { showInModal?: false; onClose?: never; }
|
|
19
19
|
|
|
20
20
|
type Props = CommonProps & ConditionalProps
|
|
21
21
|
|
|
22
|
-
export function CreatePerson({ navigateOnCreate = true, onCreate = () => {}, showInModal = false, ...props }: Props) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
export function CreatePerson({ navigateOnCreate = true, onCreate = () => { }, showInModal = false, ...props }: Props) {
|
|
23
|
+
const [person, setPerson] = React.useState<PersonInterface>({ name: { first: "", last: "" }, contactInfo: {} });
|
|
24
|
+
const [errors, setErrors] = React.useState<string[]>([]);
|
|
25
|
+
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
26
|
+
const [redirect, setRedirect] = React.useState("");
|
|
27
|
+
const isMounted = useMountedState()
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
const validate = () => {
|
|
30
|
+
const result = [];
|
|
31
|
+
if (!person.name?.first) result.push("Please enter a first name.");
|
|
32
|
+
if (!person.name?.last) result.push("Please enter a last name.");
|
|
33
|
+
setErrors(result);
|
|
34
|
+
return result.length === 0;
|
|
35
|
+
}
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
const handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => {
|
|
38
|
+
setErrors([]);
|
|
39
|
+
const p = { ...person } as PersonInterface;
|
|
40
|
+
let value = e.target.value;
|
|
41
|
+
switch (e.target.name) {
|
|
42
|
+
case "first": p.name.first = value; break;
|
|
43
|
+
case "last": p.name.last = value; break;
|
|
44
|
+
case "email": p.contactInfo.email = value; break;
|
|
45
|
+
}
|
|
46
|
+
setPerson(p);
|
|
47
|
+
}
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
const validateEmail = (email: string) => (/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(.\w{2,3})+$/.test(email));
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
const checkExistingEmail = async () => {
|
|
52
|
+
const result = await ApiHelper.get("/people/search?email=" + person.contactInfo.email, "MembershipApi");
|
|
53
|
+
return result[0];
|
|
54
|
+
}
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
const handleSave = () => {
|
|
57
|
+
let household = { name: person.name.last } as HouseholdInterface;
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
59
|
+
setIsSubmitting(true);
|
|
60
|
+
ApiHelper.post("/households", [household], "MembershipApi").then(data => {
|
|
61
|
+
household.id = data[0].id;
|
|
62
|
+
person.householdId = household.id;
|
|
63
|
+
person.name.display = [person.name.first, person.name.last].join(" ");
|
|
64
|
+
ApiHelper.post("/people", [person], "MembershipApi").then(data => {
|
|
65
|
+
person.id = data[0].id
|
|
66
|
+
onCreate(person);
|
|
67
|
+
setPerson({ ...person, name: { first: "", last: "" }, contactInfo: { email: "" } });
|
|
68
|
+
navigateOnCreate && setRedirect("/people/" + person.id)
|
|
69
|
+
}).finally(() => {
|
|
70
|
+
if (isMounted()) {
|
|
71
|
+
setIsSubmitting(false);
|
|
72
|
+
showInModal && props.onClose();
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
78
|
+
async function handleSubmit() {
|
|
79
|
+
if (validate()) {
|
|
80
|
+
if (person.contactInfo.email && (person.contactInfo.email?.trim() !== undefined || person.contactInfo.email?.trim() !== "")) {
|
|
81
|
+
if (!validateEmail(person.contactInfo.email)) {
|
|
82
|
+
setErrors(["Please enter a valid email address."]);
|
|
83
|
+
} else {
|
|
84
|
+
const existingPerson = await checkExistingEmail();
|
|
85
|
+
if (existingPerson) {
|
|
86
|
+
if (window.confirm(`${existingPerson.name.display} already exists with an email of ${existingPerson.contactInfo.email}. Are you sure you wish to add ${person.name.first} ${person.name.last}?`)) {
|
|
87
|
+
handleSave();
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
handleSave();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
} else {
|
|
94
|
+
handleSave();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
99
|
+
if (redirect !== "") return <Navigate to={redirect} />;
|
|
100
|
+
if (!UserHelper.checkAccess(Permissions.membershipApi.people.edit)) return null;
|
|
101
|
+
if (showInModal) {
|
|
102
|
+
return (
|
|
103
|
+
<>
|
|
104
|
+
<ErrorMessages errors={errors} />
|
|
105
|
+
<Dialog open onClose={props.onClose} fullWidth>
|
|
106
|
+
<DialogTitle>{Locale.label("createPerson.addNewPerson")}</DialogTitle>
|
|
107
|
+
<DialogContent>
|
|
108
|
+
<TextField margin="dense" required fullWidth type="text" aria-label="firstName" label={Locale.label("createPerson.firstName")} name="first" value={person.name.first || ""} onChange={handleChange} onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => e.key === "Enter" && handleSubmit} />
|
|
109
|
+
<TextField margin="dense" required fullWidth type="text" aria-label="lastName" label={Locale.label("createPerson.lastName")} name="last" value={person.name.last || ""} onChange={handleChange} onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => e.key === "Enter" && handleSubmit} />
|
|
110
|
+
<TextField margin="dense" fullWidth type="text" aria-label="email" label={Locale.label("createPerson.email")} name="email" value={person.contactInfo.email || ""} onChange={handleChange} onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => e.key === "Enter" && handleSubmit} />
|
|
111
|
+
</DialogContent>
|
|
112
|
+
<DialogActions>
|
|
113
|
+
<Button onClick={() => { props.onClose(); }}>{Locale.label("common.cancel")}</Button>
|
|
114
|
+
<Button type="submit" variant="contained" disabled={isSubmitting} onClick={handleSubmit}>{Locale.label("common.add")}</Button>
|
|
115
|
+
</DialogActions>
|
|
116
|
+
</Dialog>
|
|
117
|
+
</>
|
|
118
|
+
)
|
|
119
|
+
}
|
|
120
|
+
return (
|
|
121
|
+
<div>
|
|
122
|
+
<p className="pl-1 mb-3 text-dark"><b>{Locale.label("createPerson.addNewPerson")}</b></p>
|
|
123
|
+
<ErrorMessages errors={errors} />
|
|
124
|
+
<Grid container spacing={3} alignItems="center">
|
|
125
|
+
<Grid size={{ xs: 12, md: 6 }}>
|
|
126
|
+
<TextField size="small" margin="none" required fullWidth type="text" aria-label="firstName" label={Locale.label("createPerson.firstName")} name="first" value={person.name.first || ""} onChange={handleChange} onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => e.key === "Enter" && handleSubmit} />
|
|
127
|
+
</Grid>
|
|
128
|
+
<Grid size={{ xs: 12, md: 6 }}>
|
|
129
|
+
<TextField size="small" margin="none" required fullWidth type="text" aria-label="lastName" label={Locale.label("createPerson.lastName")} name="last" value={person.name.last || ""} onChange={handleChange} onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => e.key === "Enter" && handleSubmit} />
|
|
130
|
+
</Grid>
|
|
131
|
+
<Grid size={12}>
|
|
132
|
+
<TextField size="small" margin="none" fullWidth type="text" aria-label="email" label={Locale.label("createPerson.email")} name="email" value={person.contactInfo.email || ""} onChange={handleChange} onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => e.key === "Enter" && handleSubmit} />
|
|
133
|
+
</Grid>
|
|
134
|
+
<Grid size={12}>
|
|
135
|
+
<Button type="submit" fullWidth variant="contained" disabled={isSubmitting} onClick={handleSubmit}>{Locale.label("common.add")}</Button>
|
|
136
|
+
</Grid>
|
|
137
|
+
</Grid>
|
|
138
|
+
</div>
|
|
139
|
+
)
|
|
139
140
|
}
|