dynamic-questionnaire-form 1.1.0

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.
Files changed (61) hide show
  1. package/dist/esm/Validate/validate.d.ts +5 -0
  2. package/dist/esm/Validate/validate.js +15 -0
  3. package/dist/esm/Validate/validate.js.map +1 -0
  4. package/dist/esm/components/ComplianceQuestionarie/FlaggReasonForm.d.ts +4 -0
  5. package/dist/esm/components/ComplianceQuestionarie/FlaggReasonForm.js +95 -0
  6. package/dist/esm/components/ComplianceQuestionarie/FlaggReasonForm.js.map +1 -0
  7. package/dist/esm/components/ComplianceQuestionarie/NewTaskForm.d.ts +13 -0
  8. package/dist/esm/components/ComplianceQuestionarie/NewTaskForm.js +37 -0
  9. package/dist/esm/components/ComplianceQuestionarie/NewTaskForm.js.map +1 -0
  10. package/dist/esm/components/ComplianceQuestionarie/Questionnaire.d.ts +35 -0
  11. package/dist/esm/components/ComplianceQuestionarie/Questionnaire.js +260 -0
  12. package/dist/esm/components/ComplianceQuestionarie/Questionnaire.js.map +1 -0
  13. package/dist/esm/components/ComplianceQuestionarie/QuestionnaireForm.d.ts +22 -0
  14. package/dist/esm/components/ComplianceQuestionarie/QuestionnaireForm.js +1119 -0
  15. package/dist/esm/components/ComplianceQuestionarie/QuestionnaireForm.js.map +1 -0
  16. package/dist/esm/components/Questionnaire/Questionnaire.d.ts +56 -0
  17. package/dist/esm/components/Questionnaire/Questionnaire.js +636 -0
  18. package/dist/esm/components/Questionnaire/Questionnaire.js.map +1 -0
  19. package/dist/esm/components/Questionnaire/QuestionnaireForm.d.ts +29 -0
  20. package/dist/esm/components/Questionnaire/QuestionnaireForm.js +716 -0
  21. package/dist/esm/components/Questionnaire/QuestionnaireForm.js.map +1 -0
  22. package/dist/esm/components/index.d.ts +3 -0
  23. package/dist/esm/components/index.js +4 -0
  24. package/dist/esm/components/index.js.map +1 -0
  25. package/dist/esm/helpers/GenericHelpers.d.ts +48 -0
  26. package/dist/esm/helpers/GenericHelpers.js +73 -0
  27. package/dist/esm/helpers/GenericHelpers.js.map +1 -0
  28. package/dist/esm/helpers/NormalizeHelpers.d.ts +19 -0
  29. package/dist/esm/helpers/NormalizeHelpers.js +327 -0
  30. package/dist/esm/helpers/NormalizeHelpers.js.map +1 -0
  31. package/dist/esm/images/Assigned.svg +11 -0
  32. package/dist/esm/images/Oval.svg +13 -0
  33. package/dist/esm/images/backGray.svg +10 -0
  34. package/dist/esm/images/check.svg +12 -0
  35. package/dist/esm/images/checkOval.svg +14 -0
  36. package/dist/esm/images/checked.svg +13 -0
  37. package/dist/esm/images/checkedPlane.svg +12 -0
  38. package/dist/esm/images/comment.svg +12 -0
  39. package/dist/esm/images/copy.svg +1 -0
  40. package/dist/esm/images/delete.svg +13 -0
  41. package/dist/esm/images/flagPlane.svg +11 -0
  42. package/dist/esm/images/help.svg +15 -0
  43. package/dist/esm/images/history.svg +11 -0
  44. package/dist/esm/images/infoIcon.svg +17 -0
  45. package/dist/esm/images/message.svg +12 -0
  46. package/dist/esm/images/red-flag.svg +11 -0
  47. package/dist/esm/images/writing.svg +11 -0
  48. package/dist/esm/images/writingredFlag.svg +13 -0
  49. package/dist/esm/images/x.svg +9 -0
  50. package/dist/esm/index.d.ts +3 -0
  51. package/dist/esm/index.js +4 -0
  52. package/dist/esm/index.js.map +1 -0
  53. package/dist/esm/models/ComplianeQuestionarie.d.ts +88 -0
  54. package/dist/esm/models/ComplianeQuestionarie.js +2 -0
  55. package/dist/esm/models/ComplianeQuestionarie.js.map +1 -0
  56. package/dist/esm/models/QuestionarieModel.d.ts +89 -0
  57. package/dist/esm/models/QuestionarieModel.js +2 -0
  58. package/dist/esm/models/QuestionarieModel.js.map +1 -0
  59. package/dist/esm/scss/styles.css +866 -0
  60. package/dist/esm/scss/styles.css.map +1 -0
  61. package/package.json +64 -0
@@ -0,0 +1,1119 @@
1
+ import { __assign, __spreadArray } from "tslib";
2
+ /* eslint-disable @typescript-eslint/no-use-before-define */
3
+ /* eslint-disable react/jsx-key */
4
+ /* eslint-disable max-len */
5
+ import React, { useEffect, useState } from "react";
6
+ import { Field, reduxForm, getFormValues } from "redux-form";
7
+ // import TextField from "../../commonFields/TextField";
8
+ import { connect } from "react-redux";
9
+ // import CheckboxGroup from "../../commonFields/CheckPanelGroup";
10
+ import { Row, Col } from "reactstrap";
11
+ // import "./styles.css";
12
+ // import SelectButtonField from "../../commonFields/SelectButtonField";
13
+ import { Button } from "reactstrap";
14
+ // import MultipleSelectField from "../../commonFields/MultipleSelectField";
15
+ // import { Question, QuestionOption, saveQuestionReview } from "../../Models/Shared/QuestionaryModule/Question";
16
+ // import FileDropZoneField from "../../commonFields/FileUpload";
17
+ // import CheckPanelBox from "../../commonFields/CheckPanelBox";
18
+ // import DatePicker from "../../commonFields/DatePicker";
19
+ // import normalizePhone from "../../Utils/normalise";
20
+ // import EmailField from "../../commonFields/EmailField";
21
+ import { Label } from "reactstrap";
22
+ // import { QuestionTypes } from "../../Helpers/QuestionTypes";
23
+ // import YesOrNo from "../../commonFields/YesOrNoSelectBox";
24
+ // import CheckSpan from "../../commonFields/CheckSpan";
25
+ import _ from "lodash";
26
+ import flagPlane from "../../images/flagPlane.svg";
27
+ import redFlag from "../../images/red-flag.svg";
28
+ import writingredFlag from "../../images/writingredFlag.svg";
29
+ import check from "../../images/check.svg";
30
+ import checkedPlane from "../../images/checkedPlane.svg";
31
+ import checked from "../../images/checked.svg";
32
+ import writing from "../../images/writing.svg";
33
+ import history from "../../images/history.svg";
34
+ import help from "../../images/help.svg";
35
+ import cross from "../../images/x.svg";
36
+ import comment from "../../images/comment.svg";
37
+ import oval from "../../images/Oval.svg";
38
+ import CheckOval from "../../images/checkOval.svg";
39
+ // import SelectField from "../../commonFields/SelectField";
40
+ // import CustomerService from "../../Services/CustomerService";
41
+ // import { AxiosResponse } from "axios";
42
+ import { Modal } from "reactstrap";
43
+ // import { HistoryInfo } from "../../Models/Compliance/History";
44
+ import { ModalHeader, Collapse } from "reactstrap";
45
+ // import { OverallPercentage } from "../../Models/Lead/GetResponseCategoreis";
46
+ // import { useParams } from "react-router-dom";
47
+ import backGray from "../../images/backGray.svg";
48
+ import moment from "moment";
49
+ // import { BankUserContext } from "../../bankUserContext";
50
+ import { ModalBody } from "reactstrap";
51
+ // import MessageChatWindowFC from "../PortalPage/MessageChatWindowFC";
52
+ // import { MessageThread } from "../../Models/MessageCenter/MessageThread";
53
+ // import { LeadDetailsModel } from "../../Models/Lead/LeadDetails";
54
+ import { Nav, Tab } from "react-bootstrap";
55
+ // import { MessageThreadImpl } from "./MessageThread";
56
+ import Accordion from 'react-bootstrap/Accordion';
57
+ import { Card } from "react-bootstrap";
58
+ // import FutureDatePicker from "../../commonFields/FutureDatePicker";
59
+ // import PastDatePicker from "../../commonFields/PastDatePicker";
60
+ // import SSNField from "../../commonFields/SSNField";
61
+ // import NormaliseSSN from "../../Utils/NormaliseSSN";
62
+ import { toast } from "react-toastify";
63
+ import { FormGroup } from "reactstrap";
64
+ import copy from "copy-to-clipboard";
65
+ // import NormalizeNumber from "../../Utils/NormalizeNumber";
66
+ // import normaliseZipcode from "../../Utils/normaliseZipCode";
67
+ import copyImage from "../../images/copy.svg";
68
+ import FlaggReasonForm from "./FlaggReasonForm";
69
+ import NewTaskForm from "./NewTaskForm";
70
+ // import { transformDateWithoutTime } from "../../Utils/dateUtil";
71
+ // import MessageCenterModal from "../PortalPage/MessageCenterModal";
72
+ import deleteImg from "../../images/delete.svg";
73
+ import { QuestionTypes, transformDateWithoutTime } from "../../helpers/GenericHelpers";
74
+ import { CheckPanelBox, CheckboxGroup, EmailField, FutureDatePicker, MultipleSelectField, PastDatePicker, PhoneNumberField, SSNField, SelectButtonFieldOptions, SelectField, TextField, FileDropZoneField, YesOrNo, Datepicker, checkspan2, MultiCheckboxGroup, SingleCheckBox, DisableTextField } from "common-fields";
75
+ import { NormaliseSSN, NormalizeNumber, normaliseZipcode, normalizePhone, normalizeTextarea, NormalizeTax, normalizeFax, normalizeAlphanumeric, NormalizeText, NormaliseFedTaxSSN, NormalizeDecimalNumber, NormalizeTime, NormalizeEIN, NormalizeRoutingNumber, normalizeNumericId, normalizeMonth } from "../../helpers/NormalizeHelpers";
76
+ var QuestionnaireForm = function (props) {
77
+ var _a, _b, _c, _d;
78
+ // const service = new CustomerService();
79
+ var currentQuestions = props.currentQuestions;
80
+ // const { clientId } = useParams();
81
+ // state for modal popup
82
+ var _e = useState(false), historyModel = _e[0], setHistoryModal = _e[1];
83
+ var _f = useState(false), guidanceModel = _f[0], setGuidanceModel = _f[1];
84
+ // const [complianceStatusData, setComplianceStatusData] = useState<OverallPercentage>()
85
+ // const bankUserContext = useContext(BankUserContext);
86
+ // const [messageModal, setMessageModal] = useState(false);
87
+ // const [refreshCounter, setRefreshCounter] = React.useState(0);
88
+ // const [clientDeatils, setClientDetails] = useState<LeadDetailsModel>();
89
+ // const [selectedQuestion, setSelectedQuestion] = useState<Question>();
90
+ // const [clientUserId, setClientUserId] = useState<string>("0");
91
+ // const [selectedMessageThread, setSelectedMessageThread] = React.useState<MessageThread>(new MessageThreadImpl());
92
+ var guidance = useState()[0];
93
+ var _g = useState([]), notesForm = _g[0], setNotes = _g[1];
94
+ var questionHistory = useState()[0];
95
+ var _h = useState(0), guidanceToggle = _h[0], setGuidanceToggle = _h[1];
96
+ var _j = useState(false), flagModal = _j[0], setFlagModal = _j[1];
97
+ var _k = useState(), flaggedQuestion = _k[0], setFlaggedQuestion = _k[1];
98
+ var _l = useState(false), markTaskModal = _l[0], setMarkTaskModal = _l[1];
99
+ var _m = useState(), naTaskQuestion = _m[0], setNATaskQuestion = _m[1];
100
+ var _o = useState(null), previousFormValues = _o[0], setPreviousFormValues = _o[1];
101
+ var _p = useState(false), isEditFlagNotes = _p[0], setIsEditFlagNotes = _p[1];
102
+ useEffect(function () {
103
+ // service
104
+ // .getComplianceOverallPercentage(clientId)
105
+ // .then((response: AxiosResponse<OverallPercentage>) => {
106
+ // });
107
+ // console.log(props.status);
108
+ // setComplianceStatusData(props.status);
109
+ // service.getUserIdByClientId(clientId).then(resp=>{
110
+ // setClientUserId(resp?.data?.userId);
111
+ // })
112
+ // service.getClientLeadInfoDetails(clientId).then((response: AxiosResponse<LeadDetailsModel>) =>
113
+ // {setClientDetails(response.data)}).catch((error: any) => {
114
+ // console.log(error);
115
+ // toast.error("Something went Wrong")
116
+ // })
117
+ }, []);
118
+ useEffect(function () {
119
+ var _a, _b, _c, _d;
120
+ var _e;
121
+ if (props.disableFields) {
122
+ return;
123
+ }
124
+ else {
125
+ if (!props.formValues) {
126
+ return;
127
+ }
128
+ if (Object.keys(props.formValues).length === 0) {
129
+ return;
130
+ }
131
+ var CombinedValues = __assign(__assign({}, props.formInitialvalues), props.reviewValues);
132
+ if (!previousFormValues && _(props.formInitialvalues).differenceWith(CombinedValues, _.isEqual).isEmpty()) {
133
+ setPreviousFormValues(_.cloneDeep(props.formValues));
134
+ return;
135
+ }
136
+ //identify the questionid currently editing
137
+ var clientQuestionId_1 = 0;
138
+ if (previousFormValues) {
139
+ Object.keys(props.formValues).forEach(function (key) {
140
+ var _a;
141
+ if (((_a = Object.keys(previousFormValues)) === null || _a === void 0 ? void 0 : _a.indexOf(key)) == -1) {
142
+ clientQuestionId_1 = key.replace("question_", "");
143
+ }
144
+ if (_.isEqual(previousFormValues[key], props.formValues[key]) == false) {
145
+ clientQuestionId_1 = key.replace("question_", "");
146
+ }
147
+ });
148
+ }
149
+ else {
150
+ clientQuestionId_1 =
151
+ (_e = Object.keys(props.formValues)[0]) === null || _e === void 0 ? void 0 : _e.replace("question_", "");
152
+ }
153
+ var currentQuestion = currentQuestions.find(function (m) { return m.clientQuestionId == clientQuestionId_1; });
154
+ if (currentQuestion) {
155
+ // const questionId = currentQuestion.questionId;
156
+ if (currentQuestion.questionType !== QuestionTypes.Text &&
157
+ currentQuestion.questionType !== QuestionTypes.TextArea &&
158
+ currentQuestion.questionType !== QuestionTypes.Email &&
159
+ currentQuestion.questionType !== QuestionTypes.PhoneNumber &&
160
+ currentQuestion.questionType !== QuestionTypes.SSN &&
161
+ currentQuestion.questionType !== QuestionTypes.EIN &&
162
+ currentQuestion.questionType !== QuestionTypes.Number &&
163
+ currentQuestion.questionType !== QuestionTypes.Currency &&
164
+ currentQuestion.questionType !== QuestionTypes.ZipCode &&
165
+ currentQuestion.questionType !== QuestionTypes.TaxId &&
166
+ currentQuestion.questionType !== QuestionTypes.AlphaNumeric &&
167
+ currentQuestion.questionType !== QuestionTypes.FaxId &&
168
+ currentQuestion.questionType !== QuestionTypes.disableTextField &&
169
+ currentQuestion.questionType !== QuestionTypes.LabelText &&
170
+ currentQuestion.questionType !== QuestionTypes.NumericId &&
171
+ currentQuestion.questionType !== QuestionTypes.NumberOfMonths) {
172
+ var oldAnswer = previousFormValues
173
+ ? previousFormValues["question_" + clientQuestionId_1]
174
+ : null;
175
+ if (Array.isArray(oldAnswer)) {
176
+ // eslint-disable-next-line no-prototype-builtins
177
+ if (!File.prototype.isPrototypeOf(oldAnswer[0])) {
178
+ props.saveQuestion((_a = {}, _a[clientQuestionId_1] = props.formValues["question_" + clientQuestionId_1], _a), (_b = {}, _b[clientQuestionId_1] = oldAnswer, _b));
179
+ }
180
+ }
181
+ else {
182
+ props.saveQuestion((_c = {}, _c[clientQuestionId_1] = props.formValues["question_" + clientQuestionId_1], _c), (_d = {}, _d[clientQuestionId_1] = oldAnswer, _d));
183
+ }
184
+ }
185
+ }
186
+ setPreviousFormValues(_.cloneDeep(props.formValues));
187
+ }
188
+ }, [props.formValues]);
189
+ var historyModalViewHandler = function () {
190
+ setHistoryModal(!historyModel);
191
+ };
192
+ var guidanceModelHandler = function () {
193
+ setGuidanceModel(true);
194
+ };
195
+ var closeHistoryModalViewHandler = function () {
196
+ setHistoryModal(false);
197
+ };
198
+ var flagModalViewHandler = function () {
199
+ setFlagModal(!flagModal);
200
+ };
201
+ var naTaskViewHandler = function () {
202
+ setMarkTaskModal(!markTaskModal);
203
+ setNATaskQuestion(null);
204
+ };
205
+ var closeGuidanceModelHandler = function () {
206
+ setGuidanceModel(false);
207
+ setGuidanceToggle(0);
208
+ };
209
+ var Flagtoggle = function (question, isEdit) {
210
+ if (statusChange(question)) {
211
+ setFlagModal(function (prev) { return !prev; });
212
+ setFlaggedQuestion(question);
213
+ setIsEditFlagNotes(isEdit);
214
+ }
215
+ };
216
+ var markTaskToggle = function (question) {
217
+ if (statusChange(question)) {
218
+ setMarkTaskModal(function (prev) { return !prev; });
219
+ setNATaskQuestion(question);
220
+ }
221
+ };
222
+ { /* Removed Send Message functionality as per new requirements */ }
223
+ var copyQuestion = function (question, questionsData) {
224
+ var _a, _b, _c, _d, _e, _f, _g;
225
+ var copyText = [];
226
+ var answersList = [];
227
+ if (questionsData === undefined) {
228
+ if (question.questionType === QuestionTypes.Text
229
+ || question.questionType === QuestionTypes.TextArea
230
+ || question.questionType === QuestionTypes.SSN
231
+ || question.questionType === QuestionTypes.EIN
232
+ || question.questionType === QuestionTypes.PhoneNumber
233
+ || question.questionType === QuestionTypes.Email
234
+ || question.questionType === QuestionTypes.Number
235
+ || question.questionType === QuestionTypes.Currency
236
+ || question.questionType === QuestionTypes.ZipCode
237
+ || question.questionType === QuestionTypes.FaxId
238
+ || question.questionType === QuestionTypes.disableTextField
239
+ || question.questionType === QuestionTypes.TaxId
240
+ || question.questionType === QuestionTypes.AlphaNumeric
241
+ || question.questionType === QuestionTypes.NumericId
242
+ || question.questionType === QuestionTypes.NumberOfMonths) {
243
+ ((_a = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _a === void 0 ? void 0 : _a.answer) !== undefined && copyText.push("".concat(question.questionText, ":").concat((_b = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _b === void 0 ? void 0 : _b.answer, " \n"));
244
+ }
245
+ if (question.questionType === QuestionTypes.DatePicker
246
+ || question.questionType === QuestionTypes.DatePicker
247
+ || question.questionType === QuestionTypes.DOB
248
+ || question.questionType === QuestionTypes.PastDatePicker
249
+ || question.questionType === QuestionTypes.FutureDatePicker) {
250
+ var answerTime = transformDateWithoutTime((_c = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _c === void 0 ? void 0 : _c.answer);
251
+ ((_d = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _d === void 0 ? void 0 : _d.answer) !== undefined && copyText.push("".concat(question.questionText, ":").concat(answerTime, " \n"));
252
+ }
253
+ if (question.questionType === QuestionTypes.YesOrNo
254
+ || question.questionType === QuestionTypes.SingleSelectionDropDown
255
+ || question.questionType === QuestionTypes.SingleSelectionCheckBox
256
+ || question.questionType === QuestionTypes.SingleSelectionBoxSelection
257
+ || question.questionType === QuestionTypes.AddressSelectionCheckBox) {
258
+ var answeredOption = question.options.find(function (el) { var _a; return el.value == ((_a = question.answers[0]) === null || _a === void 0 ? void 0 : _a.answer); });
259
+ (answeredOption === null || answeredOption === void 0 ? void 0 : answeredOption.text) !== undefined && copyText.push("".concat(question.questionText, ":").concat(answeredOption === null || answeredOption === void 0 ? void 0 : answeredOption.text, " \n"));
260
+ }
261
+ if (question.questionType === QuestionTypes.MultiSelectionBoxSelection
262
+ || question.questionType === QuestionTypes.MultiSelectionDropdown
263
+ || question.questionType === QuestionTypes.MultiSelectionCheckBox) {
264
+ question.options.map(function (el) {
265
+ question === null || question === void 0 ? void 0 : question.answers.forEach(function (els) {
266
+ if (el.value == els.answer) {
267
+ answersList.push(el.text);
268
+ }
269
+ });
270
+ });
271
+ answersList.toString() !== undefined && copyText.push("".concat(question.questionText, ":").concat(answersList === null || answersList === void 0 ? void 0 : answersList.toString(), " \n"));
272
+ }
273
+ if (question.questionType === QuestionTypes.FileUpload
274
+ || question.questionType === QuestionTypes.PDFFileUpload) {
275
+ var variable = typeof ((_e = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _e === void 0 ? void 0 : _e.answer) === 'object' ? JSON.stringify((_f = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _f === void 0 ? void 0 : _f.answer)
276
+ : (_g = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _g === void 0 ? void 0 : _g.answer;
277
+ var parsed = JSON.parse(variable);
278
+ // let ans="";
279
+ if (parsed) {
280
+ // ans=parsed.fileName
281
+ }
282
+ else {
283
+ copyText.push("".concat(question.questionText, ":").concat(" ", " \n"));
284
+ }
285
+ }
286
+ }
287
+ else {
288
+ copyText.push("".concat(question.complianceGroupName, " \n"));
289
+ questionsData === null || questionsData === void 0 ? void 0 : questionsData.forEach(function (element) {
290
+ var _a, _b, _c, _d, _e, _f, _g, _h;
291
+ if (element.questionType === QuestionTypes.Text
292
+ || element.questionType === QuestionTypes.TextArea
293
+ || element.questionType === QuestionTypes.SSN
294
+ || element.questionType === QuestionTypes.EIN
295
+ || element.questionType === QuestionTypes.PhoneNumber
296
+ || element.questionType === QuestionTypes.Email
297
+ || element.questionType === QuestionTypes.Number
298
+ || element.questionType === QuestionTypes.Currency
299
+ || element.questionType === QuestionTypes.ZipCode
300
+ || element.questionType === QuestionTypes.TaxId
301
+ || element.questionType === QuestionTypes.AlphaNumeric
302
+ || element.questionType === QuestionTypes.FaxId
303
+ || element.questionType === QuestionTypes.disableTextField
304
+ || element.questionType === QuestionTypes.NumericId
305
+ || element.questionType === QuestionTypes.NumberOfMonths) {
306
+ ((_a = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _a === void 0 ? void 0 : _a.answer) !== undefined && copyText.push("".concat(element.questionText, ":").concat((_b = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _b === void 0 ? void 0 : _b.answer, " \n"));
307
+ }
308
+ if (element.questionType === QuestionTypes.DatePicker
309
+ || element.questionType === QuestionTypes.DatePicker
310
+ || element.questionType === QuestionTypes.DOB
311
+ || element.questionType === QuestionTypes.PastDatePicker
312
+ || element.questionType === QuestionTypes.FutureDatePicker) {
313
+ var answerTime = transformDateWithoutTime((_c = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _c === void 0 ? void 0 : _c.answer);
314
+ ((_d = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _d === void 0 ? void 0 : _d.answer) !== undefined && copyText.push("".concat(element.questionText, ":").concat(answerTime, " \n"));
315
+ }
316
+ if (element.questionType === QuestionTypes.YesOrNo
317
+ || element.questionType === QuestionTypes.SingleSelectionDropDown
318
+ || element.questionType === QuestionTypes.SingleSelectionCheckBox
319
+ || element.questionType === QuestionTypes.SingleSelectionBoxSelection) {
320
+ var answeredOption = element.options.find(function (el) { var _a; return el.value == ((_a = element.answers[0]) === null || _a === void 0 ? void 0 : _a.answer); });
321
+ (answeredOption === null || answeredOption === void 0 ? void 0 : answeredOption.text) !== undefined && copyText.push("".concat(element.questionText, ":").concat(answeredOption === null || answeredOption === void 0 ? void 0 : answeredOption.text, " \n"));
322
+ }
323
+ if (element.questionType === QuestionTypes.MultiSelectionBoxSelection
324
+ || element.questionType === QuestionTypes.MultiSelectionDropdown
325
+ || element.questionType === QuestionTypes.MultiSelectionCheckBox) {
326
+ element.options.map(function (el) {
327
+ element === null || element === void 0 ? void 0 : element.answers.forEach(function (els) {
328
+ if (el.value == els.answer) {
329
+ answersList.push(el.text);
330
+ }
331
+ });
332
+ });
333
+ answersList.toString() !== undefined && copyText.push("".concat(question.questionText, ":").concat(answersList.toString(), " \n"));
334
+ }
335
+ if (element.questionType === QuestionTypes.FileUpload && ((_e = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _e === void 0 ? void 0 : _e.answer)) {
336
+ var parsed = JSON.parse((_f = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _f === void 0 ? void 0 : _f.answer);
337
+ var ans = "";
338
+ if (parsed) {
339
+ ans = parsed.fileName;
340
+ }
341
+ ans !== undefined && copyText.push("".concat(element.questionText, ":").concat(ans, " \n"));
342
+ }
343
+ if (element.questionType === QuestionTypes.PDFFileUpload && ((_g = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _g === void 0 ? void 0 : _g.answer)) {
344
+ var parsed = JSON.parse((_h = element === null || element === void 0 ? void 0 : element.answers[0]) === null || _h === void 0 ? void 0 : _h.answer);
345
+ var ans = "";
346
+ if (parsed) {
347
+ ans = parsed.fileName;
348
+ }
349
+ ans !== undefined && copyText.push("".concat(element.questionText, ":").concat(ans, " \n"));
350
+ }
351
+ });
352
+ }
353
+ copy(copyText.join(''));
354
+ toast.success("Text copied to clipboard");
355
+ };
356
+ var copyQuestionPanel = function (question, questionsData) {
357
+ return (React.createElement("span", { onClick: function () { return copyQuestion(question, questionsData); } }, "Copy Text"));
358
+ };
359
+ var selectOptions = function (question, questionsData) {
360
+ return (React.createElement("div", { className: "selectOptions" },
361
+ React.createElement("div", { className: "optionDisplay" },
362
+ question.reviewAccepted ? (React.createElement("div", { className: "".concat(statusChange(question) ? "containerPointer" : "containerCursor"), onClick: function () { return onAccept(question); } },
363
+ React.createElement("img", { src: checked }),
364
+ " ",
365
+ React.createElement("span", null, "Accepted"))) : (React.createElement("div", { className: "".concat(statusChange(question) ? "containerPointer" : "containerCursor"), onClick: function () { return onAccept(question); } },
366
+ React.createElement("img", { src: checkedPlane }),
367
+ " ",
368
+ React.createElement("span", null, "Accept"))),
369
+ question.reviewFlagged ? (React.createElement("div", { className: "".concat(statusChange(question) ? "containerPointer" : "containerCursor"), onClick: function () { return onFlagged(question); } },
370
+ React.createElement("img", { src: redFlag }),
371
+ " ",
372
+ React.createElement("span", null, " Flagged "))) : React.createElement("div", { className: "".concat(statusChange(question) ? "containerPointer" : "containerCursor"), onClick: function () { return Flagtoggle(question, false); } },
373
+ React.createElement("img", { src: flagPlane }),
374
+ " ",
375
+ React.createElement("span", null, " Flag ")),
376
+ React.createElement("div", { className: "".concat(statusChange(question) ? "containerPointer" : "containerCursor"), onClick: function () { return setNotesFrame(question); } },
377
+ React.createElement("img", { src: writing }),
378
+ " ",
379
+ React.createElement("span", null, " Add Notes")),
380
+ React.createElement("div", { className: "containerPointer" },
381
+ React.createElement("img", { src: copyImage }),
382
+ copyQuestionPanel(question, questionsData))),
383
+ React.createElement("div", { className: "bottom containerPointer", onClick: function () { return getGuidance(question); } },
384
+ React.createElement("img", { src: help }),
385
+ " ",
386
+ React.createElement("span", null, " Guidance "))));
387
+ };
388
+ var statusChange = function (question) {
389
+ if (props.disableActions) {
390
+ return false;
391
+ }
392
+ else if (question.naFlag) {
393
+ return false;
394
+ }
395
+ else {
396
+ return true;
397
+ }
398
+ };
399
+ // const isAllowed=(question:Question)=>{
400
+ // if(props.status == "REVIEW_COMPLETED" || props.status == "MANAGEMENT_REVIEW" )
401
+ // {
402
+ // return false;
403
+ // }
404
+ // return true;
405
+ // }
406
+ var onAcceptAllowed = function (question) {
407
+ if (question.complianceCategoryStatus) {
408
+ if ((question.answers && question.answers[0] || question.naFlag ||
409
+ question.reviewFlagged || question.reviewNotes !== null)) {
410
+ return true;
411
+ }
412
+ else
413
+ return false;
414
+ }
415
+ else
416
+ return true;
417
+ };
418
+ var onAccept = function (question) {
419
+ if (!props.disableActions) {
420
+ if (onAcceptAllowed(question)) {
421
+ var body_1 = {
422
+ accepted: !question.reviewAccepted,
423
+ flagged: question.reviewFlagged,
424
+ items: [],
425
+ notes: question.reviewNotes,
426
+ infoId: 1,
427
+ flaggedReason: props === null || props === void 0 ? void 0 : props.formValues.flaggedReason,
428
+ naReason: question.naReason,
429
+ naFlag: question.naFlag
430
+ };
431
+ if (question.complianceGroupId) {
432
+ currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId &&
433
+ m.serialNumber == question.serialNumber; }).map(function (m) { return (body_1.items = __spreadArray(__spreadArray([], body_1.items, true), [{
434
+ clientQuestionId: m.clientQuestionId,
435
+ reviewClientQuestionId: m.reviewClientQuestionId
436
+ }], false)); });
437
+ }
438
+ else {
439
+ body_1.items = [{
440
+ clientQuestionId: question.clientQuestionId,
441
+ reviewClientQuestionId: question.reviewClientQuestionId
442
+ }];
443
+ }
444
+ props.postsavequestion(body_1);
445
+ }
446
+ else {
447
+ toast.error("An action must be taken");
448
+ }
449
+ }
450
+ };
451
+ var naFlagged = function (question, value) {
452
+ props.preparenextquestion(question, value);
453
+ };
454
+ var confirmRemoveNaFlag = function (question) {
455
+ var body = {
456
+ accepted: question.reviewAccepted,
457
+ flagged: question.reviewFlagged,
458
+ items: [],
459
+ notes: question.reviewNotes,
460
+ infoId: 4,
461
+ flaggedReason: question.flaggedReason,
462
+ naReason: question.naReason,
463
+ naFlag: false
464
+ };
465
+ if (question.complianceGroupId) {
466
+ currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId &&
467
+ m.serialNumber == question.serialNumber; }).map(function (m) { return (body.items = __spreadArray(__spreadArray([], body.items, true), [{
468
+ clientQuestionId: m.clientQuestionId,
469
+ reviewClientQuestionId: m.reviewClientQuestionId
470
+ }], false)); });
471
+ }
472
+ else {
473
+ body.items = [{
474
+ clientQuestionId: question.clientQuestionId,
475
+ reviewClientQuestionId: question.reviewClientQuestionId
476
+ }];
477
+ }
478
+ props.postsavequestion(body);
479
+ };
480
+ var onFlagged = function (question) {
481
+ if (statusChange(question)) {
482
+ var body_2 = {
483
+ accepted: question.reviewAccepted,
484
+ flagged: !question.reviewFlagged,
485
+ items: [],
486
+ notes: question.reviewNotes,
487
+ infoId: 2,
488
+ flaggedReason: props === null || props === void 0 ? void 0 : props.formValues.flaggedReason,
489
+ naReason: question.naReason,
490
+ naFlag: question.naFlag
491
+ };
492
+ if (question.complianceGroupId) {
493
+ currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId &&
494
+ m.serialNumber == question.serialNumber; }).map(function (m) { return (body_2.items = __spreadArray(__spreadArray([], body_2.items, true), [{
495
+ clientQuestionId: m.clientQuestionId,
496
+ reviewClientQuestionId: m.reviewClientQuestionId
497
+ }], false)); });
498
+ }
499
+ else {
500
+ body_2.items = [{
501
+ clientQuestionId: question.clientQuestionId,
502
+ reviewClientQuestionId: question.reviewClientQuestionId
503
+ }];
504
+ }
505
+ props.postsavequestion(body_2);
506
+ }
507
+ };
508
+ var onAddNotes = function (question) {
509
+ var _a;
510
+ if (statusChange(question)) {
511
+ var notes = props.formValues["questionReview_" + question.clientQuestionId.toString()];
512
+ var body_3 = {
513
+ accepted: question.reviewAccepted,
514
+ flagged: question.reviewFlagged,
515
+ notes: notes,
516
+ infoId: 3,
517
+ items: [],
518
+ flaggedReason: props === null || props === void 0 ? void 0 : props.formValues.flaggedReason,
519
+ naReason: (_a = props === null || props === void 0 ? void 0 : props.formValues) === null || _a === void 0 ? void 0 : _a.naReason,
520
+ naFlag: question.naFlag,
521
+ };
522
+ if (question.complianceGroupId) {
523
+ currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId &&
524
+ m.serialNumber == question.serialNumber; }).map(function (m) { return (body_3.items = __spreadArray(__spreadArray([], body_3.items, true), [{
525
+ clientQuestionId: m.clientQuestionId,
526
+ reviewClientQuestionId: m.reviewClientQuestionId
527
+ }], false)); });
528
+ }
529
+ else {
530
+ body_3.items = [{
531
+ clientQuestionId: question.clientQuestionId,
532
+ reviewClientQuestionId: question.reviewClientQuestionId
533
+ }];
534
+ }
535
+ props.postsavequestion(body_3);
536
+ closeFrame(question);
537
+ }
538
+ };
539
+ var setNotesFrame = function (question) {
540
+ if (statusChange(question)) {
541
+ var notes = __spreadArray([], notesForm, true);
542
+ if (!notesForm.includes(question.clientQuestionId)) {
543
+ notes.push(question.clientQuestionId);
544
+ setNotes(notes);
545
+ }
546
+ }
547
+ };
548
+ var closeFrame = function (question) {
549
+ var notes = __spreadArray([], notesForm, true);
550
+ if (notesForm.includes(question.clientQuestionId)) {
551
+ var id = notes === null || notes === void 0 ? void 0 : notes.indexOf(question.clientQuestionId);
552
+ notes.splice(id, 1);
553
+ }
554
+ else {
555
+ //notes.push(question.clientQuestionId)
556
+ }
557
+ props.change("questionReview_".concat(question.clientQuestionId), question.reviewNotes);
558
+ setNotes(notes);
559
+ };
560
+ var notesFrame = function (question) {
561
+ return (React.createElement(Row, null,
562
+ React.createElement(Col, { md: "10" },
563
+ React.createElement(Row, null,
564
+ React.createElement(Col, { md: "12" },
565
+ React.createElement("span", null, "Notes:")),
566
+ React.createElement(Col, { className: "editNotesArea" },
567
+ React.createElement(Field, { component: TextField, name: "questionReview_" + question.clientQuestionId.toString(), type: "textarea", normalize: normalizeTextarea })))),
568
+ React.createElement(Col, { md: "2 close" },
569
+ React.createElement(Row, null,
570
+ React.createElement(Col, { md: "12 cross" },
571
+ React.createElement("img", { src: cross, onClick: function () { return closeFrame(question); } })),
572
+ React.createElement(Col, { className: "saveButton" },
573
+ React.createElement(Button, { type: "button", onClick: function () { return onAddNotes(question); } }, "Save"))))));
574
+ };
575
+ var layoutSet = function (layoutCoulmns) {
576
+ if (layoutCoulmns) {
577
+ return layoutCoulmns;
578
+ }
579
+ return 12;
580
+ };
581
+ var getHistory = function (reviewClientQuestionId, clientQuestionId) {
582
+ // clientQuestionId && getQuestionThread(clientQuestionId, 'history');
583
+ props.onClickHistory(reviewClientQuestionId, clientQuestionId);
584
+ if (reviewClientQuestionId !== null) {
585
+ // service
586
+ // .getIteamHistory(reviewClientQuestionId)
587
+ // .then((response: AxiosResponse<Array<HistoryInfo>>) => {
588
+ // setQuestionHistory(response.data);
589
+ // historyModalViewHandler();
590
+ // });
591
+ }
592
+ else {
593
+ // historyModalViewHandler();
594
+ // toast.error("No history found")
595
+ }
596
+ };
597
+ var getGuidance = function (question) {
598
+ var idList = [];
599
+ if (question.complianceGroupId) {
600
+ currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId &&
601
+ m.serialNumber == question.serialNumber; }).map(function (m) { return (idList = __spreadArray(__spreadArray([], idList, true), [m.questionId], false)); });
602
+ }
603
+ else {
604
+ idList = [question.questionId];
605
+ }
606
+ props.onClickGuidance(idList);
607
+ // service.getQuestionGuidance({ questionId: idList }).then((response: any) => {
608
+ // setGuidance(response.data)
609
+ // setGuidanceModel(true)
610
+ // })
611
+ };
612
+ var findGroupSearialNumbers = function (complianceGroupId) {
613
+ var serialNumbers = [];
614
+ currentQuestions.filter(function (m) { return m.complianceGroupId == complianceGroupId; })
615
+ .forEach(function (m) {
616
+ if ((serialNumbers === null || serialNumbers === void 0 ? void 0 : serialNumbers.indexOf(m.serialNumber)) == -1) {
617
+ serialNumbers.push(m.serialNumber);
618
+ }
619
+ });
620
+ return serialNumbers.sort();
621
+ };
622
+ var addCustomQuestion = function (body) {
623
+ props.addCustomQuestion(body);
624
+ };
625
+ var removeCustomQuestion = function () {
626
+ props.removeCustomQuestion();
627
+ };
628
+ var fillHeadertemplate = function (question, serialNumber) {
629
+ if (question.questionGroupHeaderTemplate) {
630
+ if (question && question.questionGroupHeaderTemplate) {
631
+ var regex = new RegExp("(?:{)([^}]*)(?:})", "g");
632
+ // eslint-disable-next-line no-var
633
+ var match, questionIds = [];
634
+ while ((match = regex.exec(question.questionGroupHeaderTemplate)))
635
+ questionIds.push(parseInt(match[1]));
636
+ var questions = currentQuestions.filter(function (m) { return (questionIds === null || questionIds === void 0 ? void 0 : questionIds.indexOf(m.questionId)) > -1
637
+ && m.serialNumber == serialNumber; });
638
+ var template_1 = question === null || question === void 0 ? void 0 : question.questionGroupHeaderTemplate;
639
+ questions.forEach(function (m) {
640
+ var _a, _b;
641
+ if (m.answers && ((_a = m.answers) === null || _a === void 0 ? void 0 : _a.length) > 0) {
642
+ template_1 = template_1.replace("{".concat(m.questionId, "}"), ((_b = moment(m.answers[0].answer)) === null || _b === void 0 ? void 0 : _b.isValid()) &&
643
+ (m.questionType === QuestionTypes.DatePicker ||
644
+ m.questionType === QuestionTypes.FutureDatePicker ||
645
+ m.questionType === QuestionTypes.PastDatePicker) ?
646
+ moment(m.answers[0].answer).format("MM/DD/yyyy") :
647
+ m.answers[0].answer);
648
+ }
649
+ else {
650
+ template_1 = template_1.replace("{".concat(m.questionId, "}"), "--");
651
+ }
652
+ });
653
+ template_1 = template_1.replace('[', '<b>').replace(']', '</b>');
654
+ return React.createElement("div", { dangerouslySetInnerHTML: { __html: template_1 } });
655
+ }
656
+ }
657
+ return "";
658
+ };
659
+ var removeAddedQuestion = function (question, value) {
660
+ if (statusChange(question))
661
+ props.preparenextquestion(question, value, true);
662
+ };
663
+ var cancelRemoveProcess = function (question, value) {
664
+ props.preparenextquestion(question, value, true);
665
+ };
666
+ var renderQuestions = function () {
667
+ var complianceGroupIds = [];
668
+ var dependentQuestionGroupIds = [];
669
+ return currentQuestions
670
+ // .sort((q1:Question, q2:Question)=>{
671
+ // const temp1:number =new Date(q1.createdDate).getTime();
672
+ // const temp2:number =new Date(q2.createdDate).getTime();
673
+ // return temp2-temp1;})
674
+ .map(function (question) {
675
+ var _a;
676
+ if (question.complianceGroupId &&
677
+ (complianceGroupIds === null || complianceGroupIds === void 0 ? void 0 : complianceGroupIds.indexOf(question.complianceGroupId)) > -1) {
678
+ return null;
679
+ }
680
+ if (question.complianceGroupId &&
681
+ (complianceGroupIds === null || complianceGroupIds === void 0 ? void 0 : complianceGroupIds.indexOf(question.complianceGroupId)) == -1) {
682
+ complianceGroupIds === null || complianceGroupIds === void 0 ? void 0 : complianceGroupIds.push(question.complianceGroupId);
683
+ }
684
+ if (question.complianceGroupId == null) {
685
+ if (question.denpendentQuestionGroupId &&
686
+ (dependentQuestionGroupIds === null || dependentQuestionGroupIds === void 0 ? void 0 : dependentQuestionGroupIds.indexOf(question.denpendentQuestionGroupId)) > -1) {
687
+ return null;
688
+ }
689
+ if (question.denpendentQuestionGroupId &&
690
+ (dependentQuestionGroupIds === null || dependentQuestionGroupIds === void 0 ? void 0 : dependentQuestionGroupIds.indexOf(question.denpendentQuestionGroupId)) == -1) {
691
+ dependentQuestionGroupIds === null || dependentQuestionGroupIds === void 0 ? void 0 : dependentQuestionGroupIds.push(question.denpendentQuestionGroupId);
692
+ }
693
+ }
694
+ return (React.createElement(Col, { key: question.questionId, sm: "12", className: "DynoLayout", md: 12 },
695
+ question.isRepetitive == false ?
696
+ React.createElement(React.Fragment, null, !notesForm.includes(question === null || question === void 0 ? void 0 : question.clientQuestionId) ? (React.createElement(React.Fragment, null,
697
+ " ",
698
+ question.reviewNotes && ((_a = question.reviewNotes) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (React.createElement(Row, { className: "notesShowReview" },
699
+ React.createElement("div", { className: "show" },
700
+ React.createElement("span", { className: "head" }, "Notes:"),
701
+ " \u00A0\u00A0\u00A0",
702
+ React.createElement("span", { className: "content" }, question.reviewNotes)))) : (""))) : (React.createElement(Row, { className: "notes" },
703
+ React.createElement(Col, null, notesFrame(question))))) : '',
704
+ question.complianceGroupId ? (React.createElement(React.Fragment, null,
705
+ question.isRepetitive &&
706
+ React.createElement(React.Fragment, null,
707
+ " ",
708
+ renderRepetativeQuestionGroup(question)),
709
+ question.isRepetitive == false &&
710
+ React.createElement(React.Fragment, null,
711
+ " ",
712
+ renderQuestionGroup(question)))) : React.createElement(React.Fragment, null),
713
+ question.complianceGroupId == null && question.denpendentQuestionGroupId && (React.createElement(React.Fragment, null, renderDependentQuestionGroup(question, 0))),
714
+ question.complianceGroupId == null && question.denpendentQuestionGroupId == null && (React.createElement("div", { className: "box" },
715
+ question.naCustomDelete && React.createElement("div", { className: "overlay" },
716
+ React.createElement("p", { className: "removeDesignation" }, "Remove N/A Designation?"),
717
+ React.createElement("button", { type: "button", className: "confirmMessage", onClick: function () { return confirmRemoveNaFlag(question); } }, "Confirm"),
718
+ React.createElement("span", { className: "CancelNaCustom", onClick: function () { return naFlagged(question, false); } }, "Cancel")),
719
+ question.removeCustomQuestion && React.createElement("div", { className: "overlay" },
720
+ React.createElement("p", { className: "removeDesignation" }, "Remove This Task?"),
721
+ React.createElement("button", { type: "button", className: "confirmMessage confirmMessageDelete", onClick: function () { return props.removeQuestion(question); } }, "Confirm"),
722
+ React.createElement("span", { className: "CancelNaCustom", onClick: function () { return cancelRemoveProcess(question, false); } }, "Cancel")),
723
+ React.createElement(Row, { className: "field ".concat(question.naFlag && "fieldNaFlag", " ").concat(question.reviewFlagged ? "fieldFlagRed mb-3" : "mb-3") },
724
+ React.createElement(Col, { md: "10", className: "formComponent" },
725
+ React.createElement(Row, null,
726
+ React.createElement(Col, { md: "3", className: "displayDesitions" },
727
+ question.reviewAccepted && (React.createElement("div", null,
728
+ React.createElement("img", { src: check }))),
729
+ question.reviewFlagged && question.flaggedReason && (React.createElement("div", null,
730
+ React.createElement("img", { src: redFlag }),
731
+ React.createElement("div", { className: "reasonFlagNote", onClick: function () { return Flagtoggle(question, true); } },
732
+ React.createElement("img", { src: writingredFlag, className: "reasonFlagicon" }),
733
+ React.createElement("span", null, (question === null || question === void 0 ? void 0 : question.flaggedReason.length) > 600 ? "".concat(question === null || question === void 0 ? void 0 : question.flaggedReason.slice(0, 600), "...") : question === null || question === void 0 ? void 0 : question.flaggedReason)))),
734
+ question.naFlag && React.createElement("div", { className: "n-aDiv" },
735
+ React.createElement("span", { className: "n-atext" }, "N/A"))),
736
+ React.createElement(Col, { md: "3", className: "offset-md-6" },
737
+ React.createElement("div", { className: "history", onClick: function () { return getHistory(question.reviewClientQuestionId, question.clientQuestionId); } },
738
+ React.createElement("img", { src: history }),
739
+ " History"))),
740
+ React.createElement(React.Fragment, null,
741
+ question.layoutPreset && React.createElement(Col, { md: question.layoutPreset }),
742
+ React.createElement(Col, { key: question.questionId, sm: "12", className: question.dependent ? "DynoLayout dependent-question" : "DynoLayout", md: layoutSet(question === null || question === void 0 ? void 0 : question.layoutCoulmns) }, renderQuestionField(question)),
743
+ question.layoutOffset && React.createElement(Col, { md: question.layoutOffset }),
744
+ question.complianceCategoryStatus ? (question.clientCustomQuestion === false) ? (question.naFlag ?
745
+ React.createElement(Col, { sm: "12", className: "d-flex flex-row justify-content-end" },
746
+ React.createElement("div", { className: "naTaskReason" },
747
+ React.createElement("span", { className: "n-Anotes" }, "N/A Notes:"),
748
+ " ",
749
+ React.createElement("span", { className: "naReason" }, question.naReason)),
750
+ React.createElement("div", { className: "naTask1" },
751
+ React.createElement("label", { className: "d-flex flex-row", onClick: function () { return naFlagged(question, true); } },
752
+ React.createElement("img", { src: CheckOval }),
753
+ React.createElement("p", { className: "taskPara" }, "Task N/A")))) : React.createElement(Col, { sm: "12", className: "d-flex flex-row justify-content-end" },
754
+ React.createElement("div", { className: "naTask" },
755
+ React.createElement("label", { className: "d-flex flex-row", onClick: function () { return markTaskToggle(question); } },
756
+ React.createElement("img", { src: oval }),
757
+ React.createElement("p", { className: "taskPara" }, "Task N/A"))))) : React.createElement(Col, { sm: "12", className: "d-flex flex-row justify-content-end" },
758
+ React.createElement("div", null,
759
+ React.createElement("img", { src: deleteImg, alt: "X" }),
760
+ React.createElement("span", { className: "remove", onClick: function () { return removeAddedQuestion(question, true); } }, "Remove"))) : React.createElement(React.Fragment, null)),
761
+ React.createElement(React.Fragment, null)),
762
+ React.createElement(Col, { md: "2", className: "compliance" }, selectOptions(question))))),
763
+ question.isCustomQuestion && (React.createElement(Col, { md: "12", className: "formComponent-1" },
764
+ React.createElement(NewTaskForm, { question: question, onAccept: onAccept, onFlagged: onFlagged, setNotesFrame: setNotesFrame, getGuidance: getGuidance, disableFields: props.disableFields, addCustomQuestion: addCustomQuestion, removeCustomQuestion: removeCustomQuestion }))),
765
+ React.createElement(React.Fragment, null)));
766
+ });
767
+ };
768
+ var renderQuestionGroup = function (question) {
769
+ var dependentQuestionGroupIds = [];
770
+ return React.createElement(React.Fragment, null,
771
+ React.createElement("div", { className: "DynoColumns mb-3" },
772
+ React.createElement(Row, { className: "field ".concat(question.reviewFlagged ? "fieldFlagRed" : "") },
773
+ React.createElement(Col, { md: "10", className: "formComponent" },
774
+ React.createElement(Row, { className: "mb-2" },
775
+ React.createElement(Col, { md: "3 displayDesitions" },
776
+ question.reviewAccepted && (React.createElement("div", null,
777
+ React.createElement("img", { src: check }))),
778
+ question.reviewFlagged && question.flaggedReason && (React.createElement("div", null,
779
+ React.createElement("img", { src: redFlag }),
780
+ React.createElement("div", { className: "reasonFlagNote", onClick: function () { return Flagtoggle(question, true); } },
781
+ React.createElement("img", { src: writingredFlag, className: "reasonFlagicon" }),
782
+ React.createElement("span", null, (question === null || question === void 0 ? void 0 : question.flaggedReason.length) > 600 ? "".concat(question === null || question === void 0 ? void 0 : question.flaggedReason.slice(0, 600), "...") : question === null || question === void 0 ? void 0 : question.flaggedReason))))),
783
+ React.createElement(Col, { md: "3", className: "offset-md-6" },
784
+ React.createElement("div", { className: "history", onClick: function () {
785
+ return getHistory(question.reviewClientQuestionId, question === null || question === void 0 ? void 0 : question.clientQuestionId);
786
+ } },
787
+ React.createElement("img", { src: history }),
788
+ " History")),
789
+ question.complianceGroupHideHeading != true &&
790
+ React.createElement("h4", { style: { fontSize: question.complianceGroupHeadingSize + "px" }, className: "CardInfoTitle" }, question.complianceGroupName)),
791
+ React.createElement(Row, null,
792
+ React.createElement("div", { className: "DynoColumns px-4" }, findGroupSearialNumbers(question.complianceGroupId).map(function (serial) {
793
+ return React.createElement(Row, null, currentQuestions.filter(function (m) {
794
+ return m.complianceGroupId == question.complianceGroupId &&
795
+ m.serialNumber == serial;
796
+ })
797
+ .map(function (groupQuestion) {
798
+ if (groupQuestion.denpendentQuestionGroupId &&
799
+ dependentQuestionGroupIds.indexOf(groupQuestion.denpendentQuestionGroupId) > -1) {
800
+ return null;
801
+ }
802
+ if (groupQuestion.denpendentQuestionGroupId &&
803
+ (dependentQuestionGroupIds === null || dependentQuestionGroupIds === void 0 ? void 0 : dependentQuestionGroupIds.indexOf(groupQuestion.denpendentQuestionGroupId)) == -1) {
804
+ dependentQuestionGroupIds === null || dependentQuestionGroupIds === void 0 ? void 0 : dependentQuestionGroupIds.push(groupQuestion.denpendentQuestionGroupId);
805
+ return renderDependentQuestionGroup(groupQuestion, serial);
806
+ }
807
+ return React.createElement(React.Fragment, null,
808
+ groupQuestion.layoutPreset && React.createElement(Col, { md: groupQuestion.layoutPreset }),
809
+ React.createElement(Col, { key: groupQuestion.questionId, sm: "12", className: groupQuestion.dependent ? "DynoLayout dependent-question" : "DynoLayout", md: layoutSet(groupQuestion === null || groupQuestion === void 0 ? void 0 : groupQuestion.layoutCoulmns) }, renderQuestionField(groupQuestion)),
810
+ groupQuestion.layoutOffset && React.createElement(Col, { md: groupQuestion.layoutOffset }));
811
+ }));
812
+ })))),
813
+ React.createElement(Col, { md: "2", className: "compliance" }, selectOptions(question, currentQuestions.filter(function (m) {
814
+ return m.complianceGroupId == question.complianceGroupId;
815
+ }))))));
816
+ };
817
+ var currentSerialNumberQuestion = function (complianceGroupId, serialNumber) {
818
+ var data = currentQuestions.filter(function (m) {
819
+ return m.complianceGroupId == complianceGroupId && m.serialNumber == serialNumber;
820
+ });
821
+ return (data === null || data === void 0 ? void 0 : data.length) > 0 ? data[0] : null;
822
+ };
823
+ var renderRepetativeQuestionGroup = function (question) {
824
+ return React.createElement(Accordion, null, findGroupSearialNumbers(question.complianceGroupId).map(function (serial) {
825
+ var _a;
826
+ var currentSerialQuestion = currentSerialNumberQuestion(question.complianceGroupId, serial);
827
+ return React.createElement("div", { className: "DynoColumns mb-3" },
828
+ React.createElement(React.Fragment, null, !notesForm.includes(currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.clientQuestionId) ? (React.createElement(React.Fragment, null,
829
+ " ",
830
+ currentSerialQuestion.reviewNotes && ((_a = currentSerialQuestion.reviewNotes) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (React.createElement(Row, { className: "notesShowReview" },
831
+ React.createElement("div", { className: "show" },
832
+ React.createElement("span", { className: "head" }, "Notes:"),
833
+ " \u00A0\u00A0\u00A0",
834
+ React.createElement("span", { className: "content" }, currentSerialQuestion.reviewNotes)))) : (""))) : (React.createElement(Row, { className: "notes" },
835
+ React.createElement(Col, null, notesFrame(currentSerialQuestion))))),
836
+ React.createElement(Row, { className: "field ".concat(currentSerialQuestion.reviewFlagged ? "fieldFlagRed" : "") },
837
+ React.createElement(Col, { md: "10", className: "formComponent" },
838
+ React.createElement(Row, { className: "mb-2" },
839
+ React.createElement(Col, { md: "3 displayDesitions" },
840
+ (currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.reviewAccepted) && (React.createElement("div", null,
841
+ React.createElement("img", { src: check }))),
842
+ (currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.reviewFlagged) && (currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.flaggedReason) && (React.createElement("div", null,
843
+ React.createElement("img", { src: redFlag }),
844
+ React.createElement("div", { className: "reasonFlagNote", onClick: function () { return Flagtoggle(question, true); } },
845
+ React.createElement("img", { src: writingredFlag, className: "reasonFlagicon" }),
846
+ React.createElement("span", null, (currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.flaggedReason.length) > 600 ? "".concat(currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.flaggedReason.slice(0, 600), "...") : currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.flaggedReason))))),
847
+ React.createElement(Col, { md: "3", className: "offset-md-6" },
848
+ React.createElement("div", { className: "history", onClick: function () {
849
+ getHistory(currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.reviewClientQuestionId, currentSerialQuestion === null || currentSerialQuestion === void 0 ? void 0 : currentSerialQuestion.clientQuestionId);
850
+ } },
851
+ React.createElement("img", { src: history }),
852
+ " History")),
853
+ question.complianceGroupHideHeading != true &&
854
+ React.createElement("h4", { style: { fontSize: question.complianceGroupHeadingSize + "px" }, className: "CardInfoTitle" }, question.complianceGroupName)),
855
+ React.createElement(Row, null,
856
+ React.createElement("div", { className: "DynoColumns px-4" },
857
+ React.createElement(Accordion.Item, { eventKey: serial.toString() },
858
+ React.createElement(Accordion.Header, null,
859
+ React.createElement(Row, null,
860
+ React.createElement(Col, { md: "12", sm: "12" },
861
+ React.createElement("div", null, fillHeadertemplate(question, serial))))),
862
+ React.createElement(Accordion.Body, null,
863
+ React.createElement(Card.Body, null,
864
+ React.createElement(Row, null, currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId && m.serialNumber == serial; })
865
+ .map(function (groupQuestion) {
866
+ return React.createElement(React.Fragment, null,
867
+ groupQuestion.layoutPreset && React.createElement(Col, { md: groupQuestion.layoutPreset }),
868
+ React.createElement(Col, { key: groupQuestion.questionId, sm: "12", className: groupQuestion.dependent ? "DynoLayout dependent-question" : "DynoLayout", md: layoutSet(groupQuestion === null || groupQuestion === void 0 ? void 0 : groupQuestion.layoutCoulmns) }, renderQuestionField(groupQuestion)),
869
+ groupQuestion.layoutOffset && React.createElement(Col, { md: groupQuestion.layoutOffset }));
870
+ })))))))),
871
+ React.createElement(Col, { md: "2", className: "compliance" }, selectOptions(currentSerialQuestion, currentQuestions.filter(function (m) { return m.complianceGroupId == question.complianceGroupId && m.serialNumber == serial; })))));
872
+ }));
873
+ };
874
+ var renderDependentQuestionGroup = function (question, serialNumber) {
875
+ return React.createElement(React.Fragment, null,
876
+ question.dependentQuestionGroupHideHeading != true &&
877
+ React.createElement("h4", { style: { fontSize: question.dependentQuestionGroupHeadingSize + "px" }, className: "CardInfoTitle" }, question.denpendentQuestionGroupName),
878
+ React.createElement(Row, { className: "dependent-group-container nonAcoordion" }, currentQuestions.filter(function (m) {
879
+ return m.denpendentQuestionGroupId == question.denpendentQuestionGroupId && m.serialNumber == serialNumber;
880
+ })
881
+ .map(function (groupQuestion) {
882
+ return React.createElement(React.Fragment, null,
883
+ groupQuestion.layoutPreset && React.createElement(Col, { md: groupQuestion.layoutPreset }),
884
+ React.createElement(Col, { key: groupQuestion.questionId, sm: "12", className: "DynoLayout", md: layoutSet(groupQuestion === null || groupQuestion === void 0 ? void 0 : groupQuestion.layoutCoulmns) }, renderQuestionField(groupQuestion)),
885
+ groupQuestion.layoutOffset && React.createElement(Col, { md: groupQuestion.layoutOffset }));
886
+ })),
887
+ " ");
888
+ };
889
+ var renderQuestionField = function (question) {
890
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
891
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.Text)
892
+ return (React.createElement(React.Fragment, null,
893
+ React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
894
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormalizeText }))));
895
+ if (question.questionType === QuestionTypes.MultiSelectionDropdown)
896
+ return (React.createElement("div", { className: " d-flex dynoFields cdFormGroup" },
897
+ React.createElement(Field, { disabled: props.disableFields, component: MultipleSelectField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, isRequired: question.isRequired, options: question.options.sort(function (a, b) {
898
+ return (a === null || a === void 0 ? void 0 : a.text) > (b === null || b === void 0 ? void 0 : b.text) ? 1 : -1;
899
+ }) })));
900
+ if (question.questionType === QuestionTypes.SingleSelectionBoxSelection)
901
+ return (React.createElement("div", { className: "d-flex dynoFields cdFormGroup" },
902
+ React.createElement(Field, { disabled: props.disableFields, component: SelectButtonFieldOptions, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, isRequired: question.isRequired, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.value) - (b === null || b === void 0 ? void 0 : b.value); }) })));
903
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.FedTaxSSN)
904
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
905
+ React.createElement(Field, { disabled: props.disableFields, component: SSNField, name: "question_" + ((_a = question.clientQuestionId) === null || _a === void 0 ? void 0 : _a.toString()), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormaliseFedTaxSSN })));
906
+ if (question.questionType === QuestionTypes.Checkbox ||
907
+ question.questionType === QuestionTypes.PercentageValidationCheckbox)
908
+ return (React.createElement("div", { className: "d-flex dynoFields" },
909
+ React.createElement("div", null,
910
+ React.createElement(Field, { disabled: props.disableFields, name: "question_" + ((_b = question.clientQuestionId) === null || _b === void 0 ? void 0 : _b.toString()), label: question.questionText, helpText: question.helpText, component: SingleCheckBox,
911
+ // options={question.options.sort(
912
+ // (a: any, b: any) => a?.value - b?.value
913
+ // )}
914
+ isRequired: question.isRequired }))));
915
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.TimePicker)
916
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
917
+ React.createElement(Field, { disabled: props.disableFields, component: SSNField, name: "question_" + ((_c = question.clientQuestionId) === null || _c === void 0 ? void 0 : _c.toString()), label: question.questionText, helpText: question.helpText,
918
+ // validate={[required]}
919
+ isRequired: question.isRequired, normalize: NormalizeTime, placeholder: "hh:mm" })));
920
+ if (question.questionType === QuestionTypes.DecimalNumber)
921
+ return (React.createElement("div", { className: "cdFormGroup" },
922
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + ((_d = question.clientQuestionId) === null || _d === void 0 ? void 0 : _d.toString()), label: question === null || question === void 0 ? void 0 : question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormalizeDecimalNumber })));
923
+ if (question.questionType === QuestionTypes.YesOrNo)
924
+ return (React.createElement("div", { className: " d-flex dynoFields cdFormGroup" },
925
+ React.createElement(Field, { disabled: props.disableFields, component: YesOrNo, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, isRequired: question.isRequired, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.optionSequence) - (b === null || b === void 0 ? void 0 : b.optionSequence); }) })));
926
+ if (question.questionType === QuestionTypes.MultiSelectionCheckBox)
927
+ return (React.createElement("div", { className: " d-flex dynoFields cdFormGroup" },
928
+ React.createElement(Field, { disabled: props.disableFields, component: CheckboxGroup, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, isRequired: question.isRequired, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.value) - (b === null || b === void 0 ? void 0 : b.value); }) })));
929
+ if (question.questionType === QuestionTypes.MultiCheckBox)
930
+ return (React.createElement("div", { className: "d-flex dynoFields cdFormGroup" },
931
+ React.createElement(Field, { disabled: props.disableFields, component: MultiCheckboxGroup, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.optionSequence) && (b === null || b === void 0 ? void 0 : b.optionSequence) ?
932
+ ((a === null || a === void 0 ? void 0 : a.optionSequence) - (b === null || b === void 0 ? void 0 : b.optionSequence)) :
933
+ ((a === null || a === void 0 ? void 0 : a.value) - (b === null || b === void 0 ? void 0 : b.value)); }), isRequired: question.isRequired, className: 'multiCheckBox' })));
934
+ if (question.questionType === QuestionTypes.SingleSelectionCheckBox)
935
+ return (React.createElement("div", { className: " d-flex dynoFields csCheckSpanWrap cdFormGroup" },
936
+ React.createElement(Field, { disabled: props.disableFields, component: checkspan2, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, isRequired: question.isRequired, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.value) - (b === null || b === void 0 ? void 0 : b.value); }) })));
937
+ if (question.questionType === QuestionTypes.AddressSelectionCheckBox)
938
+ return (React.createElement("div", { className: "d-flex dynoFields csCheckSpanWrap" },
939
+ React.createElement(Field, { disabled: props.disableFields, component: checkspan2, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, HelpText: question.helpText, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.value) - (b === null || b === void 0 ? void 0 : b.value); }), isRequired: question.isRequired })));
940
+ if (question.questionType === QuestionTypes.MultiSelectionBoxSelection)
941
+ return (React.createElement("div", { className: "d-flex dynoFields cdFormGroup" },
942
+ React.createElement("div", { className: "multiGroupBox ".concat(question.questionType) },
943
+ React.createElement(Field, { disabled: props.disableFields, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, component: CheckPanelBox, options: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.value) - (b === null || b === void 0 ? void 0 : b.value); }), display: true, isRequired: question.isRequired }))));
944
+ if (question.questionType === QuestionTypes.Percentage
945
+ || question.questionType === QuestionTypes.Percentage25A
946
+ || question.questionType === QuestionTypes.Percentage25B ||
947
+ question.questionType === QuestionTypes.SalesPercentage)
948
+ return (React.createElement("div", { className: "cdFormGroup" },
949
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + ((_e = question.clientQuestionId) === null || _e === void 0 ? void 0 : _e.toString()), label: question === null || question === void 0 ? void 0 : question.questionText, helpText: question.helpText, isRequired: question.isRequired })));
950
+ if (question.questionType === QuestionTypes.FileUpload)
951
+ return (React.createElement("div", { className: "d-flex dynoFields cdFormGroup" },
952
+ React.createElement(Field, { question: question, onAccept: onAccept, onFlagged: onFlagged, setNotesFrame: setNotesFrame, getGuidance: getGuidance, disabled: (props.disableFields || !statusChange(question)), component: FileDropZoneField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, type: "file", checkedFormats: "image/jpeg, image/png, image/gif, image/bmp, .pdf, .doc, .docx, .xls,.xlsx, .rtf, .ppt, .pptx,.tiff,.rtf,.csv", clientQuestionId: question.clientQuestionId, displayAccepedFormats: false, allowMultiple: false, aiOverride: question.answers && ((_f = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _f === void 0 ? void 0 : _f.aiOverride), maxSize: 5000000, isRequired: question.isRequired, noClick: question.answers && ((_g = question.answers) === null || _g === void 0 ? void 0 : _g.length) !== 0 ? true : false, noDrag: question.answers && ((_h = question.answers) === null || _h === void 0 ? void 0 : _h.length) !== 0 ? true : false, onClickFile: props.onClickFile })));
953
+ if (question.questionType === QuestionTypes.PDFFileUpload)
954
+ return (React.createElement("div", { className: "d-flex dynoFields cdFormGroup" },
955
+ React.createElement(Field, { question: question, onAccept: onAccept, onFlagged: onFlagged, setNotesFrame: setNotesFrame, getGuidance: getGuidance, disabled: (props.disableFields || !statusChange(question)), component: FileDropZoneField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, type: "file", acceptedFormats: ".pdf", clientQuestionId: question.clientQuestionId, displayAccepedFormats: false, allowMultiple: false, aiOverride: question.answers && ((_j = question === null || question === void 0 ? void 0 : question.answers[0]) === null || _j === void 0 ? void 0 : _j.aiOverride), maxSize: 5000000, isRequired: question.isRequired, noClick: question.answers && ((_k = question.answers) === null || _k === void 0 ? void 0 : _k.length) !== 0 ? true : false, noDrag: question.answers && ((_l = question.answers) === null || _l === void 0 ? void 0 : _l.length) !== 0 ? true : false, onClickFile: props.onClickFile })));
956
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.TextArea)
957
+ return (React.createElement("div", { className: " d-flex dynoFields csTextField cdFormGroup" },
958
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, type: "textarea", normalize: NormalizeText, isRequired: question.isRequired })));
959
+ if (question.questionType === QuestionTypes.DatePicker)
960
+ return (React.createElement("div", { className: "dynoFields cdFormGroup" },
961
+ React.createElement(FormGroup, { row: true, className: "mb-5 w-100 form-group" },
962
+ React.createElement(Label, null,
963
+ question.questionText,
964
+ " ",
965
+ question.isRequired && React.createElement("span", { className: "input-required" }, "*")),
966
+ React.createElement(Col, { sm: 12 },
967
+ React.createElement(Field, { disabled: props.disableFields, name: "question_" + question.clientQuestionId.toString(), component: Datepicker, valuedata: null })))));
968
+ if (question.questionType === QuestionTypes.PhoneNumber)
969
+ return (React.createElement("div", { className: "dynoFields cdFormGroup" },
970
+ React.createElement(Field, { disabled: props.disableFields, component: PhoneNumberField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, normalize: normalizePhone, isRequired: question.isRequired })));
971
+ if (question.questionType === QuestionTypes.Email)
972
+ return (React.createElement("div", { className: "dynoFields cdFormGroup" },
973
+ React.createElement(Field, { disabled: props.disableFields, component: EmailField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired })));
974
+ if (question.questionType === QuestionTypes.SingleSelectionDropDown)
975
+ return (React.createElement("div", { className: "dynoFields cdFormGroup" },
976
+ React.createElement(Field, { disabled: props.disableFields, component: SelectField, name: "question_" + question.clientQuestionId.toString(), label: question === null || question === void 0 ? void 0 : question.questionText, helpText: question.helpText, values: question.options.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.optionSequence) - (b === null || b === void 0 ? void 0 : b.optionSequence); }), isRequired: question.isRequired })));
977
+ if (question.questionType === QuestionTypes.PastDatePicker)
978
+ return (React.createElement("div", { className: "dynoFields cdFormGroup" },
979
+ React.createElement(FormGroup, { row: true, className: "mb-5 w-100 form-group" },
980
+ React.createElement(Label, null,
981
+ question.questionText,
982
+ " ",
983
+ question.isRequired && React.createElement("span", { className: "input-required" }, "*")),
984
+ React.createElement(Col, { sm: 12 },
985
+ React.createElement(Field, { disabled: props.disableFields, name: "question_" + question.clientQuestionId.toString(), component: PastDatePicker, valuedata: null, maxDate: new Date(), showYearDropdown: true, placeholderText: "MM/DD/YYYY", autoComplete: "off" })))));
986
+ if (question.questionType === QuestionTypes.FutureDatePicker)
987
+ return (React.createElement("div", { className: "dynoFields cdFormGroup" },
988
+ React.createElement(FormGroup, { row: true, className: "mb-5 w-100 form-group" },
989
+ React.createElement(Label, null,
990
+ question.questionText,
991
+ " ",
992
+ question.isRequired && React.createElement("span", { className: "input-required" }, "*")),
993
+ React.createElement(Col, { sm: 12 },
994
+ React.createElement(Field, { disabled: props.disableFields, name: "question_" + question.clientQuestionId.toString(), component: FutureDatePicker, valuedata: null, minDate: new Date(), showYearDropdown: true, autoComplete: "off" })))));
995
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.SSN)
996
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
997
+ React.createElement(Field, { disabled: props.disableFields, component: SSNField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormaliseSSN })));
998
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.EIN)
999
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
1000
+ React.createElement(Field, { disabled: props.disableFields, component: SSNField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormalizeEIN })));
1001
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.ROUTINGNUMBER)
1002
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
1003
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormalizeRoutingNumber })));
1004
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.Number)
1005
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
1006
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, normalize: NormalizeNumber, isRequired: question.isRequired })));
1007
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.NumericId)
1008
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
1009
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, normalize: normalizeNumericId, isRequired: question.isRequired })));
1010
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.Currency)
1011
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
1012
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, normalize: NormalizeNumber })));
1013
+ if ((question === null || question === void 0 ? void 0 : question.questionType) === QuestionTypes.ZipCode)
1014
+ return (React.createElement("div", { className: "d-flex dynoFields csTextField cdFormGroup" },
1015
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, normalize: normaliseZipcode, isRequired: question.isRequired })));
1016
+ if (question.questionType === QuestionTypes.TaxId)
1017
+ return (React.createElement("div", { className: "cdFormGroup" },
1018
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: NormalizeTax })));
1019
+ if (question.questionType === QuestionTypes.AlphaNumeric)
1020
+ return (React.createElement("div", { className: "cdFormGroup" },
1021
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: normalizeAlphanumeric })));
1022
+ if (question.questionType === QuestionTypes.LabelText)
1023
+ return (React.createElement("div", { className: "cdFormGroup" },
1024
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, labelText: true })));
1025
+ if (question.questionType === QuestionTypes.disableTextField)
1026
+ return (React.createElement("div", { className: "cdFormGroup" },
1027
+ React.createElement(Field, { disabled: true, component: DisableTextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, labelText: true })));
1028
+ if (question.questionType === QuestionTypes.NumberOfMonths)
1029
+ return (React.createElement("div", { className: "cdFormGroup" },
1030
+ React.createElement(Field, { disabled: props.disableFields, component: DisableTextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: normalizeMonth, labelText: true })));
1031
+ if (question.questionType === QuestionTypes.FaxId)
1032
+ return (React.createElement("div", { className: "cdFormGroup" },
1033
+ React.createElement(Field, { disabled: props.disableFields, component: TextField, name: "question_" + question.clientQuestionId.toString(), label: question.questionText, helpText: question.helpText, isRequired: question.isRequired, normalize: normalizeFax })));
1034
+ return null;
1035
+ };
1036
+ var setIsOpen = function (index) {
1037
+ if (index == guidanceToggle) {
1038
+ setGuidanceToggle(-1);
1039
+ }
1040
+ else {
1041
+ setGuidanceToggle(index);
1042
+ }
1043
+ };
1044
+ return (React.createElement(React.Fragment, null,
1045
+ React.createElement("form", { className: "form-group" },
1046
+ React.createElement(Row, null,
1047
+ renderQuestions(),
1048
+ " ")),
1049
+ React.createElement(Modal, { className: "popup-modal modelWrap historyModal", size: "md", isOpen: historyModel, fade: false, toggle: historyModalViewHandler },
1050
+ React.createElement(ModalBody, null,
1051
+ React.createElement("button", { type: "button", className: "close", "aria-label": "Close", onClick: closeHistoryModalViewHandler },
1052
+ React.createElement("span", { "aria-hidden": "true" }, "\u00D7")),
1053
+ React.createElement(Tab.Container, { id: "historyTabs", defaultActiveKey: "itemHistory" },
1054
+ React.createElement(Row, null,
1055
+ React.createElement(Col, { sm: 12 },
1056
+ React.createElement(Nav, { variant: "pills", id: "historyNav", className: "mb-3" },
1057
+ React.createElement(Nav.Item, null,
1058
+ React.createElement(Nav.Link, { eventKey: "itemHistory" },
1059
+ React.createElement("img", { src: history }),
1060
+ React.createElement("span", null, "Item History"))),
1061
+ React.createElement(Nav.Item, null,
1062
+ React.createElement(Nav.Link, { eventKey: "messageHistory" },
1063
+ React.createElement("img", { src: comment }),
1064
+ "Message History"))))),
1065
+ React.createElement(Row, null,
1066
+ React.createElement(Col, { sm: 12 },
1067
+ React.createElement(Tab.Content, null,
1068
+ React.createElement(Tab.Pane, { className: "tabElement historyModalTab", eventKey: "itemHistory" },
1069
+ React.createElement("div", null,
1070
+ React.createElement("div", { className: "historyModel" }, questionHistory !== undefined &&
1071
+ ((_b = (_a = questionHistory[0]) === null || _a === void 0 ? void 0 : _a.historyDTO) === null || _b === void 0 ? void 0 : _b.length) < 0 === false ? (questionHistory !== undefined &&
1072
+ ((_d = (_c = questionHistory[0]) === null || _c === void 0 ? void 0 : _c.historyDTO) === null || _d === void 0 ? void 0 : _d.map(function (element) { return (React.createElement(Row, { className: "infoPack" },
1073
+ React.createElement(Col, { md: "2" }, element.firstName),
1074
+ React.createElement(Col, { md: "1", className: "" }, moment(moment.utc(element.createdDate).toDate()).format('M/DD/YY')),
1075
+ React.createElement(Col, { md: "2", className: "timeDate" }, moment(moment.utc(element.createdDate).toDate()).format('hh:mm A')),
1076
+ React.createElement(Col, null, element.info))); }))) : (React.createElement(Row, { className: "infoPack" },
1077
+ React.createElement(Col, null, "No records found")))))),
1078
+ React.createElement(Tab.Pane, { className: "tabElement historyModalTab", eventKey: "messageHistory" },
1079
+ React.createElement("div", { className: "message-modal" })))))))),
1080
+ React.createElement(Modal, { className: "popup-modal guidanceWrapper", size: "md", isOpen: guidanceModel, fade: false, toggle: guidanceModelHandler },
1081
+ React.createElement(ModalHeader, { className: "guidance", toggle: closeGuidanceModelHandler }, "Guidance"),
1082
+ React.createElement("div", null,
1083
+ React.createElement("div", { className: "guidanceBody" }, guidance && (guidance === null || guidance === void 0 ? void 0 : guidance.map(function (element, index) { return (React.createElement(React.Fragment, null,
1084
+ React.createElement(Row, null,
1085
+ React.createElement(Col, { md: "12" },
1086
+ React.createElement("div", { onClick: function () { return setIsOpen(index); }, className: "question" },
1087
+ index == guidanceToggle ? React.createElement("img", { src: backGray, className: "downArrow arrow" })
1088
+ : React.createElement("img", { src: backGray, className: "arrow" }),
1089
+ currentQuestions.find(function (ele) {
1090
+ return ele.questionId == element.questionId;
1091
+ }).questionText)),
1092
+ React.createElement(Col, { md: "12" },
1093
+ React.createElement(Collapse, { isOpen: index == guidanceToggle },
1094
+ React.createElement("p", { className: "guidanceContent" }, element === null || element === void 0 ? void 0 : element.guidance)))))); }))))),
1095
+ React.createElement(Modal, { className: "flag-modal", isOpen: flagModal, fade: false, toggle: Flagtoggle },
1096
+ React.createElement(ModalHeader, { toggle: flagModalViewHandler },
1097
+ React.createElement("div", null,
1098
+ React.createElement("img", { src: redFlag }),
1099
+ " ",
1100
+ React.createElement("span", { className: "flagItemHeader" }, " Flag Item "))),
1101
+ React.createElement(ModalBody, { className: "flagg-modal-container" },
1102
+ React.createElement(FlaggReasonForm, { toggle: Flagtoggle, flaggedQuestion: flaggedQuestion, label: "Reason for Flag", postsavequestion: props.postsavequestion, currentQuestions: currentQuestions, flagModalViewHandler: flagModalViewHandler, isEditReason: isEditFlagNotes, button: "Flag", infoId: 2, name: "flaggedReason" }))),
1103
+ React.createElement(Modal, { className: "flag-modal Mark-Task-Modal", isOpen: markTaskModal, fade: false, toggle: naTaskViewHandler },
1104
+ React.createElement(ModalHeader, { toggle: naTaskViewHandler },
1105
+ React.createElement("div", null,
1106
+ React.createElement("span", { className: "Mark-Task-Modal-heading" }, " Mark Task N/A "))),
1107
+ React.createElement(ModalBody, { className: "flagg-modal-container" },
1108
+ React.createElement(FlaggReasonForm, { toggle: markTaskModal, flaggedQuestion: naTaskQuestion, label: "Reason for N/A", postsavequestion: props.postsavequestion, currentQuestions: currentQuestions, flagModalViewHandler: naTaskViewHandler, button: "Confirm", infoId: 4, name: "naReason" })))));
1109
+ };
1110
+ export default connect(function (state, props) {
1111
+ return {
1112
+ initialValues: __assign(__assign({}, props.formInitialvalues), props.reviewValues),
1113
+ formValues: getFormValues("QuestionnaireForm")(state),
1114
+ };
1115
+ })(reduxForm({
1116
+ form: "QuestionnaireForm",
1117
+ enableReinitialize: true,
1118
+ })(QuestionnaireForm));
1119
+ //# sourceMappingURL=QuestionnaireForm.js.map