@churchapps/apphelper 0.3.14 → 0.3.16
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/helpers/ErrorHelper.d.ts.map +1 -1
- package/dist/helpers/ErrorHelper.js +1 -1
- package/dist/helpers/ErrorHelper.js.map +1 -1
- package/dist/pageComponents/components/SelectChurchSearch.d.ts.map +1 -1
- package/dist/pageComponents/components/SelectChurchSearch.js +1 -1
- package/dist/pageComponents/components/SelectChurchSearch.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/ErrorHelper.ts +29 -30
- package/src/pageComponents/components/SelectChurchSearch.tsx +48 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIhF,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"ErrorHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIhF,qBAAa,WAAW;IAEvB,MAAM,CAAC,UAAU,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtG,MAAM,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEjE,MAAM,CAAC,IAAI,eAAgB,MAAM,sBAAsB,iCAAiC,iBAAiB,KAAK,IAAI,UAGjH;IAED,MAAM,CAAC,QAAQ,cAAe,MAAM,WAAW,MAAM,WAAW,MAAM,UAoBrE;CAED"}
|
|
@@ -27,7 +27,7 @@ ErrorHelper.logError = (errorType, message, details) => {
|
|
|
27
27
|
console.log("ERROR LOG", log);
|
|
28
28
|
if (log.errorType === "401" && log.message.indexOf("/users/login") > -1)
|
|
29
29
|
return;
|
|
30
|
-
ApiHelper_1.ApiHelper.postAnonymous("/
|
|
30
|
+
ApiHelper_1.ApiHelper.postAnonymous("/clientErrors", [log], "MembershipApi");
|
|
31
31
|
if (_a.customErrorHandler)
|
|
32
32
|
_a.customErrorHandler(log);
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHelper.js","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":";;;;AACA,2CAAwC;AAGxC,MAAa,WAAW;;AAAxB,
|
|
1
|
+
{"version":3,"file":"ErrorHelper.js","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":";;;;AACA,2CAAwC;AAGxC,MAAa,WAAW;;AAAxB,kCAgCC;;AA3BO,gBAAI,GAAG,CAAC,UAAwC,EAAE,kBAAyD,EAAE,EAAE;IACrH,EAAW,CAAC,UAAU,GAAG,UAAU,CAAC;IACpC,EAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AACrD,CAAC,AAHU,CAGV;AAEM,oBAAQ,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;IACzE,IAAI,EAAI,CAAC,UAAU,EAAE;QACpB,MAAM,IAAI,GAAG,EAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAsB;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;SAChB,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO;QAChF,qBAAS,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,EAAW,CAAC,kBAAkB;YAAE,EAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;KACxE;AACF,CAAC,AApBc,CAoBd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectChurchSearch.d.ts","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchSearch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,UAAU,KAAK;
|
|
1
|
+
{"version":3,"file":"SelectChurchSearch.d.ts","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchSearch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,UAAU,KAAK;IACd,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuD9C,CAAC"}
|
|
@@ -18,7 +18,7 @@ const SelectChurchSearch = (props) => {
|
|
|
18
18
|
const handleSubmit = (e) => {
|
|
19
19
|
if (e !== null)
|
|
20
20
|
e.preventDefault();
|
|
21
|
-
let term =
|
|
21
|
+
let term = searchText.trim();
|
|
22
22
|
helpers_1.ApiHelper.post("/churches/search", { name: term }, "MembershipApi").then(data => setChurches(data));
|
|
23
23
|
};
|
|
24
24
|
const handleChange = (e) => setSearchText(e.currentTarget.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectChurchSearch.js","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchSearch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,4CAAkD;AAClD,kDAA0B;AAC1B,2CAAiD;AAEjD,yDAAsD;AACtD,iEAA8D;AAQvD,MAAM,kBAAkB,GAAoB,CAAC,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"SelectChurchSearch.js","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchSearch.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,35 +4,34 @@ import { ApiHelper } from "./ApiHelper";
|
|
|
4
4
|
|
|
5
5
|
export class ErrorHelper {
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
7
|
+
static getAppData: () => { churchId: string, userId: string, originUrl: string, application: string };
|
|
8
|
+
static customErrorHandler: (errorLog: ErrorLogInterface) => void;
|
|
9
|
+
|
|
10
|
+
static init = (getAppData: () => ErrrorAppDataInterface, customErrorHandler: (errorLog: ErrorLogInterface) => void) => {
|
|
11
|
+
ErrorHelper.getAppData = getAppData;
|
|
12
|
+
ErrorHelper.customErrorHandler = customErrorHandler;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static logError = (errorType: string, message: string, details: string) => {
|
|
16
|
+
if (this.getAppData) {
|
|
17
|
+
const data = this.getAppData();
|
|
18
|
+
const log: ErrorLogInterface = {
|
|
19
|
+
application: data.application,
|
|
20
|
+
errorTime: new Date(),
|
|
21
|
+
userId: data.userId,
|
|
22
|
+
churchId: data.churchId,
|
|
23
|
+
originUrl: data.originUrl,
|
|
24
|
+
errorType: errorType,
|
|
25
|
+
message: message,
|
|
26
|
+
details: details
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
console.log("ERROR LOG", log);
|
|
30
|
+
|
|
31
|
+
if (log.errorType === "401" && log.message.indexOf("/users/login") > -1) return;
|
|
32
|
+
ApiHelper.postAnonymous("/clientErrors", [log], "MembershipApi");
|
|
33
|
+
if (ErrorHelper.customErrorHandler) ErrorHelper.customErrorHandler(log);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
37
36
|
|
|
38
37
|
}
|
|
@@ -8,64 +8,64 @@ import { SelectableChurch } from "./SelectableChurch";
|
|
|
8
8
|
import { SelectChurchRegister } from "./SelectChurchRegister";
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
selectChurch: (churchId: string) => void,
|
|
12
|
+
registeredChurchCallback?: (church: ChurchInterface) => void,
|
|
13
|
+
appName: string
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export const SelectChurchSearch: React.FC<Props> = (props) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const [searchText, setSearchText] = React.useState("");
|
|
18
|
+
const [churches, setChurches] = React.useState<ChurchInterface[]>(null);
|
|
19
|
+
const [showRegister, setShowRegister] = React.useState(false);
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const handleSubmit = (e: React.MouseEvent) => {
|
|
22
|
+
if (e !== null) e.preventDefault();
|
|
23
|
+
let term = searchText.trim();
|
|
24
|
+
ApiHelper.post("/churches/search", { name: term }, "MembershipApi").then(data => setChurches(data));
|
|
25
|
+
}
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => setSearchText(e.currentTarget.value);
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
const handleKeyDown = (e: React.KeyboardEvent<any>) => { if (e.key === "Enter") { e.preventDefault(); handleSubmit(null); } }
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const handleRegisterClick = (e: React.MouseEvent) => {
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
if (window.confirm(Locale.label("selectChurch.confirmRegister"))) {
|
|
34
|
+
setShowRegister(true);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
const getRegisterLink = () => (
|
|
39
|
+
<div>
|
|
40
|
+
<a style={{ display: "block", textAlign: "center" }} href="about:blank" onClick={handleRegisterClick}>
|
|
41
|
+
{Locale.label("selectChurch.register")}
|
|
42
|
+
</a>
|
|
43
|
+
</div>
|
|
44
|
+
)
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
const getChurches = () => {
|
|
47
|
+
const result: JSX.Element[] = [];
|
|
48
|
+
churches.forEach(church => {
|
|
49
|
+
result.push(<SelectableChurch church={church} selectChurch={props.selectChurch} />);
|
|
50
|
+
});
|
|
51
|
+
result.push(getRegisterLink());
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
const getResults = () => {
|
|
56
|
+
if (churches === null) return;
|
|
57
|
+
else if (churches.length === 0) return <><p>{Locale.label("selectChurch.noMatches")}</p>{getRegisterLink()}</>
|
|
58
|
+
else return getChurches();
|
|
59
|
+
}
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
61
|
+
if (showRegister) return (<SelectChurchRegister selectChurch={props.selectChurch} registeredChurchCallback={props.registeredChurchCallback} appName={props.appName} initialChurchName={searchText} />)
|
|
62
|
+
else return (
|
|
63
|
+
<>
|
|
64
|
+
<TextField fullWidth name="searchText" label="Name" value={searchText} onChange={handleChange} onKeyDown={handleKeyDown}
|
|
65
|
+
InputProps={{ endAdornment: <Button variant="contained" id="searchButton" data-cy="search-button" onClick={handleSubmit}>{Locale.label("common.search")}</Button> }}
|
|
66
|
+
/>
|
|
67
|
+
{getResults()}
|
|
68
|
+
</>
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
);
|
|
71
71
|
};
|