@churchapps/apphelper 0.2.16 → 0.2.17
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/wrapper/ChurchList.d.ts +1 -0
- package/dist/components/wrapper/ChurchList.d.ts.map +1 -1
- package/dist/components/wrapper/ChurchList.js +42 -6
- package/dist/components/wrapper/ChurchList.js.map +1 -1
- package/dist/components/wrapper/NavItem.d.ts +3 -0
- package/dist/components/wrapper/NavItem.d.ts.map +1 -1
- package/dist/components/wrapper/NavItem.js +4 -1
- package/dist/components/wrapper/NavItem.js.map +1 -1
- package/dist/components/wrapper/UserMenu.js +1 -1
- package/dist/components/wrapper/UserMenu.js.map +1 -1
- package/package.json +1 -1
- package/src/components/wrapper/ChurchList.tsx +30 -6
- package/src/components/wrapper/NavItem.tsx +11 -1
- package/src/components/wrapper/UserMenu.tsx +1 -1
|
@@ -4,6 +4,7 @@ export interface Props {
|
|
|
4
4
|
userChurches: LoginUserChurchInterface[];
|
|
5
5
|
currentUserChurch: LoginUserChurchInterface;
|
|
6
6
|
context: UserContextInterface;
|
|
7
|
+
onDelete?: () => void;
|
|
7
8
|
}
|
|
8
9
|
export declare const ChurchList: React.FC<Props>;
|
|
9
10
|
//# sourceMappingURL=ChurchList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChurchList.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/ChurchList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ChurchList.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/ChurchList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAA0B,MAAM,qBAAqB,CAAC;AAI7G,MAAM,WAAW,KAAK;IAAG,YAAY,EAAE,wBAAwB,EAAE,CAAC;IAAC,iBAAiB,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE;AAEtK,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsCtC,CAAC"}
|
|
@@ -1,22 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
4
24
|
};
|
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
26
|
exports.ChurchList = void 0;
|
|
7
|
-
const react_1 =
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
const helpers_1 = require("@churchapps/helpers");
|
|
8
29
|
const UserHelper_1 = require("../../helpers/UserHelper");
|
|
9
30
|
const NavItem_1 = require("./NavItem");
|
|
10
31
|
const ChurchList = props => {
|
|
11
|
-
|
|
32
|
+
const [userChurches, setUserChurches] = (0, react_1.useState)(UserHelper_1.UserHelper.userChurches.filter(uc => uc.apis.length > 0 && uc.person.id !== null));
|
|
33
|
+
const handleDelete = (uc) => {
|
|
34
|
+
if (window.confirm(`Are you sure you wish to delete ${(uc.church.name).toUpperCase()} church from the list?`)) {
|
|
35
|
+
helpers_1.ApiHelper.delete(`/userchurch/record/${props.context.user.id}/${uc.church.id}/${uc.person.id}`, "MembershipApi")
|
|
36
|
+
.then(() => {
|
|
37
|
+
// remove the same from userChurches
|
|
38
|
+
const idx = helpers_1.ArrayHelper.getIndex(UserHelper_1.UserHelper.userChurches, "church.id", uc.church.id);
|
|
39
|
+
if (idx > -1)
|
|
40
|
+
UserHelper_1.UserHelper.userChurches.splice(idx, 1);
|
|
41
|
+
//@ts-ignore
|
|
42
|
+
UserHelper_1.UserHelper.userChurches.push({ apis: uc.apis, church: uc.church, groups: uc.groups, jwt: uc.jwt, person: { id: null, membershipStatus: null } });
|
|
43
|
+
setUserChurches(UserHelper_1.UserHelper.userChurches.filter(uc => uc.apis.length > 0 && uc.person.id !== null));
|
|
44
|
+
props === null || props === void 0 ? void 0 : props.onDelete();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
if (userChurches.length < 2)
|
|
12
49
|
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
13
50
|
else {
|
|
14
51
|
let result = [];
|
|
15
|
-
const userChurches = props.userChurches.filter(uc => uc.apis.length > 0);
|
|
16
52
|
userChurches.forEach(uc => {
|
|
17
53
|
const userChurch = uc;
|
|
18
54
|
const churchName = uc.church.name;
|
|
19
|
-
result.push(react_1.default.createElement(NavItem_1.NavItem, { key: userChurch.church.id, selected: (uc.church.id === props.currentUserChurch.church.id) && true, onClick: () => UserHelper_1.UserHelper.selectChurch(props.context, userChurch.church.id, null), label: churchName, icon: "church" }));
|
|
55
|
+
result.push(react_1.default.createElement(NavItem_1.NavItem, { key: userChurch.church.id, selected: (uc.church.id === props.currentUserChurch.church.id) && true, onClick: () => UserHelper_1.UserHelper.selectChurch(props.context, userChurch.church.id, null), label: churchName, icon: "church", deleteIcon: uc.church.id !== props.currentUserChurch.church.id ? "delete" : null, deleteLabel: "Delete church from the list", deleteFunction: () => { handleDelete(uc); } }));
|
|
20
56
|
});
|
|
21
57
|
return react_1.default.createElement(react_1.default.Fragment, null, result);
|
|
22
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChurchList.js","sourceRoot":"","sources":["../../../src/components/wrapper/ChurchList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChurchList.js","sourceRoot":"","sources":["../../../src/components/wrapper/ChurchList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,KAAK;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,KAAK;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAQD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0BnC,CAAC"}
|
|
@@ -24,7 +24,10 @@ const NavItem = (props) => {
|
|
|
24
24
|
const getLinkContents = () => (react_1.default.createElement(material_1.ListItemButton, null,
|
|
25
25
|
react_1.default.createElement(material_1.Tooltip, { title: props.label || "", arrow: true, placement: "right" },
|
|
26
26
|
react_1.default.createElement(material_1.ListItemIcon, { sx: { minWidth: "40px" } }, getIcon())),
|
|
27
|
-
react_1.default.createElement(material_1.ListItemText, { primary: props.label })
|
|
27
|
+
react_1.default.createElement(material_1.ListItemText, { primary: props.label }),
|
|
28
|
+
(props === null || props === void 0 ? void 0 : props.deleteIcon) ? (react_1.default.createElement(material_1.Tooltip, { title: props.deleteLabel || "", arrow: true, placement: "left" },
|
|
29
|
+
react_1.default.createElement(material_1.IconButton, { onClick: props.deleteFunction ? (e) => { e.stopPropagation(); e.preventDefault(); props.deleteFunction(); } : null, sx: { color: "#f7a9a9" }, size: "small" },
|
|
30
|
+
react_1.default.createElement(material_1.Icon, { sx: { fontSize: 19 } }, "delete")))) : ""));
|
|
28
31
|
if (props.router)
|
|
29
32
|
return (react_1.default.createElement("a", { href: props.url, target: props.target, onClick: (e) => { e.preventDefault(); props.onClick ? props.onClick() : props.router.push(props.url); }, className: (props.selected) ? "selected" : "" }, getLinkContents()));
|
|
30
33
|
else if (props.external || !isReact)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavItem.js","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"NavItem.js","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,7 @@ const UserMenu = (props) => {
|
|
|
70
70
|
props.userChurches.length > 1 && react_1.default.createElement(TabPanel_1.TabPanel, { value: tabIndex, index: 2 },
|
|
71
71
|
react_1.default.createElement("div", { style: { maxHeight: '70vh', overflowY: "auto" } },
|
|
72
72
|
react_1.default.createElement(_1.NavItem, { label: "Back", key: "ChurchBack", icon: "arrow_back", onClick: () => { setTabIndex(0); } }),
|
|
73
|
-
react_1.default.createElement(ChurchList_1.ChurchList, { userChurches: props.userChurches, currentUserChurch: props.currentUserChurch, context: props.context })))));
|
|
73
|
+
react_1.default.createElement(ChurchList_1.ChurchList, { userChurches: props.userChurches, currentUserChurch: props.currentUserChurch, context: props.context, onDelete: handleClose })))));
|
|
74
74
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
75
75
|
showSupport && react_1.default.createElement(SupportModal_1.SupportModal, { onClose: () => setShowSupport(false), appName: props.appName }),
|
|
76
76
|
react_1.default.createElement(material_1.Button, { onClick: handleClick, color: "inherit", "aria-controls": open ? "account-menu" : undefined, "aria-haspopup": "true", "aria-expanded": open ? "true" : undefined, style: { textTransform: "none" }, endIcon: react_1.default.createElement(material_1.Icon, null, "expand_more") },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../../src/components/wrapper/UserMenu.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../../src/components/wrapper/UserMenu.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uDAAoD;AACpD,yDAAsD;AACtD,4CAAgG;AAChG,wBAAqC;AAErC,6CAA0C;AAC1C,kDAA+C;AAC/C,mFAAgF;AAChF,0CAAuC;AAchC,MAAM,QAAQ,GAAoB,CAAC,KAAK,EAAE,EAAE;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,CAAC,CAAgC,EAAE,EAAE;QACvD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,GAAG,GAAG,qBAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC;QACrD,MAAM,QAAQ,GAAG,uBAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,8BAAC,UAAO,IAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CAAC,CAAC;;YACvI,MAAM,CAAC,IAAI,CAAC,8BAAC,UAAO,IAAC,GAAG,EAAE,GAAG,iDAAuB,CAAC,SAAS,cAAc,GAAG,aAAa,QAAQ,qBAAqB,EAAE,GAAG,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CAAC,CAAC;QACvN,MAAM,CAAC,IAAI,CAAC,8BAAC,UAAO,IAAC,GAAG,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAC,SAAS,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CAAC,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,8BAAC,UAAO,IAAC,KAAK,EAAC,SAAS,EAAC,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,GAAI,CAAC,CAAC;QAC5G,MAAM,CAAC,IAAI,CAAC,uCAAK,KAAK,EAAE,EAAC,SAAS,EAAC,gBAAgB,EAAE,UAAU,EAAC,CAAC,EAAE,aAAa,EAAC,CAAC,EAAC,GAAQ,CAAC,CAAA;QAC5F,MAAM,CAAC,IAAI,CAAC,8BAAC,UAAO,IAAC,KAAK,EAAC,YAAY,EAAC,GAAG,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC;QAC7G,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,8BAAC,UAAO,IAAC,KAAK,EAAC,eAAe,EAAC,GAAG,EAAC,eAAe,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAI,CAAC,CAAC;QACxJ,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,KAAK,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC,cAAc,CAAA;;YAChD,OAAO,4BAA4B,CAAC;IAC3C,CAAC,CAAA;IAED,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,CAAC;QACZ,EAAE,EAAE;YACF,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,2CAA2C;YACnD,EAAE,EAAE,GAAG;YACP,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;YAC/D,QAAQ,EAAE,GAAG;SACd;KACF,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAmC,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAA;IAED,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CACpB,8BAAC,cAAG,IAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE;QAClD,8BAAC,mBAAQ,IAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,IAChC,YAAY,EAAE,CACN;QACX,8BAAC,mBAAQ,IAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACjC,8BAAC,UAAO,IAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAI;YAC5F,8BAAC,UAAO,IAAC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACtE;QACV,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,8BAAC,mBAAQ,IAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACnE,uCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;gBAClD,8BAAC,UAAO,IAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAI;gBAC/F,8BAAC,uBAAU,IAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAI,CACvI,CACG,CAEP,CACP,CAAC;IAEF,OAAO,CACL;QACG,WAAW,IAAI,8BAAC,2BAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI;QAC9F,8BAAC,iBAAM,IAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,SAAS,mBAAgB,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,mBAAgB,MAAM,mBAAgB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,8BAAC,eAAI,sBAAmB;YAChO,8BAAC,iBAAM,IAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,GAAW;YACtF,8BAAC,qBAAU,IAAC,KAAK,EAAC,SAAS,EAAC,MAAM,UAAE,QAAQ,CAAc,CACnD;QAET,8BAAC,eAAI,IAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAC,cAAc,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,IACxT,OAAO,EAAE,CACL,CACN,CACJ,CAAC;AACJ,CAAC,CAAC;AApFW,QAAA,QAAQ,YAoFnB"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,44 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { LoginUserChurchInterface, UserContextInterface } from "@churchapps/helpers";
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { LoginUserChurchInterface, UserContextInterface, ApiHelper, ArrayHelper } from "@churchapps/helpers";
|
|
3
3
|
import { UserHelper } from "../../helpers/UserHelper";
|
|
4
4
|
import { NavItem } from "./NavItem";
|
|
5
5
|
|
|
6
|
-
export interface Props { userChurches: LoginUserChurchInterface[], currentUserChurch: LoginUserChurchInterface, context: UserContextInterface }
|
|
6
|
+
export interface Props { userChurches: LoginUserChurchInterface[], currentUserChurch: LoginUserChurchInterface, context: UserContextInterface, onDelete?: () => void }
|
|
7
7
|
|
|
8
8
|
export const ChurchList: React.FC<Props> = props => {
|
|
9
|
+
const [userChurches, setUserChurches] = useState(UserHelper.userChurches.filter(uc => uc.apis.length > 0 && uc.person.id !== null));
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
const handleDelete = (uc: LoginUserChurchInterface) => {
|
|
12
|
+
if (window.confirm(`Are you sure you wish to delete ${(uc.church.name).toUpperCase()} church from the list?`)) {
|
|
13
|
+
ApiHelper.delete(`/userchurch/record/${props.context.user.id}/${uc.church.id}/${uc.person.id}`, "MembershipApi")
|
|
14
|
+
.then(() => {
|
|
15
|
+
// remove the same from userChurches
|
|
16
|
+
const idx = ArrayHelper.getIndex(UserHelper.userChurches, "church.id", uc.church.id);
|
|
17
|
+
if (idx > -1) UserHelper.userChurches.splice(idx, 1);
|
|
18
|
+
//@ts-ignore
|
|
19
|
+
UserHelper.userChurches.push({ apis: uc.apis, church: uc.church, groups: uc.groups, jwt: uc.jwt, person: { id: null, membershipStatus: null } });
|
|
20
|
+
setUserChurches(UserHelper.userChurches.filter(uc => uc.apis.length > 0 && uc.person.id !== null));
|
|
21
|
+
props?.onDelete();
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (userChurches.length < 2) return <></>;
|
|
11
27
|
else {
|
|
12
28
|
let result: JSX.Element[] = [];
|
|
13
|
-
const userChurches = props.userChurches.filter(uc => uc.apis.length > 0)
|
|
14
29
|
userChurches.forEach(uc => {
|
|
15
30
|
const userChurch = uc;
|
|
16
31
|
const churchName = uc.church.name;
|
|
17
|
-
result.push(<NavItem
|
|
32
|
+
result.push(<NavItem
|
|
33
|
+
key={userChurch.church.id}
|
|
34
|
+
selected={(uc.church.id === props.currentUserChurch.church.id) && true}
|
|
35
|
+
onClick={() => UserHelper.selectChurch(props.context, userChurch.church.id, null)}
|
|
36
|
+
label={churchName}
|
|
37
|
+
icon="church"
|
|
38
|
+
deleteIcon={uc.church.id !== props.currentUserChurch.church.id ? "delete" : null}
|
|
39
|
+
deleteLabel="Delete church from the list"
|
|
40
|
+
deleteFunction={() => { handleDelete(uc); }}
|
|
41
|
+
/>);
|
|
18
42
|
});
|
|
19
43
|
|
|
20
44
|
return <>{result}</>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Icon, ListItemButton, ListItemIcon, ListItemText, styled, Tooltip } from "@mui/material";
|
|
2
|
+
import { Icon, IconButton, ListItemButton, ListItemIcon, ListItemText, styled, Tooltip } from "@mui/material";
|
|
3
3
|
import { NavLink, useLocation } from "react-router-dom";
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
@@ -11,6 +11,9 @@ interface Props {
|
|
|
11
11
|
router?: any;
|
|
12
12
|
external?: boolean;
|
|
13
13
|
selected?: boolean;
|
|
14
|
+
deleteIcon?: string;
|
|
15
|
+
deleteLabel?: string;
|
|
16
|
+
deleteFunction?: () => void;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
const StyledNavLink = styled(NavLink)({
|
|
@@ -33,6 +36,13 @@ export const NavItem: React.FC<Props> = (props) => {
|
|
|
33
36
|
<ListItemIcon sx={{ minWidth: "40px" }}>{getIcon()}</ListItemIcon>
|
|
34
37
|
</Tooltip>
|
|
35
38
|
<ListItemText primary={props.label} />
|
|
39
|
+
{props?.deleteIcon ? (
|
|
40
|
+
<Tooltip title={props.deleteLabel || ""} arrow placement="left">
|
|
41
|
+
<IconButton onClick={props.deleteFunction ? (e) => { e.stopPropagation(); e.preventDefault(); props.deleteFunction() } : null} sx={{ color: "#f7a9a9" }} size="small">
|
|
42
|
+
<Icon sx={{ fontSize: 19 }}>delete</Icon>
|
|
43
|
+
</IconButton>
|
|
44
|
+
</Tooltip>
|
|
45
|
+
) : ""}
|
|
36
46
|
</ListItemButton>)
|
|
37
47
|
|
|
38
48
|
if (props.router) return (<a href={props.url} target={props.target} onClick={(e) => { e.preventDefault(); props.onClick ? props.onClick() : props.router.push(props.url) }} className={(props.selected) ? "selected" : ""}>{getLinkContents()}</a>)
|
|
@@ -85,7 +85,7 @@ export const UserMenu: React.FC<Props> = (props) => {
|
|
|
85
85
|
{props.userChurches.length > 1 && <TabPanel value={tabIndex} index={2}>
|
|
86
86
|
<div style={{ maxHeight: '70vh', overflowY: "auto" }}>
|
|
87
87
|
<NavItem label="Back" key="ChurchBack" icon="arrow_back" onClick={() => { setTabIndex(0); }} />
|
|
88
|
-
<ChurchList userChurches={props.userChurches} currentUserChurch={props.currentUserChurch} context={props.context} />
|
|
88
|
+
<ChurchList userChurches={props.userChurches} currentUserChurch={props.currentUserChurch} context={props.context} onDelete={handleClose} />
|
|
89
89
|
</div>
|
|
90
90
|
</TabPanel>}
|
|
91
91
|
|