@sparrowengg/integrations-templates-frontend 6.0.7 → 7.0.0-bulkify.3

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 (35) hide show
  1. package/README.md +663 -0
  2. package/dist/cjs/cascader-dropdown/cascader-dropdown-provider.js +17 -1
  3. package/dist/cjs/cascader-dropdown/cascader-dropdown-provider.js.map +1 -1
  4. package/dist/cjs/cascader-dropdown/cascader-dropdown.js +5 -1
  5. package/dist/cjs/cascader-dropdown/cascader-dropdown.js.map +1 -1
  6. package/dist/cjs/dynamic-mapping/components/mapping.js +4 -2
  7. package/dist/cjs/dynamic-mapping/components/mapping.js.map +1 -1
  8. package/dist/cjs/dynamic-mapping/constants/condition-operators.js +1 -0
  9. package/dist/cjs/dynamic-mapping/constants/condition-operators.js.map +1 -1
  10. package/dist/cjs/dynamic-mapping/helpers/mapping.helpers.js +10 -0
  11. package/dist/cjs/dynamic-mapping/helpers/mapping.helpers.js.map +1 -1
  12. package/dist/cjs/dynamic-mapping/hooks/use-mapping-data.js +44 -29
  13. package/dist/cjs/dynamic-mapping/hooks/use-mapping-data.js.map +1 -1
  14. package/dist/cjs/dynamic-mapping/index.js +4 -2
  15. package/dist/cjs/dynamic-mapping/index.js.map +1 -1
  16. package/dist/cjs/filter/filter-pill.js +19 -9
  17. package/dist/cjs/filter/filter-pill.js.map +1 -1
  18. package/dist/es/cascader-dropdown/cascader-dropdown-provider.js +18 -2
  19. package/dist/es/cascader-dropdown/cascader-dropdown-provider.js.map +1 -1
  20. package/dist/es/cascader-dropdown/cascader-dropdown.js +5 -1
  21. package/dist/es/cascader-dropdown/cascader-dropdown.js.map +1 -1
  22. package/dist/es/dynamic-mapping/components/mapping.js +4 -2
  23. package/dist/es/dynamic-mapping/components/mapping.js.map +1 -1
  24. package/dist/es/dynamic-mapping/constants/condition-operators.js +1 -0
  25. package/dist/es/dynamic-mapping/constants/condition-operators.js.map +1 -1
  26. package/dist/es/dynamic-mapping/helpers/mapping.helpers.js +10 -1
  27. package/dist/es/dynamic-mapping/helpers/mapping.helpers.js.map +1 -1
  28. package/dist/es/dynamic-mapping/hooks/use-mapping-data.js +36 -21
  29. package/dist/es/dynamic-mapping/hooks/use-mapping-data.js.map +1 -1
  30. package/dist/es/dynamic-mapping/index.js +4 -2
  31. package/dist/es/dynamic-mapping/index.js.map +1 -1
  32. package/dist/es/filter/filter-pill.js +20 -10
  33. package/dist/es/filter/filter-pill.js.map +1 -1
  34. package/dist/index.d.ts +6 -2
  35. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('../../mapping/services/index.js');
5
- var index$1 = require('../../commons/constants/index.js');
4
+ var index$1 = require('../../mapping/services/index.js');
5
+ var index = require('../../commons/constants/index.js');
6
6
  require('../../node_modules/dayjs/dayjs.min.js');
7
7
  var mapping_helpers = require('../helpers/mapping.helpers.js');
8
8
 
@@ -27,7 +27,7 @@ var __spreadValues = (a, b) => {
27
27
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
28
  const useMappingData = ({
29
29
  surveyId,
30
- apiURL = index$1.surveySparrowURL,
30
+ apiURL = index.surveySparrowURL,
31
31
  token,
32
32
  surveyProperties,
33
33
  importResponse,
@@ -35,9 +35,15 @@ const useMappingData = ({
35
35
  setIsInitialLoad,
36
36
  setOriginalMappingData,
37
37
  ssMappingData: externalSsMappingData,
38
- setSSMappingData: externalSetSSMappingData
38
+ setSSMappingData: externalSetSSMappingData,
39
+ hasResponsePDF
39
40
  }) => {
40
41
  var _a, _b, _c, _d, _e, _f, _g;
42
+ const omitResponsePdf = hasResponsePDF !== true;
43
+ const baseMappingPropertyValues = React.useMemo(
44
+ () => omitResponsePdf ? index.mappingPropertyValues.filter((p) => p.id !== "RESPONSE_PDF") : index.mappingPropertyValues,
45
+ [omitResponsePdf]
46
+ );
41
47
  const [loader, setLoader] = React.useState(true);
42
48
  const [searchInput, setSearchInput] = React.useState("");
43
49
  const [isApiData, setIsApiData] = React.useState(false);
@@ -67,27 +73,27 @@ const useMappingData = ({
67
73
  []
68
74
  );
69
75
  const fetchInitialMappingData = React.useCallback(async () => {
70
- var _a2;
71
76
  setLoader(true);
72
77
  try {
73
78
  if (surveyProperties) {
74
79
  setIsApiData(false);
75
80
  const { questions, variables, contactProperties, expressions, property, derivedQuestions } = surveyProperties;
81
+ const propertyForMapping = mapping_helpers.stripResponsePdfProperty(property, omitResponsePdf);
76
82
  setSSMappingData({
77
83
  questions: (questions == null ? void 0 : questions.length) ? modifiedMappingData(questions, "Select all Questions") : [],
78
84
  contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? modifiedMappingData(contactProperties, "Select all Contact Properties") : [],
79
85
  variables: (variables == null ? void 0 : variables.length) ? modifiedMappingData(variables, "Select all Variables") : [],
80
86
  expressions: (expressions == null ? void 0 : expressions.length) ? modifiedMappingData(expressions, "Select all Expressions") : [],
81
- property: (property == null ? void 0 : property.length) ? modifiedMappingData(property, "Select all Properties") : [],
87
+ property: (propertyForMapping == null ? void 0 : propertyForMapping.length) ? modifiedMappingData(propertyForMapping, "Select all Properties") : [],
82
88
  derivedQuestions: (derivedQuestions == null ? void 0 : derivedQuestions.length) ? modifiedMappingData(derivedQuestions, "Select all Enrich") : []
83
89
  });
84
90
  } else {
85
91
  setIsApiData(true);
86
92
  const [questions, variables, contactProperties, expressions] = await Promise.all([
87
- index.fetchSurveyQuestions(apiURL, surveyId, token),
88
- index.fetchSurveyVariables(apiURL, surveyId, token),
89
- index.fetchContactProperties(apiURL, token),
90
- index.fetchSurveyExpression(apiURL, surveyId, token)
93
+ index$1.fetchSurveyQuestions(apiURL, surveyId, token),
94
+ index$1.fetchSurveyVariables(apiURL, surveyId, token),
95
+ index$1.fetchContactProperties(apiURL, token),
96
+ index$1.fetchSurveyExpression(apiURL, surveyId, token)
91
97
  ]);
92
98
  const organizedQuestions = mapping_helpers.organizeQuestionsWithHierarchy(questions || []);
93
99
  setSSMappingData({
@@ -95,7 +101,7 @@ const useMappingData = ({
95
101
  contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? modifiedMappingData(contactProperties, "Select all Contact Properties") : [],
96
102
  variables: (variables == null ? void 0 : variables.length) ? modifiedMappingData(variables, "Select all Variables") : [],
97
103
  expressions: (expressions == null ? void 0 : expressions.length) ? modifiedMappingData(expressions, "Select all Expressions") : [],
98
- property: ((_a2 = index$1.mappingPropertyValues) == null ? void 0 : _a2.length) ? modifiedMappingData(index$1.mappingPropertyValues, "Select all Properties") : [],
104
+ property: (baseMappingPropertyValues == null ? void 0 : baseMappingPropertyValues.length) ? modifiedMappingData(baseMappingPropertyValues, "Select all Properties") : [],
99
105
  derivedQuestions: []
100
106
  });
101
107
  }
@@ -104,16 +110,16 @@ const useMappingData = ({
104
110
  } finally {
105
111
  setLoader(false);
106
112
  }
107
- }, [surveyId, apiURL, token, surveyProperties, modifiedMappingData]);
113
+ }, [surveyId, apiURL, token, surveyProperties, modifiedMappingData, omitResponsePdf, baseMappingPropertyValues]);
108
114
  const fetchAndMergeEditData = React.useCallback(async () => {
109
- var _a2;
115
+ var _a2, _b2;
110
116
  setLoader(true);
111
117
  try {
112
118
  const [questions, variables, contactProperties, expressions] = await Promise.all([
113
- index.fetchSurveyQuestions(apiURL, surveyId, token),
114
- index.fetchSurveyVariables(apiURL, surveyId, token),
115
- index.fetchContactProperties(apiURL, token),
116
- index.fetchSurveyExpression(apiURL, surveyId, token)
119
+ index$1.fetchSurveyQuestions(apiURL, surveyId, token),
120
+ index$1.fetchSurveyVariables(apiURL, surveyId, token),
121
+ index$1.fetchContactProperties(apiURL, token),
122
+ index$1.fetchSurveyExpression(apiURL, surveyId, token)
117
123
  ]);
118
124
  const organizedQuestions = mapping_helpers.organizeQuestionsWithHierarchy(questions || []);
119
125
  const editMappedFields = (_a2 = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _a2.mappedFields;
@@ -148,7 +154,7 @@ const useMappingData = ({
148
154
  variables: mergeWithEnabled(variables || [], enabledVariableIds, "Select all Variables"),
149
155
  contactProperties: mergeWithEnabled(contactProperties || [], enabledContactPropertyIds, "Select all Contact Properties"),
150
156
  expressions: mergeWithEnabled(expressions || [], enabledExpressionIds, "Select all Expressions"),
151
- property: mergeWithEnabled(index$1.mappingPropertyValues || [], enabledPropertyIds, "Select all Properties"),
157
+ property: mergeWithEnabled(baseMappingPropertyValues || [], enabledPropertyIds, "Select all Properties"),
152
158
  derivedQuestions: []
153
159
  // Enrich not available from API
154
160
  };
@@ -169,7 +175,7 @@ const useMappingData = ({
169
175
  variables: processField(mappedFields == null ? void 0 : mappedFields.variables, "Select all Variables"),
170
176
  contactProperties: processField(mappedFields == null ? void 0 : mappedFields.contactProperties, "Select all Contact Properties"),
171
177
  expressions: processField(mappedFields == null ? void 0 : mappedFields.expressions, "Select all Expressions"),
172
- property: processField(mappedFields == null ? void 0 : mappedFields.property, "Select all Properties"),
178
+ property: processField((_b2 = mapping_helpers.stripResponsePdfProperty(mappedFields == null ? void 0 : mappedFields.property, omitResponsePdf)) != null ? _b2 : [], "Select all Properties"),
173
179
  derivedQuestions: processField(mappedFields == null ? void 0 : mappedFields.derivedQuestions, "Select all Enrich")
174
180
  };
175
181
  setSSMappingData(updatedSSMappingData);
@@ -177,7 +183,7 @@ const useMappingData = ({
177
183
  } finally {
178
184
  setLoader(false);
179
185
  }
180
- }, [apiURL, surveyId, token, editField, surveyProperties, modifiedMappingData, setSSMappingData, setOriginalMappingData]);
186
+ }, [apiURL, surveyId, token, editField, surveyProperties, modifiedMappingData, setSSMappingData, setOriginalMappingData, omitResponsePdf, baseMappingPropertyValues]);
181
187
  const handleFieldValues = React.useCallback(
182
188
  (type, id, value) => {
183
189
  const useHierarchy = type === "questions" && isApiData;
@@ -227,7 +233,7 @@ const useMappingData = ({
227
233
  });
228
234
  }, []);
229
235
  React.useEffect(() => {
230
- var _a2;
236
+ var _a2, _b2;
231
237
  if (!(editField == null ? void 0 : editField.id)) {
232
238
  fetchInitialMappingData();
233
239
  } else if (editField == null ? void 0 : editField.id) {
@@ -252,19 +258,22 @@ const useMappingData = ({
252
258
  "Select all Contact Properties"
253
259
  ),
254
260
  expressions: processField(mappedFields == null ? void 0 : mappedFields.expressions, "Select all Expressions"),
255
- property: ensureSubmissionIdEnabled(processField(mappedFields == null ? void 0 : mappedFields.property, "Select all Properties")),
261
+ property: ensureSubmissionIdEnabled(
262
+ processField((_b2 = mapping_helpers.stripResponsePdfProperty(mappedFields == null ? void 0 : mappedFields.property, omitResponsePdf)) != null ? _b2 : [], "Select all Properties")
263
+ ),
256
264
  derivedQuestions: processField(mappedFields == null ? void 0 : mappedFields.derivedQuestions, "Select all Enrich")
257
265
  };
258
266
  setSSMappingData(updatedSSMappingData);
259
267
  setOriginalMappingData(updatedSSMappingData);
260
268
  } else {
261
269
  const { questions, variables, contactProperties, expressions, property, derivedQuestions } = surveyProperties || {};
270
+ const rawProperty = mapping_helpers.stripResponsePdfProperty(property, omitResponsePdf);
262
271
  const updatedSSMappingData = {
263
272
  questions: (questions == null ? void 0 : questions.length) ? questions : [],
264
273
  contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? contactProperties : [],
265
274
  variables: (variables == null ? void 0 : variables.length) ? variables : [],
266
275
  expressions: (expressions == null ? void 0 : expressions.length) ? expressions : [],
267
- property: (property == null ? void 0 : property.length) ? property : [],
276
+ property: (rawProperty == null ? void 0 : rawProperty.length) ? rawProperty : [],
268
277
  derivedQuestions: (derivedQuestions == null ? void 0 : derivedQuestions.length) ? derivedQuestions : []
269
278
  };
270
279
  setSSMappingData(updatedSSMappingData);
@@ -274,7 +283,7 @@ const useMappingData = ({
274
283
  }
275
284
  }
276
285
  setIsInitialLoad(false);
277
- }, [token, surveyId]);
286
+ }, [token, surveyId, hasResponsePDF]);
278
287
  React.useEffect(() => {
279
288
  var _a2;
280
289
  const importMethod = (_a2 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a2.importMethod;
@@ -288,7 +297,7 @@ const useMappingData = ({
288
297
  return modifiedMappingData(field, label, field.every((item) => item.isEnabled));
289
298
  };
290
299
  setSSMappingData((prevData) => {
291
- var _a3, _b2, _c2, _d2, _e2, _f2, _g2, _h, _i, _j, _k, _l;
300
+ var _a3, _b2, _c2, _d2, _e2, _f2, _g2, _h, _i, _j, _k, _l, _m;
292
301
  const newData = {
293
302
  questions: processField((_b2 = (_a3 = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _a3.mappedFields) == null ? void 0 : _b2.questions, "Select all Questions"),
294
303
  variables: processField((_d2 = (_c2 = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _c2.mappedFields) == null ? void 0 : _d2.variables, "Select all Variables"),
@@ -297,9 +306,14 @@ const useMappingData = ({
297
306
  "Select all Contact Properties"
298
307
  ),
299
308
  expressions: processField((_h = (_g2 = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _g2.mappedFields) == null ? void 0 : _h.expressions, "Select all Expressions"),
300
- property: ensureSubmissionIdEnabled(processField((_j = (_i = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _i.mappedFields) == null ? void 0 : _j.property, "Select all Properties")),
309
+ property: ensureSubmissionIdEnabled(
310
+ processField(
311
+ (_k = mapping_helpers.stripResponsePdfProperty((_j = (_i = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _i.mappedFields) == null ? void 0 : _j.property, omitResponsePdf)) != null ? _k : [],
312
+ "Select all Properties"
313
+ )
314
+ ),
301
315
  derivedQuestions: processField(
302
- (_l = (_k = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _k.mappedFields) == null ? void 0 : _l.derivedQuestions,
316
+ (_m = (_l = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _l.mappedFields) == null ? void 0 : _m.derivedQuestions,
303
317
  "Select all Enrich"
304
318
  )
305
319
  };
@@ -312,13 +326,14 @@ const useMappingData = ({
312
326
  setSSMappingData((prevData) => {
313
327
  var _a3, _b2, _c2, _d2, _e2, _f2;
314
328
  const hasAllId = (arr) => arr == null ? void 0 : arr.some((item) => item.id === "ALL");
329
+ const strippedPrevProperty = mapping_helpers.stripResponsePdfProperty(prevData == null ? void 0 : prevData.property, omitResponsePdf);
315
330
  const newData = {
316
331
  questions: hasAllId(prevData == null ? void 0 : prevData.questions) ? prevData == null ? void 0 : prevData.questions : ((_a3 = prevData == null ? void 0 : prevData.questions) == null ? void 0 : _a3.length) ? modifiedMappingData(prevData == null ? void 0 : prevData.questions, "Select all Questions") : [],
317
332
  variables: hasAllId(prevData == null ? void 0 : prevData.variables) ? prevData == null ? void 0 : prevData.variables : ((_b2 = prevData == null ? void 0 : prevData.variables) == null ? void 0 : _b2.length) ? modifiedMappingData(prevData == null ? void 0 : prevData.variables, "Select all Variables") : [],
318
333
  contactProperties: hasAllId(prevData == null ? void 0 : prevData.contactProperties) ? prevData == null ? void 0 : prevData.contactProperties : ((_c2 = prevData == null ? void 0 : prevData.contactProperties) == null ? void 0 : _c2.length) ? modifiedMappingData(prevData == null ? void 0 : prevData.contactProperties, "Select all Contact Properties") : [],
319
334
  expressions: hasAllId(prevData == null ? void 0 : prevData.expressions) ? prevData == null ? void 0 : prevData.expressions : ((_d2 = prevData == null ? void 0 : prevData.expressions) == null ? void 0 : _d2.length) ? modifiedMappingData(prevData == null ? void 0 : prevData.expressions, "Select all Expressions") : [],
320
335
  property: ensureSubmissionIdEnabled(
321
- hasAllId(prevData == null ? void 0 : prevData.property) ? prevData == null ? void 0 : prevData.property : ((_e2 = prevData == null ? void 0 : prevData.property) == null ? void 0 : _e2.length) ? modifiedMappingData(prevData == null ? void 0 : prevData.property, "Select all Properties") : []
336
+ hasAllId(prevData == null ? void 0 : prevData.property) ? (_e2 = strippedPrevProperty != null ? strippedPrevProperty : prevData == null ? void 0 : prevData.property) != null ? _e2 : [] : (strippedPrevProperty == null ? void 0 : strippedPrevProperty.length) ? modifiedMappingData(strippedPrevProperty, "Select all Properties") : []
322
337
  ),
323
338
  derivedQuestions: hasAllId(prevData == null ? void 0 : prevData.derivedQuestions) ? prevData == null ? void 0 : prevData.derivedQuestions : ((_f2 = prevData == null ? void 0 : prevData.derivedQuestions) == null ? void 0 : _f2.length) ? modifiedMappingData(prevData == null ? void 0 : prevData.derivedQuestions, "Select all Enrich") : []
324
339
  };
@@ -329,7 +344,7 @@ const useMappingData = ({
329
344
  });
330
345
  }
331
346
  }
332
- }, [(_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.importMethod]);
347
+ }, [(_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.importMethod, hasResponsePDF]);
333
348
  const handleMappingDataChange = React.useCallback(
334
349
  (mappingData) => {
335
350
  var _a2;
@@ -1 +1 @@
1
- {"version":3,"file":"use-mapping-data.js","sources":["../../../../src/dynamic-mapping/hooks/use-mapping-data.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useEffect, useCallback, useMemo } from 'react';\nimport {\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchContactProperties,\n fetchSurveyExpression,\n} from '../../mapping/services';\nimport { surveySparrowURL, mappingPropertyValues } from '../../commons/constants';\nimport {\n processFieldForMapping,\n updateFieldEnabledState,\n organizeQuestionsWithHierarchy,\n updateFieldEnabledStateWithHierarchy,\n} from '../helpers';\nimport { MappingData } from '../../commons/types/enhanced';\n\n/* ----- Types / Interfaces ----- */\n\ninterface UseMappingDataProps {\n surveyId: string | number;\n apiURL?: string;\n token?: string;\n surveyProperties?: any;\n importResponse: any;\n editField?: any;\n setIsInitialLoad: (value: boolean) => void;\n setOriginalMappingData: (value: MappingData) => void;\n ssMappingData?: MappingData;\n setSSMappingData?: React.Dispatch<React.SetStateAction<MappingData>>;\n}\n\ninterface UseMappingDataReturn {\n loader: boolean;\n searchInput: string;\n setSearchInput: React.Dispatch<React.SetStateAction<string>>;\n ssMappingData: MappingData;\n setSSMappingData: React.Dispatch<React.SetStateAction<MappingData>>;\n handleFieldValues: (type: string, id: string | number, value: boolean) => void;\n getMappingCount: (mappingField: string) => number;\n getAllMappingCount: (mappingField: string) => number;\n isApiData: boolean;\n}\n\n/* ----- Main Hook ----- */\n\n/**\n * Custom hook to manage mapping data fetching and state\n * \n * @param {UseMappingDataProps} props - Props for mapping data\n * @returns {UseMappingDataReturn} State and handlers for mapping data\n * \n * @example\n * const { ssMappingData, handleFieldValues } = useMappingData({\n * surveyId,\n * token,\n * importResponse,\n * });\n */\nexport const useMappingData = ({\n surveyId,\n apiURL = surveySparrowURL,\n token,\n surveyProperties,\n importResponse,\n editField,\n setIsInitialLoad,\n setOriginalMappingData,\n ssMappingData: externalSsMappingData,\n setSSMappingData: externalSetSSMappingData,\n}: UseMappingDataProps): UseMappingDataReturn => {\n const [loader, setLoader] = useState(true);\n const [searchInput, setSearchInput] = useState('');\n const [isApiData, setIsApiData] = useState(false);\n \n // Use external state if provided, otherwise use internal state\n const [internalSsMappingData, internalSetSSMappingData] = useState<MappingData>({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n property: [],\n derivedQuestions: [],\n });\n\n const ssMappingData = externalSsMappingData ?? internalSsMappingData;\n const setSSMappingData = externalSetSSMappingData ?? internalSetSSMappingData;\n\n const modifiedMappingData = useCallback(\n (mappingData: any, commonLabel: string, isEnabled: boolean = false) => {\n const fields = mappingData.map((data: any) => ({\n ...data,\n id: data?.id ?? data?.name,\n name: data?.rtxt ?? data?.name,\n isEnabled: data?.isEnabled ?? false,\n }));\n fields.unshift({ id: 'ALL', name: commonLabel, isEnabled });\n return fields;\n },\n []\n );\n\n const fetchInitialMappingData = useCallback(async () => {\n setLoader(true);\n try {\n if (surveyProperties) {\n // Data from surveyProperties - no hierarchy processing needed\n setIsApiData(false);\n const { questions, variables, contactProperties, expressions, property, derivedQuestions } =\n surveyProperties;\n setSSMappingData({\n questions: questions?.length\n ? modifiedMappingData(questions, 'Select all Questions')\n : [],\n contactProperties: contactProperties?.length\n ? modifiedMappingData(contactProperties, 'Select all Contact Properties')\n : [],\n variables: variables?.length ? modifiedMappingData(variables, 'Select all Variables') : [],\n expressions: expressions?.length\n ? modifiedMappingData(expressions, 'Select all Expressions')\n : [],\n property: property?.length ? modifiedMappingData(property, 'Select all Properties') : [],\n derivedQuestions: derivedQuestions?.length\n ? modifiedMappingData(derivedQuestions, 'Select all Enrich')\n : [],\n });\n } else {\n // Data from API - apply hierarchy processing for questions\n setIsApiData(true);\n const [questions, variables, contactProperties, expressions] = await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token),\n ]);\n \n // Organize questions with parent-child hierarchy\n const organizedQuestions = organizeQuestionsWithHierarchy(questions || []);\n \n setSSMappingData({\n questions: organizedQuestions?.length\n ? modifiedMappingData(organizedQuestions, 'Select all Questions')\n : [],\n contactProperties: contactProperties?.length\n ? modifiedMappingData(contactProperties, 'Select all Contact Properties')\n : [],\n variables: variables?.length ? modifiedMappingData(variables, 'Select all Variables') : [],\n expressions: expressions?.length\n ? modifiedMappingData(expressions, 'Select all Expressions')\n : [],\n property: mappingPropertyValues?.length\n ? modifiedMappingData(mappingPropertyValues, 'Select all Properties')\n : [],\n derivedQuestions: [],\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n }, [surveyId, apiURL, token, surveyProperties, modifiedMappingData]);\n\n /**\n * Fetches data from API and merges with enabled states from edit data\n * Used in edit flow when token and apiURL are available\n */\n const fetchAndMergeEditData = useCallback(async () => {\n setLoader(true);\n try {\n // 1. Fetch fresh data from API\n const [questions, variables, contactProperties, expressions] = await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token),\n ]);\n\n // 2. Organize questions with parent-child hierarchy\n const organizedQuestions = organizeQuestionsWithHierarchy(questions || []);\n\n // 3. Get enabled IDs from edit data (mappedFields or surveyProperties)\n const editMappedFields = editField?.fieldValues?.mappedFields;\n const getEnabledIds = (fields: any[]) => {\n if (!fields?.length) return new Set<any>();\n return new Set(\n fields\n .filter((f) => f.isEnabled)\n .map((f) => f.id ?? f.name)\n );\n };\n\n const enabledQuestionIds = getEnabledIds(editMappedFields?.questions || surveyProperties?.questions);\n const enabledVariableIds = getEnabledIds(editMappedFields?.variables || surveyProperties?.variables);\n const enabledContactPropertyIds = getEnabledIds(editMappedFields?.contactProperties || surveyProperties?.contactProperties);\n const enabledExpressionIds = getEnabledIds(editMappedFields?.expressions || surveyProperties?.expressions);\n const enabledPropertyIds = getEnabledIds(editMappedFields?.property || surveyProperties?.property);\n const enabledDerivedQuestionIds = getEnabledIds(editMappedFields?.derivedQuestions || surveyProperties?.derivedQuestions);\n\n // 4. Merge: apply isEnabled based on edit data\n const mergeWithEnabled = (apiData: any[], enabledIds: Set<any>, label: string) => {\n if (!apiData?.length) return [];\n const merged = apiData.map((item) => ({\n ...item,\n isEnabled: enabledIds.has(item.id) || enabledIds.has(item.name),\n }));\n const allEnabled = merged.every((m) => m.isEnabled);\n return modifiedMappingData(merged, label, allEnabled);\n };\n\n // 5. Set data with isApiData = true for hierarchy support\n setIsApiData(true);\n const updatedSSMappingData = {\n questions: mergeWithEnabled(organizedQuestions, enabledQuestionIds, 'Select all Questions'),\n variables: mergeWithEnabled(variables || [], enabledVariableIds, 'Select all Variables'),\n contactProperties: mergeWithEnabled(contactProperties || [], enabledContactPropertyIds, 'Select all Contact Properties'),\n expressions: mergeWithEnabled(expressions || [], enabledExpressionIds, 'Select all Expressions'),\n property: mergeWithEnabled(mappingPropertyValues || [], enabledPropertyIds, 'Select all Properties'),\n derivedQuestions: [], // Enrich not available from API\n };\n \n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } catch (error) {\n console.error('Error fetching and merging edit data:', error);\n // Fallback to existing behavior on error\n const { fieldValues: { mappedFields } } = editField;\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some((item) => item.id === 'ALL')) return field;\n return modifiedMappingData(field, label, field.every((item) => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields?.questions, 'Select all Questions'),\n variables: processField(mappedFields?.variables, 'Select all Variables'),\n contactProperties: processField(mappedFields?.contactProperties, 'Select all Contact Properties'),\n expressions: processField(mappedFields?.expressions, 'Select all Expressions'),\n property: processField(mappedFields?.property, 'Select all Properties'),\n derivedQuestions: processField(mappedFields?.derivedQuestions, 'Select all Enrich'),\n };\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } finally {\n setLoader(false);\n }\n }, [apiURL, surveyId, token, editField, surveyProperties, modifiedMappingData, setSSMappingData, setOriginalMappingData]);\n\n const handleFieldValues = useCallback(\n (type: string, id: string | number, value: boolean) => {\n // Use hierarchical update for questions when data is from API\n const useHierarchy = type === 'questions' && isApiData;\n const updatedFields = updateFieldEnabledStateWithHierarchy(\n ssMappingData[type as keyof MappingData],\n id,\n value,\n useHierarchy\n );\n const mappedFields = {\n ...ssMappingData,\n [type]: updatedFields,\n };\n setSSMappingData(mappedFields);\n importResponse.onChangeHandler({\n id: 'mappedFields',\n value: mappedFields,\n });\n },\n [ssMappingData, importResponse, isApiData]\n );\n\n const getMappingCount = useCallback(\n (mappingField: string) => {\n const mappedField = ssMappingData[mappingField as keyof MappingData];\n return mappedField?.filter((field: any) => field?.id !== 'ALL' && field.isEnabled).length || 0;\n },\n [ssMappingData]\n );\n\n const getAllMappingCount = useCallback(\n (mappingField: string) => {\n const mappedField = ssMappingData[mappingField as keyof MappingData];\n return mappedField?.length || 0;\n },\n [ssMappingData]\n );\n\n /**\n * Ensures SUBMISSION_ID property is enabled, disabled and has tooltip when in SELECTED_DATA mode\n */\n const ensureSubmissionIdEnabled = useCallback((propertyFields: any[]) => {\n if (!propertyFields?.length) return propertyFields;\n return propertyFields.map((field: any) => {\n if (field.id === 'SUBMISSION_ID') {\n return {\n ...field,\n isEnabled: true,\n disabled: true,\n tooltip: 'This is a mandatory field',\n };\n }\n return field;\n });\n }, []);\n\n useEffect(() => {\n if (!editField?.id) {\n fetchInitialMappingData();\n } else if (editField?.id) {\n // Edit flow - check if we should fetch from API for hierarchy support\n const shouldFetchFromApi = !!token && !!apiURL;\n \n if (shouldFetchFromApi) {\n // Fetch from API and merge with enabled states from edit data\n // This ensures parent-child hierarchy metadata is available\n fetchAndMergeEditData();\n } else {\n // Fallback: use existing behavior when token/apiURL not available\n const { fieldValues: { mappedFields } } = editField;\n if (importResponse?.value?.importMethod === 'SELECTED_DATA') {\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some((item) => item.id === 'ALL')) return field;\n return modifiedMappingData(field, label, field.every((item) => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields?.questions, 'Select all Questions'),\n variables: processField(mappedFields?.variables, 'Select all Variables'),\n contactProperties: processField(\n mappedFields?.contactProperties,\n 'Select all Contact Properties'\n ),\n expressions: processField(mappedFields?.expressions, 'Select all Expressions'),\n property: ensureSubmissionIdEnabled(processField(mappedFields?.property, 'Select all Properties')),\n derivedQuestions: processField(mappedFields?.derivedQuestions, 'Select all Enrich'),\n };\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } else {\n const { questions, variables, contactProperties, expressions, property, derivedQuestions } =\n surveyProperties || {};\n const updatedSSMappingData = {\n questions: questions?.length ? questions : [],\n contactProperties: contactProperties?.length ? contactProperties : [],\n variables: variables?.length ? variables : [],\n expressions: expressions?.length ? expressions : [],\n property: property?.length ? property : [],\n derivedQuestions: derivedQuestions?.length ? derivedQuestions : [],\n };\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n }\n setLoader(false);\n }\n }\n setIsInitialLoad(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [token, surveyId]);\n\n useEffect(() => {\n const importMethod = importResponse?.value?.importMethod;\n \n if (importMethod === 'SELECTED_DATA') {\n if (editField?.id) {\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some((item) => item.id === 'ALL')) return field;\n return modifiedMappingData(field, label, field.every((item) => item.isEnabled));\n };\n \n setSSMappingData((prevData) => {\n const newData = {\n questions: processField(editField?.fieldValues?.mappedFields?.questions, 'Select all Questions'),\n variables: processField(editField?.fieldValues?.mappedFields?.variables, 'Select all Variables'),\n contactProperties: processField(\n editField?.fieldValues?.mappedFields?.contactProperties,\n 'Select all Contact Properties'\n ),\n expressions: processField(editField?.fieldValues?.mappedFields?.expressions, 'Select all Expressions'),\n property: ensureSubmissionIdEnabled(processField(editField?.fieldValues?.mappedFields?.property, 'Select all Properties')),\n derivedQuestions: processField(\n editField?.fieldValues?.mappedFields?.derivedQuestions,\n 'Select all Enrich'\n ),\n };\n \n // Only update if data actually changed\n if (JSON.stringify(prevData) === JSON.stringify(newData)) {\n return prevData;\n }\n return newData;\n });\n } else {\n setSSMappingData((prevData) => {\n const hasAllId = (arr: any[]) => arr?.some((item: any) => item.id === 'ALL');\n \n const newData = {\n questions: hasAllId(prevData?.questions)\n ? prevData?.questions\n : prevData?.questions?.length\n ? modifiedMappingData(prevData?.questions, 'Select all Questions')\n : [],\n variables: hasAllId(prevData?.variables)\n ? prevData?.variables\n : prevData?.variables?.length\n ? modifiedMappingData(prevData?.variables, 'Select all Variables')\n : [],\n contactProperties: hasAllId(prevData?.contactProperties)\n ? prevData?.contactProperties\n : prevData?.contactProperties?.length\n ? modifiedMappingData(prevData?.contactProperties, 'Select all Contact Properties')\n : [],\n expressions: hasAllId(prevData?.expressions)\n ? prevData?.expressions\n : prevData?.expressions?.length\n ? modifiedMappingData(prevData?.expressions, 'Select all Expressions')\n : [],\n property: ensureSubmissionIdEnabled(\n hasAllId(prevData?.property)\n ? prevData?.property\n : prevData?.property?.length\n ? modifiedMappingData(prevData?.property, 'Select all Properties')\n : []\n ),\n derivedQuestions: hasAllId(prevData?.derivedQuestions)\n ? prevData?.derivedQuestions\n : prevData?.derivedQuestions?.length\n ? modifiedMappingData(prevData?.derivedQuestions, 'Select all Enrich')\n : [],\n };\n \n // Only update if data actually changed\n if (JSON.stringify(prevData) === JSON.stringify(newData)) {\n return prevData;\n }\n return newData;\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [importResponse?.value?.importMethod]);\n\n // Memoize the onChangeHandler to prevent unnecessary re-renders\n const handleMappingDataChange = useCallback(\n (mappingData: MappingData) => {\n if (!importResponse?.onChangeHandler) return;\n \n const importMethod = importResponse?.value?.importMethod;\n \n if (importMethod === 'SEND_ALL_DATA') {\n const updatedFieldValues = Object.keys(mappingData).reduce((acc: any, key: any) => {\n acc[key] = mappingData[key as keyof MappingData].map((field: any) => {\n if (field?.id !== 'ALL') {\n return { ...field, isEnabled: true };\n }\n return field;\n });\n return acc;\n }, {});\n \n importResponse.onChangeHandler({\n id: 'mappedFields',\n value: updatedFieldValues,\n });\n } else if (importMethod === 'SELECTED_DATA') {\n importResponse.onChangeHandler({\n id: 'mappedFields',\n value: mappingData,\n });\n }\n },\n [importResponse]\n );\n\n useEffect(() => {\n if (\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length\n ) {\n handleMappingDataChange(ssMappingData);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n ssMappingData?.questions?.length,\n ssMappingData?.variables?.length,\n ssMappingData?.contactProperties?.length,\n ssMappingData?.expressions?.length,\n ssMappingData?.property?.length,\n importResponse?.value?.importMethod,\n ]);\n\n return {\n loader,\n searchInput,\n setSearchInput,\n ssMappingData,\n setSSMappingData,\n handleFieldValues,\n getMappingCount,\n getAllMappingCount,\n isApiData,\n };\n};\n"],"names":["surveySparrowURL","useState","useCallback","_a","_b","_c","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","organizeQuestionsWithHierarchy","mappingPropertyValues","updateFieldEnabledStateWithHierarchy","useEffect","_d","_e","_f","_g"],"mappings":"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"}
1
+ {"version":3,"file":"use-mapping-data.js","sources":["../../../../src/dynamic-mapping/hooks/use-mapping-data.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useEffect, useCallback, useMemo } from 'react';\nimport {\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchContactProperties,\n fetchSurveyExpression,\n} from '../../mapping/services';\nimport { surveySparrowURL, mappingPropertyValues } from '../../commons/constants';\nimport {\n processFieldForMapping,\n updateFieldEnabledState,\n organizeQuestionsWithHierarchy,\n updateFieldEnabledStateWithHierarchy,\n stripResponsePdfProperty,\n} from '../helpers';\nimport { MappingData } from '../../commons/types/enhanced';\n\n/* ----- Types / Interfaces ----- */\n\ninterface UseMappingDataProps {\n surveyId: string | number;\n apiURL?: string;\n token?: string;\n surveyProperties?: any;\n importResponse: any;\n editField?: any;\n setIsInitialLoad: (value: boolean) => void;\n setOriginalMappingData: (value: MappingData) => void;\n ssMappingData?: MappingData;\n setSSMappingData?: React.Dispatch<React.SetStateAction<MappingData>>;\n /** When true, includes RESPONSE_PDF; when omitted or false, it is hidden. */\n hasResponsePDF?: boolean;\n}\n\ninterface UseMappingDataReturn {\n loader: boolean;\n searchInput: string;\n setSearchInput: React.Dispatch<React.SetStateAction<string>>;\n ssMappingData: MappingData;\n setSSMappingData: React.Dispatch<React.SetStateAction<MappingData>>;\n handleFieldValues: (type: string, id: string | number, value: boolean) => void;\n getMappingCount: (mappingField: string) => number;\n getAllMappingCount: (mappingField: string) => number;\n isApiData: boolean;\n}\n\n/* ----- Main Hook ----- */\n\n/**\n * Custom hook to manage mapping data fetching and state\n * \n * @param {UseMappingDataProps} props - Props for mapping data\n * @returns {UseMappingDataReturn} State and handlers for mapping data\n * \n * @example\n * const { ssMappingData, handleFieldValues } = useMappingData({\n * surveyId,\n * token,\n * importResponse,\n * });\n */\nexport const useMappingData = ({\n surveyId,\n apiURL = surveySparrowURL,\n token,\n surveyProperties,\n importResponse,\n editField,\n setIsInitialLoad,\n setOriginalMappingData,\n ssMappingData: externalSsMappingData,\n setSSMappingData: externalSetSSMappingData,\n hasResponsePDF,\n}: UseMappingDataProps): UseMappingDataReturn => {\n const omitResponsePdf = hasResponsePDF !== true;\n\n const baseMappingPropertyValues = useMemo(\n () =>\n omitResponsePdf\n ? mappingPropertyValues.filter((p) => p.id !== 'RESPONSE_PDF')\n : mappingPropertyValues,\n [omitResponsePdf]\n );\n const [loader, setLoader] = useState(true);\n const [searchInput, setSearchInput] = useState('');\n const [isApiData, setIsApiData] = useState(false);\n \n // Use external state if provided, otherwise use internal state\n const [internalSsMappingData, internalSetSSMappingData] = useState<MappingData>({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n property: [],\n derivedQuestions: [],\n });\n\n const ssMappingData = externalSsMappingData ?? internalSsMappingData;\n const setSSMappingData = externalSetSSMappingData ?? internalSetSSMappingData;\n\n const modifiedMappingData = useCallback(\n (mappingData: any, commonLabel: string, isEnabled: boolean = false) => {\n const fields = mappingData.map((data: any) => ({\n ...data,\n id: data?.id ?? data?.name,\n name: data?.rtxt ?? data?.name,\n isEnabled: data?.isEnabled ?? false,\n }));\n fields.unshift({ id: 'ALL', name: commonLabel, isEnabled });\n return fields;\n },\n []\n );\n\n const fetchInitialMappingData = useCallback(async () => {\n setLoader(true);\n try {\n if (surveyProperties) {\n // Data from surveyProperties - no hierarchy processing needed\n setIsApiData(false);\n const { questions, variables, contactProperties, expressions, property, derivedQuestions } =\n surveyProperties;\n const propertyForMapping = stripResponsePdfProperty(property, omitResponsePdf);\n setSSMappingData({\n questions: questions?.length\n ? modifiedMappingData(questions, 'Select all Questions')\n : [],\n contactProperties: contactProperties?.length\n ? modifiedMappingData(contactProperties, 'Select all Contact Properties')\n : [],\n variables: variables?.length ? modifiedMappingData(variables, 'Select all Variables') : [],\n expressions: expressions?.length\n ? modifiedMappingData(expressions, 'Select all Expressions')\n : [],\n property: propertyForMapping?.length\n ? modifiedMappingData(propertyForMapping, 'Select all Properties')\n : [],\n derivedQuestions: derivedQuestions?.length\n ? modifiedMappingData(derivedQuestions, 'Select all Enrich')\n : [],\n });\n } else {\n // Data from API - apply hierarchy processing for questions\n setIsApiData(true);\n const [questions, variables, contactProperties, expressions] = await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token),\n ]);\n \n // Organize questions with parent-child hierarchy\n const organizedQuestions = organizeQuestionsWithHierarchy(questions || []);\n \n setSSMappingData({\n questions: organizedQuestions?.length\n ? modifiedMappingData(organizedQuestions, 'Select all Questions')\n : [],\n contactProperties: contactProperties?.length\n ? modifiedMappingData(contactProperties, 'Select all Contact Properties')\n : [],\n variables: variables?.length ? modifiedMappingData(variables, 'Select all Variables') : [],\n expressions: expressions?.length\n ? modifiedMappingData(expressions, 'Select all Expressions')\n : [],\n property: baseMappingPropertyValues?.length\n ? modifiedMappingData(baseMappingPropertyValues, 'Select all Properties')\n : [],\n derivedQuestions: [],\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n }, [surveyId, apiURL, token, surveyProperties, modifiedMappingData, omitResponsePdf, baseMappingPropertyValues]);\n\n /**\n * Fetches data from API and merges with enabled states from edit data\n * Used in edit flow when token and apiURL are available\n */\n const fetchAndMergeEditData = useCallback(async () => {\n setLoader(true);\n try {\n // 1. Fetch fresh data from API\n const [questions, variables, contactProperties, expressions] = await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token),\n ]);\n\n // 2. Organize questions with parent-child hierarchy\n const organizedQuestions = organizeQuestionsWithHierarchy(questions || []);\n\n // 3. Get enabled IDs from edit data (mappedFields or surveyProperties)\n const editMappedFields = editField?.fieldValues?.mappedFields;\n const getEnabledIds = (fields: any[]) => {\n if (!fields?.length) return new Set<any>();\n return new Set(\n fields\n .filter((f) => f.isEnabled)\n .map((f) => f.id ?? f.name)\n );\n };\n\n const enabledQuestionIds = getEnabledIds(editMappedFields?.questions || surveyProperties?.questions);\n const enabledVariableIds = getEnabledIds(editMappedFields?.variables || surveyProperties?.variables);\n const enabledContactPropertyIds = getEnabledIds(editMappedFields?.contactProperties || surveyProperties?.contactProperties);\n const enabledExpressionIds = getEnabledIds(editMappedFields?.expressions || surveyProperties?.expressions);\n const enabledPropertyIds = getEnabledIds(editMappedFields?.property || surveyProperties?.property);\n const enabledDerivedQuestionIds = getEnabledIds(editMappedFields?.derivedQuestions || surveyProperties?.derivedQuestions);\n\n // 4. Merge: apply isEnabled based on edit data\n const mergeWithEnabled = (apiData: any[], enabledIds: Set<any>, label: string) => {\n if (!apiData?.length) return [];\n const merged = apiData.map((item) => ({\n ...item,\n isEnabled: enabledIds.has(item.id) || enabledIds.has(item.name),\n }));\n const allEnabled = merged.every((m) => m.isEnabled);\n return modifiedMappingData(merged, label, allEnabled);\n };\n\n // 5. Set data with isApiData = true for hierarchy support\n setIsApiData(true);\n const updatedSSMappingData = {\n questions: mergeWithEnabled(organizedQuestions, enabledQuestionIds, 'Select all Questions'),\n variables: mergeWithEnabled(variables || [], enabledVariableIds, 'Select all Variables'),\n contactProperties: mergeWithEnabled(contactProperties || [], enabledContactPropertyIds, 'Select all Contact Properties'),\n expressions: mergeWithEnabled(expressions || [], enabledExpressionIds, 'Select all Expressions'),\n property: mergeWithEnabled(baseMappingPropertyValues || [], enabledPropertyIds, 'Select all Properties'),\n derivedQuestions: [], // Enrich not available from API\n };\n \n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } catch (error) {\n console.error('Error fetching and merging edit data:', error);\n // Fallback to existing behavior on error\n const { fieldValues: { mappedFields } } = editField;\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some((item) => item.id === 'ALL')) return field;\n return modifiedMappingData(field, label, field.every((item) => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields?.questions, 'Select all Questions'),\n variables: processField(mappedFields?.variables, 'Select all Variables'),\n contactProperties: processField(mappedFields?.contactProperties, 'Select all Contact Properties'),\n expressions: processField(mappedFields?.expressions, 'Select all Expressions'),\n property: processField(stripResponsePdfProperty(mappedFields?.property, omitResponsePdf) ?? [], 'Select all Properties'),\n derivedQuestions: processField(mappedFields?.derivedQuestions, 'Select all Enrich'),\n };\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } finally {\n setLoader(false);\n }\n }, [apiURL, surveyId, token, editField, surveyProperties, modifiedMappingData, setSSMappingData, setOriginalMappingData, omitResponsePdf, baseMappingPropertyValues]);\n\n const handleFieldValues = useCallback(\n (type: string, id: string | number, value: boolean) => {\n // Use hierarchical update for questions when data is from API\n const useHierarchy = type === 'questions' && isApiData;\n const updatedFields = updateFieldEnabledStateWithHierarchy(\n ssMappingData[type as keyof MappingData],\n id,\n value,\n useHierarchy\n );\n const mappedFields = {\n ...ssMappingData,\n [type]: updatedFields,\n };\n setSSMappingData(mappedFields);\n importResponse.onChangeHandler({\n id: 'mappedFields',\n value: mappedFields,\n });\n },\n [ssMappingData, importResponse, isApiData]\n );\n\n const getMappingCount = useCallback(\n (mappingField: string) => {\n const mappedField = ssMappingData[mappingField as keyof MappingData];\n return mappedField?.filter((field: any) => field?.id !== 'ALL' && field.isEnabled).length || 0;\n },\n [ssMappingData]\n );\n\n const getAllMappingCount = useCallback(\n (mappingField: string) => {\n const mappedField = ssMappingData[mappingField as keyof MappingData];\n return mappedField?.length || 0;\n },\n [ssMappingData]\n );\n\n /**\n * Ensures SUBMISSION_ID property is enabled, disabled and has tooltip when in SELECTED_DATA mode\n */\n const ensureSubmissionIdEnabled = useCallback((propertyFields: any[]) => {\n if (!propertyFields?.length) return propertyFields;\n return propertyFields.map((field: any) => {\n if (field.id === 'SUBMISSION_ID') {\n return {\n ...field,\n isEnabled: true,\n disabled: true,\n tooltip: 'This is a mandatory field',\n };\n }\n return field;\n });\n }, []);\n\n useEffect(() => {\n if (!editField?.id) {\n fetchInitialMappingData();\n } else if (editField?.id) {\n // Edit flow - check if we should fetch from API for hierarchy support\n const shouldFetchFromApi = !!token && !!apiURL;\n \n if (shouldFetchFromApi) {\n // Fetch from API and merge with enabled states from edit data\n // This ensures parent-child hierarchy metadata is available\n fetchAndMergeEditData();\n } else {\n // Fallback: use existing behavior when token/apiURL not available\n const { fieldValues: { mappedFields } } = editField;\n if (importResponse?.value?.importMethod === 'SELECTED_DATA') {\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some((item) => item.id === 'ALL')) return field;\n return modifiedMappingData(field, label, field.every((item) => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields?.questions, 'Select all Questions'),\n variables: processField(mappedFields?.variables, 'Select all Variables'),\n contactProperties: processField(\n mappedFields?.contactProperties,\n 'Select all Contact Properties'\n ),\n expressions: processField(mappedFields?.expressions, 'Select all Expressions'),\n property: ensureSubmissionIdEnabled(\n processField(stripResponsePdfProperty(mappedFields?.property, omitResponsePdf) ?? [], 'Select all Properties')\n ),\n derivedQuestions: processField(mappedFields?.derivedQuestions, 'Select all Enrich'),\n };\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } else {\n const { questions, variables, contactProperties, expressions, property, derivedQuestions } =\n surveyProperties || {};\n const rawProperty = stripResponsePdfProperty(property, omitResponsePdf);\n const updatedSSMappingData = {\n questions: questions?.length ? questions : [],\n contactProperties: contactProperties?.length ? contactProperties : [],\n variables: variables?.length ? variables : [],\n expressions: expressions?.length ? expressions : [],\n property: rawProperty?.length ? rawProperty : [],\n derivedQuestions: derivedQuestions?.length ? derivedQuestions : [],\n };\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n }\n setLoader(false);\n }\n }\n setIsInitialLoad(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [token, surveyId, hasResponsePDF]);\n\n useEffect(() => {\n const importMethod = importResponse?.value?.importMethod;\n \n if (importMethod === 'SELECTED_DATA') {\n if (editField?.id) {\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some((item) => item.id === 'ALL')) return field;\n return modifiedMappingData(field, label, field.every((item) => item.isEnabled));\n };\n \n setSSMappingData((prevData) => {\n const newData = {\n questions: processField(editField?.fieldValues?.mappedFields?.questions, 'Select all Questions'),\n variables: processField(editField?.fieldValues?.mappedFields?.variables, 'Select all Variables'),\n contactProperties: processField(\n editField?.fieldValues?.mappedFields?.contactProperties,\n 'Select all Contact Properties'\n ),\n expressions: processField(editField?.fieldValues?.mappedFields?.expressions, 'Select all Expressions'),\n property: ensureSubmissionIdEnabled(\n processField(\n stripResponsePdfProperty(editField?.fieldValues?.mappedFields?.property, omitResponsePdf) ?? [],\n 'Select all Properties'\n )\n ),\n derivedQuestions: processField(\n editField?.fieldValues?.mappedFields?.derivedQuestions,\n 'Select all Enrich'\n ),\n };\n\n // Only update if data actually changed\n if (JSON.stringify(prevData) === JSON.stringify(newData)) {\n return prevData;\n }\n return newData;\n });\n } else {\n setSSMappingData((prevData) => {\n const hasAllId = (arr: any[]) => arr?.some((item: any) => item.id === 'ALL');\n const strippedPrevProperty = stripResponsePdfProperty(prevData?.property, omitResponsePdf);\n\n const newData = {\n questions: hasAllId(prevData?.questions)\n ? prevData?.questions\n : prevData?.questions?.length\n ? modifiedMappingData(prevData?.questions, 'Select all Questions')\n : [],\n variables: hasAllId(prevData?.variables)\n ? prevData?.variables\n : prevData?.variables?.length\n ? modifiedMappingData(prevData?.variables, 'Select all Variables')\n : [],\n contactProperties: hasAllId(prevData?.contactProperties)\n ? prevData?.contactProperties\n : prevData?.contactProperties?.length\n ? modifiedMappingData(prevData?.contactProperties, 'Select all Contact Properties')\n : [],\n expressions: hasAllId(prevData?.expressions)\n ? prevData?.expressions\n : prevData?.expressions?.length\n ? modifiedMappingData(prevData?.expressions, 'Select all Expressions')\n : [],\n property: ensureSubmissionIdEnabled(\n hasAllId(prevData?.property)\n ? strippedPrevProperty ?? prevData?.property ?? []\n : strippedPrevProperty?.length\n ? modifiedMappingData(strippedPrevProperty, 'Select all Properties')\n : []\n ),\n derivedQuestions: hasAllId(prevData?.derivedQuestions)\n ? prevData?.derivedQuestions\n : prevData?.derivedQuestions?.length\n ? modifiedMappingData(prevData?.derivedQuestions, 'Select all Enrich')\n : [],\n };\n\n // Only update if data actually changed\n if (JSON.stringify(prevData) === JSON.stringify(newData)) {\n return prevData;\n }\n return newData;\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [importResponse?.value?.importMethod, hasResponsePDF]);\n\n // Memoize the onChangeHandler to prevent unnecessary re-renders\n const handleMappingDataChange = useCallback(\n (mappingData: MappingData) => {\n if (!importResponse?.onChangeHandler) return;\n \n const importMethod = importResponse?.value?.importMethod;\n \n if (importMethod === 'SEND_ALL_DATA') {\n const updatedFieldValues = Object.keys(mappingData).reduce((acc: any, key: any) => {\n acc[key] = mappingData[key as keyof MappingData].map((field: any) => {\n if (field?.id !== 'ALL') {\n return { ...field, isEnabled: true };\n }\n return field;\n });\n return acc;\n }, {});\n \n importResponse.onChangeHandler({\n id: 'mappedFields',\n value: updatedFieldValues,\n });\n } else if (importMethod === 'SELECTED_DATA') {\n importResponse.onChangeHandler({\n id: 'mappedFields',\n value: mappingData,\n });\n }\n },\n [importResponse]\n );\n\n useEffect(() => {\n if (\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length\n ) {\n handleMappingDataChange(ssMappingData);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n ssMappingData?.questions?.length,\n ssMappingData?.variables?.length,\n ssMappingData?.contactProperties?.length,\n ssMappingData?.expressions?.length,\n ssMappingData?.property?.length,\n importResponse?.value?.importMethod,\n ]);\n\n return {\n loader,\n searchInput,\n setSearchInput,\n ssMappingData,\n setSSMappingData,\n handleFieldValues,\n getMappingCount,\n getAllMappingCount,\n isApiData,\n };\n};\n"],"names":["surveySparrowURL","useMemo","mappingPropertyValues","useState","useCallback","_a","_b","_c","stripResponsePdfProperty","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","organizeQuestionsWithHierarchy","updateFieldEnabledStateWithHierarchy","useEffect","_d","_e","_f","_g"],"mappings":"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"}
@@ -44,7 +44,8 @@ const DynamicMapping = ({
44
44
  mappingConditions,
45
45
  setMappingConditions,
46
46
  conditionData,
47
- conditionDescription
47
+ conditionDescription,
48
+ hasResponsePDF
48
49
  }) => {
49
50
  const {
50
51
  ssMappingData,
@@ -179,7 +180,8 @@ const DynamicMapping = ({
179
180
  mappingConditions,
180
181
  setMappingConditions,
181
182
  conditionData,
182
- conditionDescription
183
+ conditionDescription,
184
+ hasResponsePDF
183
185
  }
184
186
  ))))
185
187
  );
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/dynamic-mapping/index.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo, useCallback } from 'react';\nimport { Box, Flex, ThemeProvider, TooltipProvider } from '@sparrowengg/twigs-react';\nimport { surveySparrowURL } from '../commons/constants';\nimport { Mapping as MultiMapping } from '../mapping/components/mapping';\nimport {\n IntegrationField,\n ConfigurationFieldValue,\n MappingData,\n} from '../commons/types/enhanced';\nimport { FieldType, CustomListFieldType, OldResponseFieldType } from '../mapping/types';\nimport { MappingHeader, ConfigurationSetup, Mapping } from './components';\nimport { useDynamicMappingState, useFieldChanges } from './hooks';\n\n/* ----- Types / Interfaces ----- */\n\ntype DynamicMappingPropsType = {\n forceDisableMappingCTA?: boolean;\n mappingType?: string;\n hasDerivedQuestions?: boolean;\n hasPreviousMapping?: boolean;\n integrationFields: IntegrationField[];\n configuration: {\n currentMappingName?: string;\n setMappingName?: (value: string) => void;\n importOptions: {\n showImportOptions: boolean;\n excludeResponse: {\n id: number | string;\n label: string;\n ifChecked: () => string;\n ifUnchecked: (period: string) => string;\n fieldType: string;\n value: boolean | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n options: Array<{\n id: number | string;\n label: string;\n value: string | null;\n disabled?: boolean;\n description: string;\n type: string | null;\n tooltip?: string;\n minValue?: string;\n maxValue?: string;\n }>;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n hasConfiguration: boolean;\n configuredFields: any;\n configurationFields: Array<{\n id: number | string;\n label: string;\n fieldType: string;\n hasAddNewOption?: boolean;\n tooltip?: string;\n options?: Array<{ label: string; value: string }>;\n value: { label: string; value: string | unknown } | string | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n }>;\n onSaveHandler: any;\n };\n token?: string;\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n apiURL?: string;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n surveyProperties?: any;\n };\n onSaveHandler: (fields: any) => void;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n hasExistingMapping: boolean;\n importResponse: {\n hasImportResponse: boolean;\n value: any;\n onChangeHandler: (value: any) => void;\n };\n editField?: any;\n previousMappingHandler?: (value?: boolean) => void;\n surveyType: string;\n havingTypeDropdown: boolean;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n surveyId: string | number;\n integrationName: string;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasNamingModal?: boolean;\n hasConditions?: boolean;\n mappingConditions?: any;\n setMappingConditions?: (value: any) => void;\n conditionData?: any;\n conditionDescription?: string;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Dynamic mapping component for configuring and mapping integration fields\n * \n * @param {DynamicMappingPropsType} props - Component props\n * @returns {JSX.Element} Dynamic mapping component\n * \n * @example\n * <DynamicMapping\n * integrationFields={fields}\n * configuration={config}\n * surveyDetails={survey}\n * onSaveHandler={handleSave}\n * />\n */\nexport const DynamicMapping = ({\n forceDisableMappingCTA,\n mappingType,\n integrationFields,\n configuration,\n isMappingPage,\n navigateMappingPage,\n setIntegrationFields,\n hasDerivedQuestions,\n token,\n apiURL = surveySparrowURL,\n surveyDetails,\n importResponse,\n hasExistingMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n surveyType,\n havingTypeDropdown,\n fields,\n setFields,\n surveyId,\n integrationName,\n customList,\n oldResponse,\n hasNamingModal,\n hasConditions,\n mappingConditions,\n setMappingConditions,\n conditionData,\n conditionDescription,\n}: DynamicMappingPropsType): JSX.Element => {\n const {\n ssMappingData,\n setSSMappingData,\n isEditConfirmationOpen,\n setIsEditConfirmationOpen,\n originalMappingData,\n setOriginalMappingData,\n originalConfigurationFields,\n setOriginalConfigurationFields,\n originalConfiguredFields,\n setOriginalConfiguredFields,\n originalImportResponse,\n setOriginalImportResponse,\n isInitialLoad,\n setIsInitialLoad,\n essentialFields,\n commonFields,\n } = useDynamicMappingState(fields);\n\n const hasFieldsChanged = useFieldChanges({\n editField,\n originalMappingData,\n ssMappingData,\n originalConfigurationFields,\n configurationFields: configuration.configurationFields,\n originalConfiguredFields,\n configuredFields: configuration.configuredFields,\n originalImportResponse,\n importResponse,\n isInitialLoad,\n });\n\n const handleSaveConfiguration = useCallback(async () => {\n return configuration.onSaveHandler();\n }, [configuration]);\n\n const handleNavigateConfigPage = useCallback(() => {\n navigateMappingPage(false);\n }, [navigateMappingPage]);\n\n const handleSave = useCallback(() => {\n onSaveHandler(editField?.id ? editField : {});\n }, [onSaveHandler, editField]);\n\n const isMultiMapping = useMemo(\n () => mappingType === 'MULTI_MAPPING',\n [mappingType]\n );\n\n const showConfiguration = useMemo(\n () => !isMappingPage && configuration.hasConfiguration,\n [isMappingPage, configuration.hasConfiguration]\n );\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: 'DM Sans, Roboto Mono, sans-serif',\n heading: 'DM Sans, Roboto Mono, sans-serif',\n },\n }}\n >\n <TooltipProvider>\n <Box css={{ width: '100%' }}>\n <MappingHeader\n forceDisableMappingCTA={forceDisableMappingCTA}\n hasNamingModal={hasNamingModal}\n mappingType={mappingType ?? ''}\n isEditConfirmationOpen={isEditConfirmationOpen}\n setIsEditConfirmationOpen={setIsEditConfirmationOpen}\n editField={editField}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n configuration={configuration}\n hasFieldsChanged={hasFieldsChanged}\n saveConfiguration={handleSaveConfiguration}\n isMappingPage={isMappingPage}\n hasExistingMapping={hasExistingMapping}\n navigateConfigPage={handleNavigateConfigPage}\n previousMappingHandler={previousMappingHandler}\n onSaveHandler={handleSave}\n essentialFields={essentialFields}\n commonFields={commonFields}\n />\n\n {showConfiguration ? (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: '$40' }}\n >\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editField}\n />\n </Flex>\n ) : (\n <>\n {isMultiMapping ? (\n <MultiMapping\n hasDerivedQuestions={hasDerivedQuestions}\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n hasConditions={hasConditions}\n mappingConditions={mappingConditions}\n setMappingConditions={setMappingConditions}\n conditionData={conditionData}\n conditionDescription={conditionDescription}\n />\n ) : (\n <Mapping\n setOriginalMappingData={setOriginalMappingData}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n token={token}\n setIsInitialLoad={setIsInitialLoad}\n apiURL={apiURL}\n surveyId={surveyDetails.surveyId}\n surveyProperties={surveyDetails.surveyProperties}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n setSSMappingData={setSSMappingData}\n editField={editField}\n hasConditions={hasConditions}\n mappingConditions={mappingConditions}\n setMappingConditions={setMappingConditions}\n conditionData={conditionData}\n conditionDescription={conditionDescription}\n />\n )}\n </>\n )}\n </Box>\n </TooltipProvider>\n </ThemeProvider>\n );\n};\n"],"names":["surveySparrowURL","useDynamicMappingState","useFieldChanges","useCallback","useMemo","ThemeProvider","TooltipProvider","Box","MappingHeader","Flex","ConfigurationSetup","MultiMapping","Mapping"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/dynamic-mapping/index.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo, useCallback } from 'react';\nimport { Box, Flex, ThemeProvider, TooltipProvider } from '@sparrowengg/twigs-react';\nimport { surveySparrowURL } from '../commons/constants';\nimport { Mapping as MultiMapping } from '../mapping/components/mapping';\nimport {\n IntegrationField,\n ConfigurationFieldValue,\n MappingData,\n} from '../commons/types/enhanced';\nimport { FieldType, CustomListFieldType, OldResponseFieldType } from '../mapping/types';\nimport { MappingHeader, ConfigurationSetup, Mapping } from './components';\nimport { useDynamicMappingState, useFieldChanges } from './hooks';\n\n/* ----- Types / Interfaces ----- */\n\ntype DynamicMappingPropsType = {\n forceDisableMappingCTA?: boolean;\n mappingType?: string;\n hasDerivedQuestions?: boolean;\n hasPreviousMapping?: boolean;\n integrationFields: IntegrationField[];\n configuration: {\n currentMappingName?: string;\n setMappingName?: (value: string) => void;\n importOptions: {\n showImportOptions: boolean;\n excludeResponse: {\n id: number | string;\n label: string;\n ifChecked: () => string;\n ifUnchecked: (period: string) => string;\n fieldType: string;\n value: boolean | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n options: Array<{\n id: number | string;\n label: string;\n value: string | null;\n disabled?: boolean;\n description: string;\n type: string | null;\n tooltip?: string;\n minValue?: string;\n maxValue?: string;\n }>;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n hasConfiguration: boolean;\n configuredFields: any;\n configurationFields: Array<{\n id: number | string;\n label: string;\n fieldType: string;\n hasAddNewOption?: boolean;\n tooltip?: string;\n options?: Array<{ label: string; value: string }>;\n value: { label: string; value: string | unknown } | string | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n }>;\n onSaveHandler: any;\n };\n token?: string;\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n apiURL?: string;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n surveyProperties?: any;\n };\n onSaveHandler: (fields: any) => void;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n hasExistingMapping: boolean;\n importResponse: {\n hasImportResponse: boolean;\n value: any;\n onChangeHandler: (value: any) => void;\n };\n editField?: any;\n previousMappingHandler?: (value?: boolean) => void;\n surveyType: string;\n havingTypeDropdown: boolean;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n surveyId: string | number;\n integrationName: string;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasNamingModal?: boolean;\n hasConditions?: boolean;\n mappingConditions?: any;\n setMappingConditions?: (value: any) => void;\n conditionData?: any;\n conditionDescription?: string;\n /** When true, includes Response PDF in submission properties; when omitted, it is hidden. */\n hasResponsePDF?: boolean;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Dynamic mapping component for configuring and mapping integration fields\n * \n * @param {DynamicMappingPropsType} props - Component props\n * @returns {JSX.Element} Dynamic mapping component\n * \n * @example\n * <DynamicMapping\n * integrationFields={fields}\n * configuration={config}\n * surveyDetails={survey}\n * onSaveHandler={handleSave}\n * />\n */\nexport const DynamicMapping = ({\n forceDisableMappingCTA,\n mappingType,\n integrationFields,\n configuration,\n isMappingPage,\n navigateMappingPage,\n setIntegrationFields,\n hasDerivedQuestions,\n token,\n apiURL = surveySparrowURL,\n surveyDetails,\n importResponse,\n hasExistingMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n surveyType,\n havingTypeDropdown,\n fields,\n setFields,\n surveyId,\n integrationName,\n customList,\n oldResponse,\n hasNamingModal,\n hasConditions,\n mappingConditions,\n setMappingConditions,\n conditionData,\n conditionDescription,\n hasResponsePDF,\n}: DynamicMappingPropsType): JSX.Element => {\n const {\n ssMappingData,\n setSSMappingData,\n isEditConfirmationOpen,\n setIsEditConfirmationOpen,\n originalMappingData,\n setOriginalMappingData,\n originalConfigurationFields,\n setOriginalConfigurationFields,\n originalConfiguredFields,\n setOriginalConfiguredFields,\n originalImportResponse,\n setOriginalImportResponse,\n isInitialLoad,\n setIsInitialLoad,\n essentialFields,\n commonFields,\n } = useDynamicMappingState(fields);\n\n const hasFieldsChanged = useFieldChanges({\n editField,\n originalMappingData,\n ssMappingData,\n originalConfigurationFields,\n configurationFields: configuration.configurationFields,\n originalConfiguredFields,\n configuredFields: configuration.configuredFields,\n originalImportResponse,\n importResponse,\n isInitialLoad,\n });\n\n const handleSaveConfiguration = useCallback(async () => {\n return configuration.onSaveHandler();\n }, [configuration]);\n\n const handleNavigateConfigPage = useCallback(() => {\n navigateMappingPage(false);\n }, [navigateMappingPage]);\n\n const handleSave = useCallback(() => {\n onSaveHandler(editField?.id ? editField : {});\n }, [onSaveHandler, editField]);\n\n const isMultiMapping = useMemo(\n () => mappingType === 'MULTI_MAPPING',\n [mappingType]\n );\n\n const showConfiguration = useMemo(\n () => !isMappingPage && configuration.hasConfiguration,\n [isMappingPage, configuration.hasConfiguration]\n );\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: 'DM Sans, Roboto Mono, sans-serif',\n heading: 'DM Sans, Roboto Mono, sans-serif',\n },\n }}\n >\n <TooltipProvider>\n <Box css={{ width: '100%' }}>\n <MappingHeader\n forceDisableMappingCTA={forceDisableMappingCTA}\n hasNamingModal={hasNamingModal}\n mappingType={mappingType ?? ''}\n isEditConfirmationOpen={isEditConfirmationOpen}\n setIsEditConfirmationOpen={setIsEditConfirmationOpen}\n editField={editField}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n configuration={configuration}\n hasFieldsChanged={hasFieldsChanged}\n saveConfiguration={handleSaveConfiguration}\n isMappingPage={isMappingPage}\n hasExistingMapping={hasExistingMapping}\n navigateConfigPage={handleNavigateConfigPage}\n previousMappingHandler={previousMappingHandler}\n onSaveHandler={handleSave}\n essentialFields={essentialFields}\n commonFields={commonFields}\n />\n\n {showConfiguration ? (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: '$40' }}\n >\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editField}\n />\n </Flex>\n ) : (\n <>\n {isMultiMapping ? (\n <MultiMapping\n hasDerivedQuestions={hasDerivedQuestions}\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n hasConditions={hasConditions}\n mappingConditions={mappingConditions}\n setMappingConditions={setMappingConditions}\n conditionData={conditionData}\n conditionDescription={conditionDescription}\n />\n ) : (\n <Mapping\n setOriginalMappingData={setOriginalMappingData}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n token={token}\n setIsInitialLoad={setIsInitialLoad}\n apiURL={apiURL}\n surveyId={surveyDetails.surveyId}\n surveyProperties={surveyDetails.surveyProperties}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n setSSMappingData={setSSMappingData}\n editField={editField}\n hasConditions={hasConditions}\n mappingConditions={mappingConditions}\n setMappingConditions={setMappingConditions}\n conditionData={conditionData}\n conditionDescription={conditionDescription}\n hasResponsePDF={hasResponsePDF}\n />\n )}\n </>\n )}\n </Box>\n </TooltipProvider>\n </ThemeProvider>\n );\n};\n"],"names":["surveySparrowURL","useDynamicMappingState","useFieldChanges","useCallback","useMemo","ThemeProvider","TooltipProvider","Box","MappingHeader","Flex","ConfigurationSetup","MultiMapping","Mapping"],"mappings":"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"}
@@ -67,7 +67,15 @@ const FilterPill = ({
67
67
  onDelete,
68
68
  showError = false
69
69
  }) => {
70
- var _a, _b, _c, _d, _e, _f, _g;
70
+ var _a, _b, _c, _d, _e, _f, _g, _h;
71
+ const [operatorDismissed, setOperatorDismissed] = React.useState(false);
72
+ const isConnectorMissing = !((_a = filterPillData.connector) == null ? void 0 : _a.value);
73
+ const effectiveShowError = showError && (!isConnectorMissing || operatorDismissed);
74
+ const handleOperatorOpenChange = (open) => {
75
+ if (!open && isConnectorMissing) {
76
+ setOperatorDismissed(true);
77
+ }
78
+ };
71
79
  const onChange = ({
72
80
  selectedProperty,
73
81
  selectorValue
@@ -91,12 +99,14 @@ const FilterPill = ({
91
99
  setFilterPillData(newFilterPillData);
92
100
  }
93
101
  };
94
- return /* @__PURE__ */ React.createElement(tooltip.TooltipProvider, { delayDuration: 0 }, /* @__PURE__ */ React.createElement(StyledFilterPill, { variant: showError ? "error" : variant }, /* @__PURE__ */ React.createElement(FilterPillLabel, { icon, label: filterPillData.property.label, labelProps: { css: { color: "$neutral900" } } }), /* @__PURE__ */ React.createElement(flex.Flex, null, !((_a = filterPillData.connector) == null ? void 0 : _a.value) && /* @__PURE__ */ React.createElement(
102
+ return /* @__PURE__ */ React.createElement(tooltip.TooltipProvider, { delayDuration: 0 }, /* @__PURE__ */ React.createElement(StyledFilterPill, { variant: effectiveShowError ? "error" : variant }, /* @__PURE__ */ React.createElement(FilterPillLabel, { icon, label: filterPillData.property.label, labelProps: { css: { color: "$neutral900" } } }), /* @__PURE__ */ React.createElement(flex.Flex, null, !((_b = filterPillData.connector) == null ? void 0 : _b.value) && /* @__PURE__ */ React.createElement(
95
103
  cascaderDropdown.CascaderDropdown,
96
104
  {
97
105
  data: cascaderDropdownData,
98
106
  selectorValue: filterPillData.value,
99
107
  onChange,
108
+ defaultOpen: true,
109
+ onOpenChange: handleOperatorOpenChange,
100
110
  dropdownContentProps: { align: "start" }
101
111
  },
102
112
  /* @__PURE__ */ React.createElement(StyledValueButton, { css: { borderTopRightRadius: "$lg", borderBottomRightRadius: "$lg" } }, /* @__PURE__ */ React.createElement(
@@ -105,14 +115,14 @@ const FilterPill = ({
105
115
  css: __spreadValues({
106
116
  color: "$neutral700",
107
117
  padding: "3px $4 3px $1"
108
- }, showError && {
118
+ }, effectiveShowError && {
109
119
  color: "$negative700",
110
120
  fontWeight: "$5"
111
121
  })
112
122
  },
113
123
  "Choose Condition"
114
124
  ))
115
- ), ((_b = filterPillData.connector) == null ? void 0 : _b.value) && /* @__PURE__ */ React.createElement(
125
+ ), ((_c = filterPillData.connector) == null ? void 0 : _c.value) && /* @__PURE__ */ React.createElement(
116
126
  cascaderDropdown.CascaderDropdown,
117
127
  {
118
128
  data: cascaderDropdownData,
@@ -120,11 +130,11 @@ const FilterPill = ({
120
130
  onChange,
121
131
  dropdownContentProps: { align: "start" }
122
132
  },
123
- /* @__PURE__ */ React.createElement(StyledValueButton, { css: __spreadValues({}, ((_c = filterPillData.connector) == null ? void 0 : _c.dataType) === "NO_VALUE" && {
133
+ /* @__PURE__ */ React.createElement(StyledValueButton, { css: __spreadValues({}, ((_d = filterPillData.connector) == null ? void 0 : _d.dataType) === "NO_VALUE" && {
124
134
  borderTopRightRadius: "$lg",
125
135
  borderBottomRightRadius: "$lg"
126
- }) }, /* @__PURE__ */ React.createElement(text.Text, { css: { color: "$neutral700", padding: "3px $1 3px $1" } }, (_d = filterPillData.connector) == null ? void 0 : _d.label))
127
- ), ((_e = filterPillData.connector) == null ? void 0 : _e.value) && ((_f = filterPillData.connector) == null ? void 0 : _f.dataType) !== "NO_VALUE" && /* @__PURE__ */ React.createElement(
136
+ }) }, /* @__PURE__ */ React.createElement(text.Text, { css: { color: "$neutral700", padding: "3px $1 3px $1" } }, (_e = filterPillData.connector) == null ? void 0 : _e.label))
137
+ ), ((_f = filterPillData.connector) == null ? void 0 : _f.value) && ((_g = filterPillData.connector) == null ? void 0 : _g.dataType) !== "NO_VALUE" && /* @__PURE__ */ React.createElement(
128
138
  cascaderDropdown.CascaderDropdown,
129
139
  {
130
140
  data: cascaderDropdownData,
@@ -139,12 +149,12 @@ const FilterPill = ({
139
149
  css: __spreadValues({
140
150
  color: "$neutral900",
141
151
  padding: "3px $4 3px $2"
142
- }, showError && {
152
+ }, effectiveShowError && {
143
153
  color: "$negative700"
144
154
  }),
145
155
  weight: "medium"
146
156
  },
147
- (_g = getDisplayValue(filterPillData)) != null ? _g : "Choose Value"
157
+ (_h = getDisplayValue(filterPillData)) != null ? _h : "Choose Value"
148
158
  ))
149
159
  )), /* @__PURE__ */ React.createElement(tooltip.Tooltip, { content: "Remove" }, /* @__PURE__ */ React.createElement(StyledCloseButton, { className: StyledItem.prefixClassName("filter-pill__close-button"), onClick: () => onDelete() }, /* @__PURE__ */ React.createElement(closeCircleFill.CloseCircleFillIcon, { size: 16 })))));
150
160
  };