@sparrowengg/integrations-templates-frontend 1.9.84-beta.11 → 1.9.84-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dynamic-mapping/components/mapping.js +490 -0
- package/dist/cjs/dynamic-mapping/components/mapping.js.map +1 -0
- package/dist/cjs/dynamic-mapping/index.js +1071 -0
- package/dist/cjs/dynamic-mapping/index.js.map +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/dynamic-mapping/components/mapping.js +486 -0
- package/dist/es/dynamic-mapping/components/mapping.js.map +1 -0
- package/dist/es/dynamic-mapping/index.js +1069 -0
- package/dist/es/dynamic-mapping/index.js.map +1 -0
- package/dist/es/index.js +1 -0
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +80 -1
- package/package.json +1 -1
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var index = require('../../commons/constants/index.js');
|
|
7
|
+
var spinner = require('../../commons/components/spinner.js');
|
|
8
|
+
var index$1 = require('../../mapping/services/index.js');
|
|
9
|
+
var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
|
|
10
|
+
var box = require('../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
|
|
11
|
+
var heading = require('../../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js');
|
|
12
|
+
var radio = require('../../node_modules/@sparrowengg/twigs-react/dist/es/radio/radio.js');
|
|
13
|
+
var tabs = require('../../node_modules/@sparrowengg/twigs-react/dist/es/tabs/tabs.js');
|
|
14
|
+
var text = require('../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
|
|
15
|
+
var chip = require('../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js');
|
|
16
|
+
var input = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js');
|
|
17
|
+
var search = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/search.js');
|
|
18
|
+
var checkbox = require('../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js');
|
|
19
|
+
|
|
20
|
+
var __defProp = Object.defineProperty;
|
|
21
|
+
var __defProps = Object.defineProperties;
|
|
22
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
23
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
24
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
25
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
26
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
27
|
+
var __spreadValues = (a, b) => {
|
|
28
|
+
for (var prop in b || (b = {}))
|
|
29
|
+
if (__hasOwnProp.call(b, prop))
|
|
30
|
+
__defNormalProp(a, prop, b[prop]);
|
|
31
|
+
if (__getOwnPropSymbols)
|
|
32
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
33
|
+
if (__propIsEnum.call(b, prop))
|
|
34
|
+
__defNormalProp(a, prop, b[prop]);
|
|
35
|
+
}
|
|
36
|
+
return a;
|
|
37
|
+
};
|
|
38
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
39
|
+
const Mapping = ({
|
|
40
|
+
surveyId,
|
|
41
|
+
apiURL = index.surveySparrowURL,
|
|
42
|
+
token,
|
|
43
|
+
surveyProperties,
|
|
44
|
+
importResponse,
|
|
45
|
+
ssMappingData,
|
|
46
|
+
setSSMappingData,
|
|
47
|
+
editField,
|
|
48
|
+
setIsInitialLoad,
|
|
49
|
+
setOriginalMappingData
|
|
50
|
+
}) => {
|
|
51
|
+
var _a, _b, _c;
|
|
52
|
+
const [loader, setLoader] = React.useState(true);
|
|
53
|
+
const [searchInput, setSearchInput] = React.useState("");
|
|
54
|
+
const [SSMappedFields, setSSMappedFields] = React.useState([]);
|
|
55
|
+
const modifiedMappingData = (mappingData, commonLabel, isEnabled = false) => {
|
|
56
|
+
const fields = mappingData.map((data) => {
|
|
57
|
+
var _a2, _b2, _c2;
|
|
58
|
+
return __spreadProps(__spreadValues({}, data), {
|
|
59
|
+
id: (_a2 = data == null ? void 0 : data.id) != null ? _a2 : data == null ? void 0 : data.name,
|
|
60
|
+
name: (_b2 = data == null ? void 0 : data.rtxt) != null ? _b2 : data == null ? void 0 : data.name,
|
|
61
|
+
isEnabled: (_c2 = data == null ? void 0 : data.isEnabled) != null ? _c2 : false
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
fields.unshift({ id: "ALL", name: commonLabel, isEnabled });
|
|
65
|
+
return fields;
|
|
66
|
+
};
|
|
67
|
+
const fetchInitalMappingData = async () => {
|
|
68
|
+
var _a2;
|
|
69
|
+
setLoader(true);
|
|
70
|
+
try {
|
|
71
|
+
if (surveyProperties) {
|
|
72
|
+
const { questions, variables, contactProperties, expressions, property, derivedQuestions } = surveyProperties;
|
|
73
|
+
setSSMappingData({
|
|
74
|
+
questions: (questions == null ? void 0 : questions.length) ? modifiedMappingData(questions, "Select all Questions") : [],
|
|
75
|
+
contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? modifiedMappingData(
|
|
76
|
+
contactProperties,
|
|
77
|
+
"Select all Contact Properties"
|
|
78
|
+
) : [],
|
|
79
|
+
variables: (variables == null ? void 0 : variables.length) ? modifiedMappingData(variables, "Select all Variables") : [],
|
|
80
|
+
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") : [],
|
|
82
|
+
derivedQuestions: (derivedQuestions == null ? void 0 : derivedQuestions.length) ? modifiedMappingData(derivedQuestions, "Select all Derived Questions") : []
|
|
83
|
+
});
|
|
84
|
+
} else {
|
|
85
|
+
const [questions, variables, contactProperties, expressions] = await Promise.all([
|
|
86
|
+
index$1.fetchSurveyQuestions(apiURL, surveyId, token),
|
|
87
|
+
index$1.fetchSurveyVariables(apiURL, surveyId, token),
|
|
88
|
+
index$1.fetchContactProperties(apiURL, token),
|
|
89
|
+
index$1.fetchSurveyExpression(apiURL, surveyId, token)
|
|
90
|
+
]);
|
|
91
|
+
setSSMappingData({
|
|
92
|
+
questions: (questions == null ? void 0 : questions.length) ? modifiedMappingData(questions, "Select all Questions") : [],
|
|
93
|
+
contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? modifiedMappingData(
|
|
94
|
+
contactProperties,
|
|
95
|
+
"Select all Contact Properties"
|
|
96
|
+
) : [],
|
|
97
|
+
variables: (variables == null ? void 0 : variables.length) ? modifiedMappingData(variables, "Select all Variables") : [],
|
|
98
|
+
expressions: (expressions == null ? void 0 : expressions.length) ? modifiedMappingData(expressions, "Select all Expressions") : [],
|
|
99
|
+
property: ((_a2 = index.mappingPropertyValues) == null ? void 0 : _a2.length) ? modifiedMappingData(index.mappingPropertyValues, "Select all Properties") : []
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.error(error);
|
|
104
|
+
} finally {
|
|
105
|
+
setLoader(false);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
const handleFieldValues = (type, id, value) => {
|
|
109
|
+
var _a2;
|
|
110
|
+
if (id === "ALL") {
|
|
111
|
+
setSSMappingData((prev) => {
|
|
112
|
+
var _a3;
|
|
113
|
+
return __spreadProps(__spreadValues({}, prev), {
|
|
114
|
+
[type]: (_a3 = prev[type]) == null ? void 0 : _a3.map((mapping) => {
|
|
115
|
+
return __spreadProps(__spreadValues({}, mapping), { isEnabled: value });
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
} else {
|
|
120
|
+
let modifiedMappedField = (_a2 = ssMappingData[type]) == null ? void 0 : _a2.map((mapping) => {
|
|
121
|
+
if ((mapping == null ? void 0 : mapping.id) === id) {
|
|
122
|
+
return __spreadProps(__spreadValues({}, mapping), { isEnabled: value });
|
|
123
|
+
}
|
|
124
|
+
return __spreadValues({}, mapping);
|
|
125
|
+
});
|
|
126
|
+
if (modifiedMappedField.filter((field) => (field == null ? void 0 : field.id) !== "ALL").every((field) => field.isEnabled)) {
|
|
127
|
+
modifiedMappedField = modifiedMappedField.map((field) => __spreadProps(__spreadValues({}, field), {
|
|
128
|
+
isEnabled: true
|
|
129
|
+
}));
|
|
130
|
+
} else {
|
|
131
|
+
modifiedMappedField = modifiedMappedField.map((field) => {
|
|
132
|
+
if ((field == null ? void 0 : field.id) === "ALL") {
|
|
133
|
+
return __spreadProps(__spreadValues({}, field), { isEnabled: false });
|
|
134
|
+
}
|
|
135
|
+
return field;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
const mappedFields = __spreadProps(__spreadValues({}, ssMappingData), {
|
|
139
|
+
[type]: modifiedMappedField
|
|
140
|
+
});
|
|
141
|
+
setSSMappingData(mappedFields);
|
|
142
|
+
importResponse.onChangeHandler({
|
|
143
|
+
id: "mappedFields",
|
|
144
|
+
value: mappedFields
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const getMappingCount = (mappingField) => {
|
|
149
|
+
let count = 0;
|
|
150
|
+
const mappedField = ssMappingData[mappingField];
|
|
151
|
+
mappedField == null ? void 0 : mappedField.forEach((field) => {
|
|
152
|
+
if ((field == null ? void 0 : field.id) !== "ALL" && field.isEnabled)
|
|
153
|
+
count += 1;
|
|
154
|
+
});
|
|
155
|
+
return count;
|
|
156
|
+
};
|
|
157
|
+
const getAllMappingCount = (mappingField) => {
|
|
158
|
+
const mappedField = ssMappingData[mappingField];
|
|
159
|
+
return mappedField == null ? void 0 : mappedField.length;
|
|
160
|
+
};
|
|
161
|
+
React.useEffect(() => {
|
|
162
|
+
var _a2;
|
|
163
|
+
if (!(editField == null ? void 0 : editField.id)) {
|
|
164
|
+
fetchInitalMappingData();
|
|
165
|
+
} else if (!!(editField == null ? void 0 : editField.id)) {
|
|
166
|
+
const { fieldValues: {
|
|
167
|
+
mappedFields
|
|
168
|
+
} } = editField;
|
|
169
|
+
if (((_a2 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a2.ImportMethod) === "SELECTED_DATA") {
|
|
170
|
+
const processField = (field, label) => {
|
|
171
|
+
if (!(field == null ? void 0 : field.length))
|
|
172
|
+
return [];
|
|
173
|
+
if (field == null ? void 0 : field.some((item) => item.id === "ALL"))
|
|
174
|
+
return field;
|
|
175
|
+
return modifiedMappingData(field, label, field.every((item) => item.isEnabled));
|
|
176
|
+
};
|
|
177
|
+
const updatedSSMappingData = {
|
|
178
|
+
questions: processField(mappedFields == null ? void 0 : mappedFields.questions, "Select all Questions"),
|
|
179
|
+
variables: processField(mappedFields == null ? void 0 : mappedFields.variables, "Select all Variables"),
|
|
180
|
+
contactProperties: processField(mappedFields == null ? void 0 : mappedFields.contactProperties, "Select all Contact Properties"),
|
|
181
|
+
expressions: processField(mappedFields == null ? void 0 : mappedFields.expressions, "Select all Expressions"),
|
|
182
|
+
property: processField(mappedFields == null ? void 0 : mappedFields.property, "Select all Properties"),
|
|
183
|
+
derivedQuestions: processField(mappedFields == null ? void 0 : mappedFields.derivedQuestions, "Select all Enriched Columns")
|
|
184
|
+
};
|
|
185
|
+
setSSMappingData(updatedSSMappingData);
|
|
186
|
+
setOriginalMappingData(updatedSSMappingData);
|
|
187
|
+
} else {
|
|
188
|
+
const { questions, variables, contactProperties, expressions, property, derivedQuestions } = surveyProperties;
|
|
189
|
+
const updatedSSMappingData = {
|
|
190
|
+
questions: (questions == null ? void 0 : questions.length) ? questions : [],
|
|
191
|
+
contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? contactProperties : [],
|
|
192
|
+
variables: (variables == null ? void 0 : variables.length) ? variables : [],
|
|
193
|
+
expressions: (expressions == null ? void 0 : expressions.length) ? expressions : [],
|
|
194
|
+
property: (property == null ? void 0 : property.length) ? property : [],
|
|
195
|
+
derivedQuestions: (derivedQuestions == null ? void 0 : derivedQuestions.length) ? derivedQuestions : []
|
|
196
|
+
};
|
|
197
|
+
setSSMappingData(updatedSSMappingData);
|
|
198
|
+
setOriginalMappingData(updatedSSMappingData);
|
|
199
|
+
}
|
|
200
|
+
setLoader(false);
|
|
201
|
+
} else {
|
|
202
|
+
setLoader(false);
|
|
203
|
+
}
|
|
204
|
+
setIsInitialLoad(false);
|
|
205
|
+
}, [token, surveyId]);
|
|
206
|
+
React.useEffect(() => {
|
|
207
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
208
|
+
if (((_a2 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a2.ImportMethod) === "SELECTED_DATA") {
|
|
209
|
+
if (!!(editField == null ? void 0 : editField.id)) {
|
|
210
|
+
const processField = (field, label) => {
|
|
211
|
+
if (!field.length)
|
|
212
|
+
return [];
|
|
213
|
+
if (field == null ? void 0 : field.some((item) => item.id === "ALL"))
|
|
214
|
+
return field;
|
|
215
|
+
return modifiedMappingData(field, label, field.every((item) => item.isEnabled));
|
|
216
|
+
};
|
|
217
|
+
setSSMappingData({
|
|
218
|
+
questions: processField((_c2 = (_b2 = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _b2.mappedFields) == null ? void 0 : _c2.questions, "Select all Questions"),
|
|
219
|
+
variables: processField((_e = (_d = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _d.mappedFields) == null ? void 0 : _e.variables, "Select all Variables"),
|
|
220
|
+
contactProperties: processField((_g = (_f = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _f.mappedFields) == null ? void 0 : _g.contactProperties, "Select all Contact Properties"),
|
|
221
|
+
expressions: processField((_i = (_h = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _h.mappedFields) == null ? void 0 : _i.expressions, "Select all Expressions"),
|
|
222
|
+
property: processField((_k = (_j = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _j.mappedFields) == null ? void 0 : _k.property, "Select all Properties"),
|
|
223
|
+
derivedQuestions: processField((_m = (_l = editField == null ? void 0 : editField.fieldValues) == null ? void 0 : _l.mappedFields) == null ? void 0 : _m.derivedQuestions, "Select all Enriched Columns")
|
|
224
|
+
});
|
|
225
|
+
} else {
|
|
226
|
+
setSSMappingData({
|
|
227
|
+
questions: ((_n = ssMappingData == null ? void 0 : ssMappingData.questions) == null ? void 0 : _n.some((question) => question.id === "ALL")) ? ssMappingData == null ? void 0 : ssMappingData.questions : ((_o = ssMappingData == null ? void 0 : ssMappingData.questions) == null ? void 0 : _o.length) ? modifiedMappingData(ssMappingData == null ? void 0 : ssMappingData.questions, "Select all Questions") : [],
|
|
228
|
+
variables: ((_p = ssMappingData == null ? void 0 : ssMappingData.variables) == null ? void 0 : _p.some((variable) => variable.id === "ALL")) ? ssMappingData == null ? void 0 : ssMappingData.variables : ((_q = ssMappingData == null ? void 0 : ssMappingData.variables) == null ? void 0 : _q.length) ? modifiedMappingData(ssMappingData == null ? void 0 : ssMappingData.variables, "Select all Variables") : [],
|
|
229
|
+
contactProperties: ((_r = ssMappingData == null ? void 0 : ssMappingData.contactProperties) == null ? void 0 : _r.some((contactProperty) => contactProperty.id === "ALL")) ? ssMappingData == null ? void 0 : ssMappingData.contactProperties : ((_s = ssMappingData == null ? void 0 : ssMappingData.contactProperties) == null ? void 0 : _s.length) ? modifiedMappingData(ssMappingData == null ? void 0 : ssMappingData.contactProperties, "Select all Contact Properties") : [],
|
|
230
|
+
expressions: ((_t = ssMappingData == null ? void 0 : ssMappingData.expressions) == null ? void 0 : _t.some((expression) => expression.id === "ALL")) ? ssMappingData == null ? void 0 : ssMappingData.expressions : ((_u = ssMappingData == null ? void 0 : ssMappingData.expressions) == null ? void 0 : _u.length) ? modifiedMappingData(ssMappingData == null ? void 0 : ssMappingData.expressions, "Select all Expressions") : [],
|
|
231
|
+
property: ((_v = ssMappingData == null ? void 0 : ssMappingData.property) == null ? void 0 : _v.some((property) => property.id === "ALL")) ? ssMappingData == null ? void 0 : ssMappingData.property : ((_w = ssMappingData == null ? void 0 : ssMappingData.property) == null ? void 0 : _w.length) ? modifiedMappingData(ssMappingData == null ? void 0 : ssMappingData.property, "Select all Properties") : [],
|
|
232
|
+
derivedQuestions: ((_x = ssMappingData == null ? void 0 : ssMappingData.derivedQuestions) == null ? void 0 : _x.some((derivedQuestion) => derivedQuestion.id === "ALL")) ? ssMappingData == null ? void 0 : ssMappingData.derivedQuestions : ((_y = ssMappingData == null ? void 0 : ssMappingData.derivedQuestions) == null ? void 0 : _y.length) ? modifiedMappingData(ssMappingData == null ? void 0 : ssMappingData.derivedQuestions, "Select all Derived Questions") : []
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}, [(_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.ImportMethod]);
|
|
237
|
+
React.useEffect(() => {
|
|
238
|
+
var _a2, _b2, _c2, _d, _e, _f;
|
|
239
|
+
if (((_a2 = ssMappingData == null ? void 0 : ssMappingData.questions) == null ? void 0 : _a2.length) || ((_b2 = ssMappingData == null ? void 0 : ssMappingData.variables) == null ? void 0 : _b2.length) || ((_c2 = ssMappingData == null ? void 0 : ssMappingData.contactProperties) == null ? void 0 : _c2.length) || ((_d = ssMappingData == null ? void 0 : ssMappingData.expressions) == null ? void 0 : _d.length) || ((_e = ssMappingData == null ? void 0 : ssMappingData.property) == null ? void 0 : _e.length)) {
|
|
240
|
+
const updatedFieldValues = Object.keys(ssMappingData).reduce((acc, key) => {
|
|
241
|
+
acc[key] = ssMappingData[key].map((field) => {
|
|
242
|
+
var _a3;
|
|
243
|
+
if (((_a3 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a3.ImportMethod) === "SELECTED_DATA") {
|
|
244
|
+
return __spreadProps(__spreadValues({}, field), { isEnabled: field == null ? void 0 : field.isEnabled });
|
|
245
|
+
} else {
|
|
246
|
+
if ((field == null ? void 0 : field.id) !== "ALL") {
|
|
247
|
+
return __spreadProps(__spreadValues({}, field), { isEnabled: true });
|
|
248
|
+
}
|
|
249
|
+
return field;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
return acc;
|
|
253
|
+
}, {});
|
|
254
|
+
setSSMappedFields(updatedFieldValues);
|
|
255
|
+
if (((_f = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _f.ImportMethod) === "SEND_ALL_DATA") {
|
|
256
|
+
importResponse.onChangeHandler({
|
|
257
|
+
id: "mappedFields",
|
|
258
|
+
value: updatedFieldValues
|
|
259
|
+
});
|
|
260
|
+
} else {
|
|
261
|
+
importResponse.onChangeHandler({
|
|
262
|
+
id: "mappedFields",
|
|
263
|
+
value: ssMappingData
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}, [ssMappingData]);
|
|
268
|
+
return /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", justifyContent: "center" }, loader ? /* @__PURE__ */ React.createElement(
|
|
269
|
+
flex.Flex,
|
|
270
|
+
{
|
|
271
|
+
alignItems: "center",
|
|
272
|
+
justifyContent: "center",
|
|
273
|
+
css: { height: "calc(100vh - 57px)" }
|
|
274
|
+
},
|
|
275
|
+
/* @__PURE__ */ React.createElement(spinner.default, null)
|
|
276
|
+
) : /* @__PURE__ */ React.createElement(box.Box, { css: { maxWidth: 650, width: "100%", marginBlock: "$40" } }, (importResponse == null ? void 0 : importResponse.hasImportResponse) ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5", css: {
|
|
277
|
+
color: "$neutral900"
|
|
278
|
+
} }, "Select Import Data"), /* @__PURE__ */ React.createElement(
|
|
279
|
+
radio.RadioGroup,
|
|
280
|
+
{
|
|
281
|
+
defaultValue: (_b = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _b.ImportMethod,
|
|
282
|
+
onChange: (value) => {
|
|
283
|
+
importResponse.onChangeHandler({
|
|
284
|
+
id: "ImportMethod",
|
|
285
|
+
value
|
|
286
|
+
});
|
|
287
|
+
if (value === "SEND_ALL_DATA") {
|
|
288
|
+
importResponse.onChangeHandler({
|
|
289
|
+
id: "mappedFields",
|
|
290
|
+
value: SSMappedFields
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
/* @__PURE__ */ React.createElement(
|
|
296
|
+
flex.Flex,
|
|
297
|
+
{
|
|
298
|
+
alignItems: "center",
|
|
299
|
+
gap: "$20",
|
|
300
|
+
css: {
|
|
301
|
+
marginTop: "$9",
|
|
302
|
+
"& label": { color: "$neutral800", cursor: "pointer" }
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
/* @__PURE__ */ React.createElement(radio.Radio, { size: "md", value: "SEND_ALL_DATA", css: {
|
|
306
|
+
cursor: "pointer"
|
|
307
|
+
} }, "Send all data"),
|
|
308
|
+
/* @__PURE__ */ React.createElement(radio.Radio, { size: "md", value: "SELECTED_DATA", css: {
|
|
309
|
+
cursor: "pointer"
|
|
310
|
+
} }, "Send selected data")
|
|
311
|
+
)
|
|
312
|
+
)) : null, ((_c = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _c.ImportMethod) === "SELECTED_DATA" ? /* @__PURE__ */ React.createElement(box.Box, { css: { marginTop: "$24" } }, /* @__PURE__ */ React.createElement(tabs.Tabs, { defaultValue: "QUESTIONS" }, /* @__PURE__ */ React.createElement(
|
|
313
|
+
tabs.TabsList,
|
|
314
|
+
{
|
|
315
|
+
css: {
|
|
316
|
+
borderBottom: "$borderWidths$xs solid $neutral200"
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
index.mappingTabValues.map((tab) => /* @__PURE__ */ React.createElement(
|
|
320
|
+
tabs.TabsTrigger,
|
|
321
|
+
{
|
|
322
|
+
key: tab == null ? void 0 : tab.id,
|
|
323
|
+
value: tab == null ? void 0 : tab.value,
|
|
324
|
+
css: {
|
|
325
|
+
padding: "$6 $4 !important"
|
|
326
|
+
},
|
|
327
|
+
onClick: () => setSearchInput("")
|
|
328
|
+
},
|
|
329
|
+
/* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "bold" }, tab.name),
|
|
330
|
+
!!getMappingCount(tab.placeholder) && /* @__PURE__ */ React.createElement(chip.Chip, { css: { marginLeft: "$2", borderRadius: "5px", color: "$neutral800" }, variant: "outline", rounded: "sm" }, getMappingCount(tab.placeholder))
|
|
331
|
+
))
|
|
332
|
+
), /* @__PURE__ */ React.createElement(
|
|
333
|
+
TabsContentComponent,
|
|
334
|
+
{
|
|
335
|
+
searchInput,
|
|
336
|
+
setSearchInput,
|
|
337
|
+
value: "QUESTIONS",
|
|
338
|
+
placeholder: "Questions",
|
|
339
|
+
fields: ssMappingData == null ? void 0 : ssMappingData.questions,
|
|
340
|
+
handleFieldValues: (field, value) => handleFieldValues("questions", field == null ? void 0 : field.id, value)
|
|
341
|
+
}
|
|
342
|
+
), /* @__PURE__ */ React.createElement(
|
|
343
|
+
TabsContentComponent,
|
|
344
|
+
{
|
|
345
|
+
searchInput,
|
|
346
|
+
setSearchInput,
|
|
347
|
+
fields: ssMappingData.variables,
|
|
348
|
+
value: "VARIABLE",
|
|
349
|
+
placeholder: "Variables",
|
|
350
|
+
handleFieldValues: (field, value) => handleFieldValues("variables", field == null ? void 0 : field.id, value)
|
|
351
|
+
}
|
|
352
|
+
), /* @__PURE__ */ React.createElement(
|
|
353
|
+
TabsContentComponent,
|
|
354
|
+
{
|
|
355
|
+
fields: ssMappingData.contactProperties,
|
|
356
|
+
searchInput,
|
|
357
|
+
setSearchInput,
|
|
358
|
+
value: "CONTACT",
|
|
359
|
+
placeholder: "Contacts",
|
|
360
|
+
handleFieldValues: (field, value) => handleFieldValues("contactProperties", field == null ? void 0 : field.id, value)
|
|
361
|
+
}
|
|
362
|
+
), /* @__PURE__ */ React.createElement(
|
|
363
|
+
TabsContentComponent,
|
|
364
|
+
{
|
|
365
|
+
searchInput,
|
|
366
|
+
setSearchInput,
|
|
367
|
+
value: "EXPRESSION",
|
|
368
|
+
placeholder: "Expressions",
|
|
369
|
+
fields: ssMappingData.expressions,
|
|
370
|
+
handleFieldValues: (field, value) => handleFieldValues("expressions", field == null ? void 0 : field.id, value)
|
|
371
|
+
}
|
|
372
|
+
), /* @__PURE__ */ React.createElement(
|
|
373
|
+
TabsContentComponent,
|
|
374
|
+
{
|
|
375
|
+
value: "PROPERTY",
|
|
376
|
+
searchInput,
|
|
377
|
+
setSearchInput,
|
|
378
|
+
placeholder: "Properties",
|
|
379
|
+
fields: ssMappingData.property,
|
|
380
|
+
handleFieldValues: (field, value) => handleFieldValues("property", field == null ? void 0 : field.id, value)
|
|
381
|
+
}
|
|
382
|
+
), /* @__PURE__ */ React.createElement(
|
|
383
|
+
TabsContentComponent,
|
|
384
|
+
{
|
|
385
|
+
value: "DERIVED_QUESTIONS",
|
|
386
|
+
searchInput,
|
|
387
|
+
setSearchInput,
|
|
388
|
+
placeholder: "Derived Questions",
|
|
389
|
+
fields: ssMappingData.derivedQuestions,
|
|
390
|
+
handleFieldValues: (field, value) => handleFieldValues("derivedQuestions", field == null ? void 0 : field.id, value)
|
|
391
|
+
}
|
|
392
|
+
))) : /* @__PURE__ */ React.createElement(flex.Flex, { css: { marginTop: "$16" }, alignItems: "center", gap: "$6" }, /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "regular", css: { width: "90px", color: "$neutral900" } }, "This Includes:"), /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$4" }, getAllMappingCount("questions") - 1 > 0 ? /* @__PURE__ */ React.createElement(CustomChip, { bgColor: "#E5F2FF" }, " ", getAllMappingCount("questions") - 1, " Questions") : null, getAllMappingCount("derivedQuestions") - 1 > 0 ? /* @__PURE__ */ React.createElement(CustomChip, { bgColor: "#E5F2FF" }, " ", getAllMappingCount("derivedQuestions") - 1, " Enriched Columns") : null, getAllMappingCount("variables") - 1 > 0 ? /* @__PURE__ */ React.createElement(CustomChip, { bgColor: "#E8F4E3" }, " ", getAllMappingCount("variables") - 1, " Variables") : null, getAllMappingCount("contactProperties") - 1 > 0 ? /* @__PURE__ */ React.createElement(CustomChip, { bgColor: "#FDEDE8" }, " ", getAllMappingCount("contactProperties") - 1, " Contacts") : null, getAllMappingCount("expressions") - 1 > 0 ? /* @__PURE__ */ React.createElement(CustomChip, { bgColor: "#F1F1F1" }, " ", getAllMappingCount("expressions") - 1, " Expressions") : null, getAllMappingCount("property") - 1 > 0 ? /* @__PURE__ */ React.createElement(CustomChip, { bgColor: "#4A9CA626" }, " ", getAllMappingCount("property") - 1, " Properties") : null))));
|
|
393
|
+
};
|
|
394
|
+
const TabsContentComponent = ({
|
|
395
|
+
value,
|
|
396
|
+
searchInput,
|
|
397
|
+
setSearchInput,
|
|
398
|
+
fields,
|
|
399
|
+
handleFieldValues,
|
|
400
|
+
placeholder
|
|
401
|
+
}) => {
|
|
402
|
+
const mappingFields = fields && fields.filter(
|
|
403
|
+
(field) => {
|
|
404
|
+
var _a;
|
|
405
|
+
return (_a = field.name) == null ? void 0 : _a.toLowerCase().includes(searchInput.toLowerCase());
|
|
406
|
+
}
|
|
407
|
+
);
|
|
408
|
+
return /* @__PURE__ */ React.createElement(tabs.TabsContent, { value, css: { padding: 0, position: "relative" } }, /* @__PURE__ */ React.createElement(
|
|
409
|
+
input.Input,
|
|
410
|
+
{
|
|
411
|
+
leftIcon: /* @__PURE__ */ React.createElement(search.SearchIcon, { color: "#848484" }),
|
|
412
|
+
variant: "filled",
|
|
413
|
+
placeholder: `Search ${placeholder}`,
|
|
414
|
+
size: "lg",
|
|
415
|
+
css: { marginTop: "$8" },
|
|
416
|
+
value: searchInput,
|
|
417
|
+
onChange: (event) => setSearchInput(event.currentTarget.value)
|
|
418
|
+
}
|
|
419
|
+
), /* @__PURE__ */ React.createElement(
|
|
420
|
+
flex.Flex,
|
|
421
|
+
{
|
|
422
|
+
css: {
|
|
423
|
+
padding: "$8 $4 $32 $4",
|
|
424
|
+
marginTop: "$8",
|
|
425
|
+
height: "calc(100vh - 408px)",
|
|
426
|
+
overflow: "auto",
|
|
427
|
+
scrollbarWidth: "thin",
|
|
428
|
+
"&::-webkit-scrollbar": {
|
|
429
|
+
width: "4px"
|
|
430
|
+
},
|
|
431
|
+
"& label": {
|
|
432
|
+
lineHeight: "$sm"
|
|
433
|
+
}
|
|
434
|
+
},
|
|
435
|
+
flexDirection: "column",
|
|
436
|
+
gap: "$8"
|
|
437
|
+
},
|
|
438
|
+
(mappingFields == null ? void 0 : mappingFields.length) > 1 ? /* @__PURE__ */ React.createElement(React.Fragment, null, mappingFields.map((field) => /* @__PURE__ */ React.createElement(box.Box, { css: {
|
|
439
|
+
label: {
|
|
440
|
+
color: "$neutral900",
|
|
441
|
+
fontSize: "$sm",
|
|
442
|
+
maxWidth: "520px",
|
|
443
|
+
display: "block",
|
|
444
|
+
overflow: "hidden",
|
|
445
|
+
textOverflow: "ellipsis",
|
|
446
|
+
whiteSpace: "nowrap"
|
|
447
|
+
}
|
|
448
|
+
} }, /* @__PURE__ */ React.createElement(
|
|
449
|
+
checkbox.Checkbox,
|
|
450
|
+
{
|
|
451
|
+
size: "sm",
|
|
452
|
+
checked: field.isEnabled,
|
|
453
|
+
onChange: (value2) => handleFieldValues(field, value2)
|
|
454
|
+
},
|
|
455
|
+
field.name
|
|
456
|
+
)))) : /* @__PURE__ */ React.createElement(
|
|
457
|
+
flex.Flex,
|
|
458
|
+
{
|
|
459
|
+
alignItems: "center",
|
|
460
|
+
justifyContent: "center",
|
|
461
|
+
css: { marginTop: "$40" }
|
|
462
|
+
},
|
|
463
|
+
/* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "No Results Found")
|
|
464
|
+
)
|
|
465
|
+
), /* @__PURE__ */ React.createElement(
|
|
466
|
+
box.Box,
|
|
467
|
+
{
|
|
468
|
+
css: {
|
|
469
|
+
position: "absolute",
|
|
470
|
+
pointerEvents: "none",
|
|
471
|
+
top: "88%",
|
|
472
|
+
height: "$25",
|
|
473
|
+
width: "100%",
|
|
474
|
+
background: "linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0))"
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
));
|
|
478
|
+
};
|
|
479
|
+
const CustomChip = ({ children, bgColor, opacity }) => {
|
|
480
|
+
return /* @__PURE__ */ React.createElement(chip.Chip, { variant: "solid", css: __spreadProps(__spreadValues(__spreadValues({}, opacity && { backgroundColor: bgColor }), opacity && { backgroundColorOpacity: [bgColor, 0.3] }), {
|
|
481
|
+
background: bgColor,
|
|
482
|
+
lineHeight: "$sm",
|
|
483
|
+
fontWeight: "$4",
|
|
484
|
+
fontFamily: "'Roboto Mono', monospace !important",
|
|
485
|
+
"& > * ": { fontFamily: "'Roboto Mono', monospace !important", fontWeight: "$4 !important" }
|
|
486
|
+
}) }, children);
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
exports.default = Mapping;
|
|
490
|
+
//# sourceMappingURL=mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping.js","sources":["../../../../src/dynamic-mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n Chip,\n Flex,\n Heading,\n Input,\n Radio,\n RadioGroup,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Text\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState } from \"react\";\nimport {\n surveySparrowURL,\n mappingTabValues,\n mappingPropertyValues\n} from \"../../commons/constants\";\nimport Spinner from \"../../commons/components/spinner\";\nimport {\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchContactProperties,\n fetchSurveyExpression\n} from \"../../mapping/services\";\nimport { SearchIcon } from \"@sparrowengg/twigs-react-icons\";\n\nconst Mapping = ({\n surveyId,\n apiURL = surveySparrowURL,\n token,\n surveyProperties,\n importResponse,\n ssMappingData,\n setSSMappingData,\n editField,\n setIsInitialLoad,\n setOriginalMappingData\n}: any) => {\n const [loader, setLoader] = useState(true);\n const [searchInput, setSearchInput] = useState(\"\");\n const [SSMappedFields, setSSMappedFields] = useState<any[]>([]);\n\n const modifiedMappingData = (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: isEnabled });\n return fields;\n };\n\n const fetchInitalMappingData = async () => {\n setLoader(true);\n try {\n if(surveyProperties){\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: property?.length ? modifiedMappingData(property, \"Select all Properties\") : [],\n derivedQuestions: derivedQuestions?.length ? modifiedMappingData(derivedQuestions, \"Select all Derived Questions\") : []\n });\n } else {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token)\n ]);\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: mappingPropertyValues?.length ? modifiedMappingData(mappingPropertyValues, \"Select all Properties\") : []\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n };\n\n const handleFieldValues = (\n type: string,\n id: string | number,\n value: boolean\n ) => {\n if (id === \"ALL\") {\n setSSMappingData((prev: any) => ({\n ...prev,\n [type]: prev[type]?.map((mapping: any) => {\n return { ...mapping, isEnabled: value };\n })\n }));\n } else {\n let modifiedMappedField = ssMappingData[type]?.map((mapping: any) => {\n if (mapping?.id === id) {\n return { ...mapping, isEnabled: value };\n }\n return { ...mapping };\n });\n if (\n modifiedMappedField\n .filter((field: any) => field?.id !== \"ALL\")\n .every((field: any) => field.isEnabled)\n ) {\n modifiedMappedField = modifiedMappedField.map((field: any) => ({\n ...field,\n isEnabled: true\n }));\n } else {\n modifiedMappedField = modifiedMappedField.map((field: any) => {\n if (field?.id === \"ALL\") {\n return { ...field, isEnabled: false };\n }\n return field;\n });\n }\n\n const mappedFields = {\n ...ssMappingData,\n [type]: modifiedMappedField\n };\n setSSMappingData(mappedFields);\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: mappedFields\n });\n }\n };\n\n const getMappingCount = (mappingField: any) => {\n let count = 0;\n const mappedField = ssMappingData[mappingField];\n mappedField?.forEach((field: any) => {\n if (field?.id !== \"ALL\" && field.isEnabled) count += 1;\n });\n return count;\n };\n const getAllMappingCount = (mappingField: any) => {\n const mappedField = ssMappingData[mappingField];\n return mappedField?.length;\n };\n\n useEffect(() => {\n if (!editField?.id) {\n fetchInitalMappingData();\n } else if (!!editField?.id) {\n const { fieldValues: {\n mappedFields\n } } = 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(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 Enriched Columns\")\n }\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } else {\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = 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 \n setLoader(false);\n } else {\n setLoader(false);\n }\n setIsInitialLoad(false);\n }, [token, surveyId]);\n\n\n useEffect(() => {\n if(importResponse?.value?.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 setSSMappingData({\n questions: processField(editField?.fieldValues?.mappedFields?.questions, \"Select all Questions\"),\n variables: processField(editField?.fieldValues?.mappedFields?.variables, \"Select all Variables\"),\n contactProperties: processField(editField?.fieldValues?.mappedFields?.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(editField?.fieldValues?.mappedFields?.expressions, \"Select all Expressions\"),\n property: processField(editField?.fieldValues?.mappedFields?.property, \"Select all Properties\"),\n derivedQuestions: processField(editField?.fieldValues?.mappedFields?.derivedQuestions, \"Select all Enriched Columns\")\n })} else {\n setSSMappingData({\n questions: ssMappingData?.questions?.some((question: any) => question.id === \"ALL\") ? ssMappingData?.questions : ssMappingData?.questions?.length ? modifiedMappingData(ssMappingData?.questions, \"Select all Questions\") : [],\n variables: ssMappingData?.variables?.some((variable: any) => variable.id === \"ALL\") ? ssMappingData?.variables : ssMappingData?.variables?.length ? modifiedMappingData(ssMappingData?.variables, \"Select all Variables\") : [],\n contactProperties: ssMappingData?.contactProperties?.some((contactProperty: any) => contactProperty.id === \"ALL\") ? ssMappingData?.contactProperties : ssMappingData?.contactProperties?.length ? modifiedMappingData(ssMappingData?.contactProperties, \"Select all Contact Properties\") : [],\n expressions: ssMappingData?.expressions?.some((expression: any) => expression.id === \"ALL\") ? ssMappingData?.expressions : ssMappingData?.expressions?.length ? modifiedMappingData(ssMappingData?.expressions, \"Select all Expressions\") : [],\n property: ssMappingData?.property?.some((property: any) => property.id === \"ALL\") ? ssMappingData?.property : ssMappingData?.property?.length ? modifiedMappingData(ssMappingData?.property, \"Select all Properties\") : [],\n derivedQuestions: ssMappingData?.derivedQuestions?.some((derivedQuestion: any) => derivedQuestion.id === \"ALL\") ? ssMappingData?.derivedQuestions : ssMappingData?.derivedQuestions?.length ? modifiedMappingData(ssMappingData?.derivedQuestions, \"Select all Derived Questions\") : []\n })\n }\n }\n }, [importResponse?.value?.ImportMethod])\n\n\n\n\n useEffect(() => {\n if (ssMappingData?.questions?.length || ssMappingData?.variables?.length || ssMappingData?.contactProperties?.length || ssMappingData?.expressions?.length || ssMappingData?.property?.length) {\n const updatedFieldValues = Object.keys(ssMappingData).reduce((acc: any, key: any) => {\n acc[key] = ssMappingData[key].map((field: any) => {\n if(importResponse?.value?.ImportMethod === \"SELECTED_DATA\"){\n return { ...field, isEnabled: field?.isEnabled };\n } else {\n if (field?.id !== \"ALL\") {\n return { ...field, isEnabled: true };\n }\n return field;\n }\n });\n return acc;\n }, {});\n setSSMappedFields(updatedFieldValues);\n if (importResponse?.value?.ImportMethod === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: updatedFieldValues\n })\n } else {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: ssMappingData\n })\n }\n }\n }, [ssMappingData]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 650, width: \"100%\", marginBlock: \"$40\" }}>\n {importResponse?.hasImportResponse ? (\n <Flex flexDirection=\"column\">\n <Heading size=\"h5\" css={{\n color: \"$neutral900\"\n }}>Select Import Data</Heading>\n <RadioGroup\n defaultValue={importResponse?.value?.ImportMethod}\n onChange={(value) => {\n importResponse.onChangeHandler({\n id: \"ImportMethod\",\n value: value\n })\n if (value === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: SSMappedFields\n })\n }\n }}\n >\n <Flex\n alignItems=\"center\"\n gap=\"$20\"\n css={{\n marginTop: \"$9\",\n \"& label\": { color: \"$neutral800\", cursor: \"pointer\" },\n \n }}\n >\n <Radio size=\"md\" value=\"SEND_ALL_DATA\" css={{\n cursor: \"pointer\"\n }}>\n Send all data\n </Radio>\n <Radio size=\"md\" value=\"SELECTED_DATA\" css={{\n cursor: \"pointer\"\n }}>\n Send selected data\n </Radio>\n\n </Flex>\n </RadioGroup>\n </Flex>\n ) : null}\n {importResponse?.value?.ImportMethod === \"SELECTED_DATA\" ? (\n <Box css={{ marginTop: \"$24\" }}>\n <Tabs defaultValue=\"QUESTIONS\">\n <TabsList\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\"\n }}\n >\n {mappingTabValues.map((tab) => (\n <TabsTrigger\n key={tab?.id}\n value={tab?.value}\n css={{\n padding: \"$6 $4 !important\",\n }}\n onClick={() => setSearchInput(\"\")}\n >\n <Text size=\"sm\" weight='bold' >\n {tab.name}\n </Text>\n {!!getMappingCount(tab.placeholder) && (\n <Chip css={{ marginLeft: \"$2\", borderRadius: \"5px\", color: \"$neutral800\" }} variant=\"outline\" rounded=\"sm\">\n {getMappingCount(tab.placeholder)}\n </Chip>\n )}\n </TabsTrigger>\n ))}\n </TabsList>\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"QUESTIONS\"\n placeholder=\"Questions\"\n fields={ssMappingData?.questions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"questions\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n fields={ssMappingData.variables}\n value=\"VARIABLE\"\n placeholder=\"Variables\"\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"variables\", field?.id, value)\n }\n />\n <TabsContentComponent\n fields={ssMappingData.contactProperties}\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"CONTACT\"\n placeholder=\"Contacts\"\n handleFieldValues={(field, value) =>\n handleFieldValues(\"contactProperties\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"EXPRESSION\"\n placeholder=\"Expressions\"\n fields={ssMappingData.expressions}\n handleFieldValues={(field, value) =>\n handleFieldValues(\"expressions\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"PROPERTY\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Properties\"\n fields={ssMappingData.property}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"property\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"DERIVED_QUESTIONS\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Derived Questions\"\n fields={ssMappingData.derivedQuestions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"derivedQuestions\", field?.id, value)\n }\n />\n </Tabs>\n </Box>\n ) : <Flex css={{ marginTop: \"$16\" }} alignItems=\"center\" gap=\"$6\">\n\n <Text size=\"sm\" weight=\"regular\" css={{ width: \"90px\", color: \"$neutral900\" }}>\n This Includes:\n </Text>\n <Flex alignItems=\"center\" gap=\"$4\">\n {getAllMappingCount(\"questions\") - 1 > 0 ? <CustomChip bgColor=\"#E5F2FF\"> {getAllMappingCount(\"questions\") - 1} Questions</CustomChip> : null}\n {getAllMappingCount(\"derivedQuestions\") - 1 > 0 ? <CustomChip bgColor=\"#E5F2FF\"> {getAllMappingCount(\"derivedQuestions\") - 1} Enriched Columns</CustomChip> : null}\n {getAllMappingCount(\"variables\") - 1 > 0 ? <CustomChip bgColor=\"#E8F4E3\"> {getAllMappingCount(\"variables\") - 1} Variables</CustomChip> : null}\n {getAllMappingCount(\"contactProperties\") - 1 > 0 ? <CustomChip bgColor=\"#FDEDE8\"> {getAllMappingCount(\"contactProperties\") - 1} Contacts</CustomChip> : null}\n {getAllMappingCount(\"expressions\") - 1 > 0 ? <CustomChip bgColor=\"#F1F1F1\"> {getAllMappingCount(\"expressions\") - 1} Expressions</CustomChip> : null}\n {getAllMappingCount(\"property\") - 1 > 0 ? <CustomChip bgColor=\"#4A9CA626\"> {getAllMappingCount(\"property\") - 1} Properties</CustomChip> : null}\n </Flex>\n </Flex>}\n </Box>\n )}\n </Flex>\n );\n};\n\nexport default Mapping;\n\nconst TabsContentComponent = ({\n value,\n searchInput,\n setSearchInput,\n fields,\n handleFieldValues,\n placeholder\n}: {\n value: string;\n searchInput: string;\n setSearchInput: React.Dispatch<React.SetStateAction<string>>;\n fields: any;\n handleFieldValues: (field: any, value: boolean) => void;\n placeholder: string;\n}) => {\n const mappingFields =\n fields &&\n fields.filter((field: any) =>\n field.name?.toLowerCase().includes(searchInput.toLowerCase())\n );\n\n return (\n <TabsContent value={value} css={{ padding: 0, position: \"relative\" }}>\n <Input\n leftIcon={<SearchIcon color=\"#848484\" />}\n variant=\"filled\"\n placeholder={`Search ${placeholder}`}\n size=\"lg\"\n css={{ marginTop: \"$8\" }}\n value={searchInput}\n onChange={(event) => setSearchInput(event.currentTarget.value)}\n />\n <Flex\n css={{\n padding: \"$8 $4 $32 $4\",\n marginTop: \"$8\",\n height: \"calc(100vh - 408px)\",\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n \"&::-webkit-scrollbar\": {\n width: \"4px\"\n },\n \"& label\": {\n lineHeight: \"$sm\"\n }\n }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n {mappingFields?.length > 1 ? (\n <>\n {mappingFields.map((field: any) => (\n <Box css={{\n label: {\n color: \"$neutral900\",\n fontSize: \"$sm\",\n maxWidth: \"520px\",\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }\n }}>\n <Checkbox\n size=\"sm\"\n checked={field.isEnabled}\n onChange={(value) => handleFieldValues(field, value as boolean)}\n >\n {field.name}\n </Checkbox>\n </Box>\n ))}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Text size=\"sm\">No Results Found</Text>\n </Flex>\n )}\n </Flex>\n <Box\n css={{\n position: \"absolute\",\n pointerEvents: \"none\",\n top: \"88%\",\n height: \"$25\",\n width: \"100%\",\n background:\n \"linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0))\"\n }}\n />\n </TabsContent>\n );\n};\n\n\nconst CustomChip = ({ children, bgColor, opacity }: { children: React.ReactNode, bgColor: string, opacity?: number }) => {\n return <Chip variant=\"solid\" css={{\n ...(opacity && {backgroundColor: bgColor }),\n ...(opacity && { backgroundColorOpacity: [bgColor, 0.3] }),\n background: bgColor,\n lineHeight: \"$sm\",\n fontWeight: \"$4\",\n fontFamily: \"'Roboto Mono', monospace !important\",\n \"& > * \": { fontFamily: \"'Roboto Mono', monospace !important\", fontWeight: \"$4 !important\" },\n }}>{children}</Chip>\n}"],"names":["surveySparrowURL","useState","_a","_b","_c","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","mappingPropertyValues","useEffect","Flex","Spinner","Box","Heading","RadioGroup","Radio","Tabs","TabsList","mappingTabValues","TabsTrigger","Text","Chip","TabsContent","Input","SearchIcon","Checkbox","value"],"mappings":"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"}
|