@churchapps/apphelper 0.3.40 → 0.3.42

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FormSubmissionEdit.d.ts","sourceRoot":"","sources":["../../src/components/FormSubmissionEdit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAC,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2I9C,CAAA"}
1
+ {"version":3,"file":"FormSubmissionEdit.d.ts","sourceRoot":"","sources":["../../src/components/FormSubmissionEdit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAMtC,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAC,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiJ9C,CAAA"}
@@ -44,6 +44,7 @@ const FormSubmissionEdit = ({ showHeader = true, noBackground = false, ...props
44
44
  const [stripePromise, setStripe] = react_1.default.useState(null);
45
45
  const [formSubmission, setFormSubmission] = react_1.default.useState(null);
46
46
  const [errors, setErrors] = react_1.default.useState([]);
47
+ const [isSubmitting, setIsSubmitting] = react_1.default.useState(false);
47
48
  const paymentRef = (0, react_1.useRef)(null);
48
49
  const getDeleteFunction = () => (!helpers_1.UniqueIdHelper.isMissing(formSubmission?.id)) ? handleDelete : undefined;
49
50
  const handleDelete = () => {
@@ -107,11 +108,13 @@ const FormSubmissionEdit = ({ showHeader = true, noBackground = false, ...props
107
108
  const handleSave = async () => {
108
109
  const fs = formSubmission;
109
110
  if (validate(fs)) {
111
+ setIsSubmitting(true);
110
112
  // First, handle the payment if there's a payment component
111
113
  if (paymentRef.current) {
112
114
  const paymentResult = await paymentRef.current.handlePayment();
113
115
  if (!paymentResult.paymentSuccessful) {
114
116
  setErrors(paymentResult.errors);
117
+ setIsSubmitting(false);
115
118
  return;
116
119
  }
117
120
  else {
@@ -139,6 +142,9 @@ const FormSubmissionEdit = ({ showHeader = true, noBackground = false, ...props
139
142
  else {
140
143
  props.updatedFunction();
141
144
  }
145
+ })
146
+ .finally(() => {
147
+ setIsSubmitting(false);
142
148
  });
143
149
  }
144
150
  };
@@ -172,7 +178,7 @@ const FormSubmissionEdit = ({ showHeader = true, noBackground = false, ...props
172
178
  for (let i = 0; i < questions.length; i++)
173
179
  questionList.push((0, jsx_runtime_1.jsx)(_1.QuestionEdit, { noBackground: noBackground, question: questions[i], answer: getAnswer(questions[i].id), changeFunction: handleChange, churchId: props.churchId, ref: questions[i].fieldType === "Payment" ? paymentRef : null, stripePromise: stripePromise }, questions[i].id));
174
180
  }
175
- return ((0, jsx_runtime_1.jsxs)(_1.InputBox, { id: "formSubmissionBox", headerText: showHeader ? (formSubmission?.form?.name || helpers_1.Locale.label("formSubmissionEdit.editForm")) : "", headerIcon: showHeader ? "person" : "", mainContainerCssProps: noBackground ? { sx: { backgroundColor: "transparent", boxShadow: 0 } } : {}, saveFunction: handleSave, saveText: props.contentType === "form" ? helpers_1.Locale.label("formSubmissionEdit.submit") : "", cancelFunction: props.cancelFunction, deleteFunction: getDeleteFunction(), children: [(0, jsx_runtime_1.jsx)(_1.ErrorMessages, { errors: errors }), questionList] }));
181
+ return ((0, jsx_runtime_1.jsxs)(_1.InputBox, { id: "formSubmissionBox", headerText: showHeader ? (formSubmission?.form?.name || helpers_1.Locale.label("formSubmissionEdit.editForm")) : "", headerIcon: showHeader ? "person" : "", mainContainerCssProps: noBackground ? { sx: { backgroundColor: "transparent", boxShadow: 0 } } : {}, saveFunction: handleSave, isSubmitting: isSubmitting, saveText: props.contentType === "form" ? helpers_1.Locale.label("formSubmissionEdit.submit") : "", cancelFunction: props.cancelFunction, deleteFunction: getDeleteFunction(), children: [(0, jsx_runtime_1.jsx)(_1.ErrorMessages, { errors: errors }), questionList] }));
176
182
  };
177
183
  exports.FormSubmissionEdit = FormSubmissionEdit;
178
184
  //# sourceMappingURL=FormSubmissionEdit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormSubmissionEdit.js","sourceRoot":"","sources":["../../src/components/FormSubmissionEdit.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormSubmissionEdit.js","sourceRoot":"","sources":["../../src/components/FormSubmissionEdit.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReportOutput.d.ts","sourceRoot":"","sources":["../../../src/components/reporting/ReportOutput.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgC,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAW3G,UAAU,KAAK;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE;AAE5D,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,4CAmJxC,CAAA"}
1
+ {"version":3,"file":"ReportOutput.d.ts","sourceRoot":"","sources":["../../../src/components/reporting/ReportOutput.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgC,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAW3G,UAAU,KAAK;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE;AAE5D,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,4CAuJxC,CAAA"}
@@ -93,10 +93,13 @@ const ReportOutput = (props) => {
93
93
  };
94
94
  result.push(obj);
95
95
  }
96
- //set custom headers
97
- const maxKeysObj = result?.reduce((a, b) => Object.keys(a).length > Object.keys(b).length ? a : b, []);
98
- const objKeys = Object.keys(maxKeysObj);
99
- objKeys.forEach(key => headers.push({ label: key, key: key }));
96
+ // Collect all unique keys across all objects
97
+ const allKeys = new Set();
98
+ result.forEach(obj => {
99
+ Object.keys(obj).forEach(key => allKeys.add(key));
100
+ });
101
+ // Create headers for all unique keys
102
+ allKeys.forEach(key => headers.push({ label: key, key: key }));
100
103
  setCustomHeaders(headers);
101
104
  setDetailedPersonSummary(result);
102
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReportOutput.js","sourceRoot":"","sources":["../../../src/components/reporting/ReportOutput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReportOutput.js","sourceRoot":"","sources":["../../../src/components/reporting/ReportOutput.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare class FileHelper {
2
- static postPresignedFile: (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void) => Promise<import("axios").AxiosResponse<any, any>>;
2
+ static postPresignedFile: (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void, axiosInstance?: any) => any;
3
3
  static dataURLtoBlob(dataurl: string): Blob;
4
4
  }
5
5
  //# sourceMappingURL=FileHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IAErB,MAAM,CAAC,iBAAiB,GAAI,WAAW,GAAG,EAAE,cAAc,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,sDAgBzG;IAEF,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;CAQrC"}
1
+ {"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,GAAI,WAAW,GAAG,EAAE,cAAc,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,gBAAgB,GAAG,SAoB9H;IAEF,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;CAQrC"}
@@ -15,7 +15,8 @@ class FileHelper {
15
15
  }
16
16
  }
17
17
  exports.FileHelper = FileHelper;
18
- FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback) => {
18
+ FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback, axiosInstance) => {
19
+ const axiosToUse = axiosInstance || axios_1.default;
19
20
  const formData = new FormData();
20
21
  //formData.append("key", presigned.key); //no longer needed with new aws sdk
21
22
  formData.append("acl", "public-read");
@@ -29,6 +30,9 @@ FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback) => {
29
30
  progressCallback(Math.round((100 * data.loaded) / data.total));
30
31
  }
31
32
  };
32
- return axios_1.default.post(presigned.url, formData, axiosConfig);
33
+ console.log("#10");
34
+ console.log("axios: ", axiosToUse);
35
+ console.log("axios tyeof: ", typeof axiosToUse.post);
36
+ return axiosToUse.post(presigned.url, formData, axiosConfig);
33
37
  };
34
38
  //# sourceMappingURL=FileHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAa,UAAU;IAoBrB,MAAM,CAAC,aAAa,CAAC,OAAe;QAClC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,EAAE,EAAE,CAAC;YACX,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;;AA3BH,gCA4BC;AA1BQ,4BAAiB,GAAG,CAAC,SAAc,EAAE,YAAkB,EAAE,gBAA2C,EAAE,EAAE;IAC7G,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE;QAClD,gBAAgB,EAAE,CAAC,IAAS,EAAE,EAAE;YAC9B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;IAEF,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC,CAAC"}
1
+ {"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAa,UAAU;IAuBrB,MAAM,CAAC,aAAa,CAAC,OAAe;QAClC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,EAAE,EAAE,CAAC;YACX,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;;AA9BH,gCA+BC;AA9BQ,4BAAiB,GAAG,CAAC,SAAc,EAAE,YAAkB,EAAE,gBAA2C,EAAE,aAAmB,EAAE,EAAE;IAClI,MAAM,UAAU,GAAG,aAAa,IAAI,eAAK,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE;QAClD,gBAAgB,EAAE,CAAC,IAAS,EAAE,EAAE;YAC9B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC/D,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@churchapps/apphelper",
3
- "version": "0.3.40",
3
+ "version": "0.3.42",
4
4
  "description": "Library of helper functions for React and NextJS ChurchApps",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,6 +24,7 @@ export const FormSubmissionEdit: React.FC<Props> = ({showHeader = true, noBackgr
24
24
  const [stripePromise, setStripe] = React.useState<Promise<Stripe>>(null);
25
25
  const [formSubmission, setFormSubmission] = React.useState(null);
26
26
  const [errors, setErrors] = React.useState([]);
27
+ const [isSubmitting, setIsSubmitting] = React.useState<boolean>(false);
27
28
  const paymentRef = useRef<any>(null);
28
29
 
29
30
  const getDeleteFunction = () => (!UniqueIdHelper.isMissing(formSubmission?.id)) ? handleDelete : undefined
@@ -88,11 +89,13 @@ export const FormSubmissionEdit: React.FC<Props> = ({showHeader = true, noBackgr
88
89
  const handleSave = async () => {
89
90
  const fs = formSubmission;
90
91
  if (validate(fs)) {
92
+ setIsSubmitting(true);
91
93
  // First, handle the payment if there's a payment component
92
94
  if (paymentRef.current) {
93
95
  const paymentResult = await paymentRef.current.handlePayment();
94
96
  if (!paymentResult.paymentSuccessful) {
95
97
  setErrors(paymentResult.errors);
98
+ setIsSubmitting(false);
96
99
  return;
97
100
  } else {
98
101
  // Mark payment as successful in answers
@@ -119,6 +122,9 @@ export const FormSubmissionEdit: React.FC<Props> = ({showHeader = true, noBackgr
119
122
  } else {
120
123
  props.updatedFunction();
121
124
  }
125
+ })
126
+ .finally(() => {
127
+ setIsSubmitting(false);
122
128
  });
123
129
  }
124
130
  }
@@ -154,7 +160,7 @@ export const FormSubmissionEdit: React.FC<Props> = ({showHeader = true, noBackgr
154
160
  }
155
161
 
156
162
  return (
157
- <InputBox id="formSubmissionBox" headerText={showHeader ? (formSubmission?.form?.name || Locale.label("formSubmissionEdit.editForm")) : ""} headerIcon={showHeader ? "person" : ""} mainContainerCssProps={noBackground ? { sx: {backgroundColor: "transparent", boxShadow: 0}}: {}} saveFunction={handleSave} saveText={props.contentType === "form" ? Locale.label("formSubmissionEdit.submit") : ""} cancelFunction={props.cancelFunction} deleteFunction={getDeleteFunction()}>
163
+ <InputBox id="formSubmissionBox" headerText={showHeader ? (formSubmission?.form?.name || Locale.label("formSubmissionEdit.editForm")) : ""} headerIcon={showHeader ? "person" : ""} mainContainerCssProps={noBackground ? { sx: {backgroundColor: "transparent", boxShadow: 0}}: {}} saveFunction={handleSave} isSubmitting={isSubmitting} saveText={props.contentType === "form" ? Locale.label("formSubmissionEdit.submit") : ""} cancelFunction={props.cancelFunction} deleteFunction={getDeleteFunction()}>
158
164
  <ErrorMessages errors={errors} />
159
165
  {questionList}
160
166
  </InputBox>
@@ -15,150 +15,154 @@ import { Link } from "react-router-dom";
15
15
  interface Props { keyName: string, report: ReportInterface }
16
16
 
17
17
  export const ReportOutput = (props: Props) => {
18
- const [reportResult, setReportResult] = React.useState<ReportResultInterface>(null);
19
- const [detailedPersonSummary, setDetailedPersonSummary] = React.useState<any[]>(null);
20
- const [customHeaders, setCustomHeaders] = React.useState([]);
21
- const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
22
- const [downloadData, setDownloadData] = React.useState<ReportResultInterface>(null);
23
- const open = Boolean(anchorEl);
24
- const contentRef = useRef<HTMLDivElement>(null);
25
- const isMounted = useMountedState();
26
-
27
- const handlePrint = useReactToPrint({
28
- content: () => contentRef.current
29
- })
30
-
31
- const populatePeople = async (data: any[]) => {
32
- let result: any[] = [];
33
- let headers: {label: string, key: string}[] = [];
34
- const peopleIds = ArrayHelper.getIds(data, "personId");
35
- if (peopleIds.length > 0) {
36
- const people = await ApiHelper.get("/people/ids?ids=" + peopleIds.join(","), "MembershipApi");
37
- const filteredData = data.filter((d) => d.personId !== null);
38
- filteredData.forEach((d) => {
39
- const person: PersonInterface = ArrayHelper.getOne(people, "id", d.personId);
40
- const funds = Object.assign({}, ...d.funds);
41
- const obj = {
42
- firstName: person.name.first,
43
- lastName: person.name.last,
44
- email: person.contactInfo?.email,
45
- address: person.contactInfo.address1 + (person.contactInfo.address2 ? `, ${person.contactInfo.address2}` : ""),
46
- city: person.contactInfo.city,
47
- state: person.contactInfo.state,
48
- zip: person.contactInfo.zip,
49
- totalDonation: d.totalAmount,
50
- ...funds
51
- };
52
- result.push(obj);
53
- });
54
- }
55
-
56
- //for anonymous donations
57
- const anonDonations = ArrayHelper.getOne(data, "personId", null);
58
- if (anonDonations) {
59
- const funds = Object.assign({}, ...anonDonations.funds);
60
- const obj = {
61
- firstName: "Anonymous",
62
- totalDonation: anonDonations.totalAmount,
63
- ...funds
64
- }
65
- result.push(obj);
66
- }
67
-
68
- //set custom headers
69
- const maxKeysObj = result?.reduce((a, b) => Object.keys(a).length > Object.keys(b).length ? a : b, []);
70
- const objKeys = Object.keys(maxKeysObj);
71
- objKeys.forEach(key => headers.push({ label: key, key: key }));
72
-
73
- setCustomHeaders(headers);
74
- setDetailedPersonSummary(result);
75
- }
76
-
77
- const runReport = () => {
78
- if (props.report) {
79
- const queryParams: string[] = [];
80
- props.report.parameters.forEach(p => {
81
- if (p.value) queryParams.push(p.keyName + "=" + p.value);
82
- });
83
- let url = "/reports/" + props.report.keyName + "/run";
84
- if (queryParams) url += "?" + queryParams.join("&");
85
-
86
- ApiHelper.get(url, "ReportingApi").then((data: ReportResultInterface) => {
87
- if(isMounted()) {
88
- setReportResult(data);
89
- }
90
- });
91
-
92
- const donationUrl = "/donations/summary?type=person&" + queryParams.join("&");
93
- ApiHelper.get(donationUrl, "GivingApi").then((data) => { populatePeople(data); });
94
-
95
- if (props.keyName === "groupAttendance") {
96
- let url = "/reports/groupAttendanceDownload/run";
97
- if (queryParams) url += "?" + queryParams.join("&");
98
- ApiHelper.get(url, "ReportingApi").then((data: ReportResultInterface) => {
99
- setDownloadData(data);
100
- })
101
- }
102
- }
103
- }
104
-
105
- const getExportMenu = (key: number) => {
106
- const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
107
- setAnchorEl(event.currentTarget);
108
- }
109
-
110
- const handleClose = () => {
111
- setAnchorEl(null);
112
- }
113
- return (<>
114
- <Button size="small" title={Locale.label("reporting.downloadOptions")} onClick={handleClick} key={key}><Icon>download</Icon></Button>
115
- <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>
116
- {reportResult?.table?.length > 0 && <MenuItem sx={{ padding: "5px" }} onClick={handleClose}><ExportLink data={props.keyName === "groupAttendance" ? downloadData?.table : reportResult.table} filename={props.report.displayName.replace(" ", "_") + ".csv"} text={Locale.label("reporting.summary")} icon={props.keyName === "attendanceTrend" ? "calendar_month" : "volunteer_activism"} /></MenuItem>}
117
- {(props.keyName ==="donationSummary" && detailedPersonSummary?.length > 0) && <MenuItem sx={{ padding: "5px" }} onClick={handleClose}><ExportLink data={detailedPersonSummary} filename="Detailed_Donation_Summary.csv" text={Locale.label("reporting.detailed")} icon="person" customHeaders={customHeaders} spaceAfter={true} /></MenuItem>}
118
- {(props.keyName ==="donationSummary" && detailedPersonSummary?.length > 0) && <MenuItem sx={{ padding: "5px" }} onClick={handleClose}><Button onClick={() => { window.open("/downloads/DonationTemplate.docx") }}><Icon sx={{ marginRight: 1 }}>description</Icon>{Locale.label("reporting.sampleTemplate")}</Button></MenuItem>}
119
- </Menu>
120
- </>)
121
- }
122
-
123
- React.useEffect(runReport, [props.report, isMounted]);
124
-
125
- const getEditContent = () => {
126
- const result: JSX.Element[] = [];
127
-
128
- if (reportResult) {
129
- result.push(<button type="button" className="no-default-style" key={result.length - 2} onClick={handlePrint} title="print"><Icon>print</Icon></button>);
130
- }
131
- if (reportResult?.table.length > 0 || detailedPersonSummary?.length > 0) {
132
- result.push(getExportMenu(result.length - 1))
133
- }
134
- return result;
135
- }
136
-
137
- const getOutputs = () => {
138
- const result: JSX.Element[] = [];
139
- reportResult.outputs.forEach(o => {
140
- if (o.outputType === "table") result.push(<TableReport key={o.outputType} reportResult={reportResult} output={o} />)
141
- if (o.outputType === "tree") result.push(<TreeReport key={o.outputType} reportResult={reportResult} output={o} />)
142
- else if (o.outputType === "barChart") result.push(<ChartReport key={o.outputType} reportResult={reportResult} output={o} />)
143
- })
144
-
145
- return result;
146
- }
147
-
148
- const getResults = () => {
149
- if (!props.report) return (<DisplayBox ref={contentRef} id="reportsBox" headerIcon="summarize" headerText={Locale.label("reporting.runReport")} editContent={getEditContent()}><p>{Locale.label("reporting.useFilter")}</p></DisplayBox>);
150
-
151
- else if (!reportResult) return <Loading />
152
- else {
153
- return (<DisplayBox ref={contentRef} id="reportsBox" headerIcon="summarize" headerText={props.report.displayName} editContent={getEditContent()}>
154
- {getOutputs()}
155
- </DisplayBox>);
156
- }
157
- }
158
-
159
- return (
160
- <>
161
- {getResults()}
162
- </>
163
- );
18
+ const [reportResult, setReportResult] = React.useState<ReportResultInterface>(null);
19
+ const [detailedPersonSummary, setDetailedPersonSummary] = React.useState<any[]>(null);
20
+ const [customHeaders, setCustomHeaders] = React.useState([]);
21
+ const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
22
+ const [downloadData, setDownloadData] = React.useState<ReportResultInterface>(null);
23
+ const open = Boolean(anchorEl);
24
+ const contentRef = useRef<HTMLDivElement>(null);
25
+ const isMounted = useMountedState();
26
+
27
+ const handlePrint = useReactToPrint({
28
+ content: () => contentRef.current
29
+ })
30
+
31
+ const populatePeople = async (data: any[]) => {
32
+ let result: any[] = [];
33
+ let headers: { label: string, key: string }[] = [];
34
+ const peopleIds = ArrayHelper.getIds(data, "personId");
35
+ if (peopleIds.length > 0) {
36
+ const people = await ApiHelper.get("/people/ids?ids=" + peopleIds.join(","), "MembershipApi");
37
+ const filteredData = data.filter((d) => d.personId !== null);
38
+ filteredData.forEach((d) => {
39
+ const person: PersonInterface = ArrayHelper.getOne(people, "id", d.personId);
40
+ const funds = Object.assign({}, ...d.funds);
41
+ const obj = {
42
+ firstName: person.name.first,
43
+ lastName: person.name.last,
44
+ email: person.contactInfo?.email,
45
+ address: person.contactInfo.address1 + (person.contactInfo.address2 ? `, ${person.contactInfo.address2}` : ""),
46
+ city: person.contactInfo.city,
47
+ state: person.contactInfo.state,
48
+ zip: person.contactInfo.zip,
49
+ totalDonation: d.totalAmount,
50
+ ...funds
51
+ };
52
+ result.push(obj);
53
+ });
54
+ }
55
+
56
+ //for anonymous donations
57
+ const anonDonations = ArrayHelper.getOne(data, "personId", null);
58
+ if (anonDonations) {
59
+ const funds = Object.assign({}, ...anonDonations.funds);
60
+ const obj = {
61
+ firstName: "Anonymous",
62
+ totalDonation: anonDonations.totalAmount,
63
+ ...funds
64
+ }
65
+ result.push(obj);
66
+ }
67
+
68
+ // Collect all unique keys across all objects
69
+ const allKeys = new Set<string>();
70
+ result.forEach(obj => {
71
+ Object.keys(obj).forEach(key => allKeys.add(key));
72
+ });
73
+
74
+ // Create headers for all unique keys
75
+ allKeys.forEach(key => headers.push({ label: key, key: key }));
76
+
77
+ setCustomHeaders(headers);
78
+ setDetailedPersonSummary(result);
79
+ }
80
+
81
+ const runReport = () => {
82
+ if (props.report) {
83
+ const queryParams: string[] = [];
84
+ props.report.parameters.forEach(p => {
85
+ if (p.value) queryParams.push(p.keyName + "=" + p.value);
86
+ });
87
+ let url = "/reports/" + props.report.keyName + "/run";
88
+ if (queryParams) url += "?" + queryParams.join("&");
89
+
90
+ ApiHelper.get(url, "ReportingApi").then((data: ReportResultInterface) => {
91
+ if (isMounted()) {
92
+ setReportResult(data);
93
+ }
94
+ });
95
+
96
+ const donationUrl = "/donations/summary?type=person&" + queryParams.join("&");
97
+ ApiHelper.get(donationUrl, "GivingApi").then((data) => { populatePeople(data); });
98
+
99
+ if (props.keyName === "groupAttendance") {
100
+ let url = "/reports/groupAttendanceDownload/run";
101
+ if (queryParams) url += "?" + queryParams.join("&");
102
+ ApiHelper.get(url, "ReportingApi").then((data: ReportResultInterface) => {
103
+ setDownloadData(data);
104
+ })
105
+ }
106
+ }
107
+ }
108
+
109
+ const getExportMenu = (key: number) => {
110
+ const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
111
+ setAnchorEl(event.currentTarget);
112
+ }
113
+
114
+ const handleClose = () => {
115
+ setAnchorEl(null);
116
+ }
117
+ return (<>
118
+ <Button size="small" title={Locale.label("reporting.downloadOptions")} onClick={handleClick} key={key}><Icon>download</Icon></Button>
119
+ <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>
120
+ {reportResult?.table?.length > 0 && <MenuItem sx={{ padding: "5px" }} onClick={handleClose}><ExportLink data={props.keyName === "groupAttendance" ? downloadData?.table : reportResult.table} filename={props.report.displayName.replace(" ", "_") + ".csv"} text={Locale.label("reporting.summary")} icon={props.keyName === "attendanceTrend" ? "calendar_month" : "volunteer_activism"} /></MenuItem>}
121
+ {(props.keyName === "donationSummary" && detailedPersonSummary?.length > 0) && <MenuItem sx={{ padding: "5px" }} onClick={handleClose}><ExportLink data={detailedPersonSummary} filename="Detailed_Donation_Summary.csv" text={Locale.label("reporting.detailed")} icon="person" customHeaders={customHeaders} spaceAfter={true} /></MenuItem>}
122
+ {(props.keyName === "donationSummary" && detailedPersonSummary?.length > 0) && <MenuItem sx={{ padding: "5px" }} onClick={handleClose}><Button onClick={() => { window.open("/downloads/DonationTemplate.docx") }}><Icon sx={{ marginRight: 1 }}>description</Icon>{Locale.label("reporting.sampleTemplate")}</Button></MenuItem>}
123
+ </Menu>
124
+ </>)
125
+ }
126
+
127
+ React.useEffect(runReport, [props.report, isMounted]);
128
+
129
+ const getEditContent = () => {
130
+ const result: JSX.Element[] = [];
131
+
132
+ if (reportResult) {
133
+ result.push(<button type="button" className="no-default-style" key={result.length - 2} onClick={handlePrint} title="print"><Icon>print</Icon></button>);
134
+ }
135
+ if (reportResult?.table.length > 0 || detailedPersonSummary?.length > 0) {
136
+ result.push(getExportMenu(result.length - 1))
137
+ }
138
+ return result;
139
+ }
140
+
141
+ const getOutputs = () => {
142
+ const result: JSX.Element[] = [];
143
+ reportResult.outputs.forEach(o => {
144
+ if (o.outputType === "table") result.push(<TableReport key={o.outputType} reportResult={reportResult} output={o} />)
145
+ if (o.outputType === "tree") result.push(<TreeReport key={o.outputType} reportResult={reportResult} output={o} />)
146
+ else if (o.outputType === "barChart") result.push(<ChartReport key={o.outputType} reportResult={reportResult} output={o} />)
147
+ })
148
+
149
+ return result;
150
+ }
151
+
152
+ const getResults = () => {
153
+ if (!props.report) return (<DisplayBox ref={contentRef} id="reportsBox" headerIcon="summarize" headerText={Locale.label("reporting.runReport")} editContent={getEditContent()}><p>{Locale.label("reporting.useFilter")}</p></DisplayBox>);
154
+
155
+ else if (!reportResult) return <Loading />
156
+ else {
157
+ return (<DisplayBox ref={contentRef} id="reportsBox" headerIcon="summarize" headerText={props.report.displayName} editContent={getEditContent()}>
158
+ {getOutputs()}
159
+ </DisplayBox>);
160
+ }
161
+ }
162
+
163
+ return (
164
+ <>
165
+ {getResults()}
166
+ </>
167
+ );
164
168
  }
@@ -1,8 +1,8 @@
1
1
  import axios from "axios";
2
2
 
3
3
  export class FileHelper {
4
-
5
- static postPresignedFile = (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void) => {
4
+ static postPresignedFile = (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void, axiosInstance?: any) => {
5
+ const axiosToUse = axiosInstance || axios;
6
6
  const formData = new FormData();
7
7
  //formData.append("key", presigned.key); //no longer needed with new aws sdk
8
8
  formData.append("acl", "public-read");
@@ -17,7 +17,10 @@ export class FileHelper {
17
17
  }
18
18
  };
19
19
 
20
- return axios.post(presigned.url, formData, axiosConfig);
20
+ console.log("#10");
21
+ console.log("axios: ", axiosToUse);
22
+ console.log("axios tyeof: ", typeof axiosToUse.post);
23
+ return axiosToUse.post(presigned.url, formData, axiosConfig);
21
24
  };
22
25
 
23
26
  static dataURLtoBlob(dataurl: string) {