@sparrowengg/integrations-templates-frontend 6.0.0 → 6.0.2
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/integration-template/components/dashboard/DashboardItem.js +24 -2
- package/dist/cjs/integration-template/components/dashboard/DashboardItem.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js +24 -2
- package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js +24 -2
- package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -1
- package/dist/cjs/triggers/components/EventSetup.js +2 -1
- package/dist/cjs/triggers/components/EventSetup.js.map +1 -1
- package/dist/cjs/triggers/components/trigger.js +26 -18
- package/dist/cjs/triggers/components/trigger.js.map +1 -1
- package/dist/cjs/triggers/utils/validation.utils.js +10 -0
- package/dist/cjs/triggers/utils/validation.utils.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/DashboardItem.js +24 -2
- package/dist/es/integration-template/components/dashboard/DashboardItem.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js +24 -2
- package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js +24 -2
- package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -1
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/loader/circle.js +1 -1
- package/dist/es/triggers/components/EventSetup.js +2 -1
- package/dist/es/triggers/components/EventSetup.js.map +1 -1
- package/dist/es/triggers/components/trigger.js +28 -20
- package/dist/es/triggers/components/trigger.js.map +1 -1
- package/dist/es/triggers/utils/validation.utils.js +10 -1
- package/dist/es/triggers/utils/validation.utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSetup.js","sources":["../../../../src/triggers/components/EventSetup.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useEffect, useCallback, useMemo } from \"react\";\nimport {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n Select,\n FormHelperText,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport { EventSetupProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled } from \"../utils\";\nimport { sanitizeHTML } from \"../../commons/utils\";\n\n/* ----- Helper Components ----- */\n\n/**\n * Custom multi-value component for Select\n *\n * @param {any} props - Component props\n * @returns {JSX.Element} Rendered custom pill\n */\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\n/* ----- Main Component ----- */\n\n/**\n * EventSetup component for configuring trigger event details\n *\n * @param {EventSetupProps} props - Component props\n * @returns {JSX.Element} Rendered EventSetup component\n */\nconst EventSetup: React.FC<EventSetupProps> = ({\n forceDisableEventSetupCTA,\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n}) => {\n /* ----- Effects ----- */\n\n useEffect(() => {\n if (\n actions?.options?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )?.length\n ) {\n actions?.onChangeHandler(\n Object.keys(actions?.value || {})?.length\n ? actions?.value\n : actions?.options\n ?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action)\n );\n }\n if (\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n ) {\n objects?.onChangeHandler(\n objects?.value ??\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n );\n }\n }, [actions?.value, objects?.value, actions, objects, eventFields]);\n\n /* ----- Constants ----- */\n\n const isContinueDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const accountValue = useMemo(\n () =>\n accounts?.options?.find(\n (account: any) => account?.value === eventFields?.account\n ) ?? accounts?.value,\n [accounts?.options, accounts?.value, eventFields?.account]\n );\n\n const objectValue = useMemo(\n () =>\n objects?.value ??\n objects?.options?.find(\n (object: any) => object.value === eventFields?.object\n ),\n [objects?.value, objects?.options, eventFields?.object]\n );\n\n const actionValue = useMemo(\n () =>\n Object.keys(actions?.value || {})?.length\n ? actions.value\n : actions?.options\n .filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action),\n [actions?.value, actions?.options, eventFields?.action]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleAccountChange = useCallback(\n (value: any) => {\n accounts.onChangeHandler(value);\n },\n [accounts]\n );\n\n const handleObjectChange = useCallback(\n (value: any) => {\n objects.onChangeHandler(value);\n },\n [objects]\n );\n\n const handleActionChange = useCallback(\n (value: any) => {\n actions.onChangeHandler(value);\n },\n [actions]\n );\n\n const handleContinueClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{TRIGGERS_UI_STRINGS.ACCOUNT_DETAILS}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {TRIGGERS_UI_STRINGS.SURVEY_NAME_LABEL}\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACCOUNT}\n </FormLabel>\n <Select\n value={accountValue}\n options={accounts.options}\n isMulti={accounts?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleAccountChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(accounts?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_OBJECT}\n </FormLabel>\n <Select\n options={objects.options}\n value={objectValue}\n isMulti={objects?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleObjectChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(objects?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACTION}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actionValue}\n isMulti={actions?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={handleActionChange}\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(actions?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n // disabled={isContinueDisabled || forceDisableEventSetupCTA}\n onClick={handleContinueClick}\n >\n {TRIGGERS_UI_STRINGS.CONTINUE}\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default EventSetup;\n\n"],"names":["CustomPill","useEffect","_a","_b","_c","useMemo","isEventSetupDisabled","useCallback","Flex","Box","Heading","TRIGGERS_UI_STRINGS","Text","FormLabel","Select","FormHelperText","sanitizeHTML","Button","ChevronRightIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventSetup.js","sources":["../../../../src/triggers/components/EventSetup.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useEffect, useCallback, useMemo } from \"react\";\nimport {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n Select,\n FormHelperText,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport { EventSetupProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled } from \"../utils\";\nimport { sanitizeHTML } from \"../../commons/utils\";\n\n/* ----- Helper Components ----- */\n\n/**\n * Custom multi-value component for Select\n *\n * @param {any} props - Component props\n * @returns {JSX.Element} Rendered custom pill\n */\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\n/* ----- Main Component ----- */\n\n/**\n * EventSetup component for configuring trigger event details\n *\n * @param {EventSetupProps} props - Component props\n * @returns {JSX.Element} Rendered EventSetup component\n */\nconst EventSetup: React.FC<EventSetupProps> = ({\n forceDisableEventSetupCTA,\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n}) => {\n /* ----- Effects ----- */\n\n useEffect(() => {\n if (\n actions?.options?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )?.length\n ) {\n actions?.onChangeHandler(\n Object.keys(actions?.value || {})?.length\n ? actions?.value\n : actions?.options\n ?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action)\n );\n }\n if (\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n ) {\n objects?.onChangeHandler(\n objects?.value ??\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n );\n }\n }, [actions?.value, objects?.value, actions, objects, eventFields]);\n\n /* ----- Constants ----- */\n\n const isContinueDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const accountValue = useMemo(\n () =>\n accounts?.options?.find(\n (account: any) => account?.value === eventFields?.account\n ) ?? accounts?.value,\n [accounts?.options, accounts?.value, eventFields?.account]\n );\n\n const objectValue = useMemo(\n () =>\n objects?.value ??\n objects?.options?.find(\n (object: any) => object.value === eventFields?.object\n ),\n [objects?.value, objects?.options, eventFields?.object]\n );\n\n const actionValue = useMemo(\n () =>\n Object.keys(actions?.value || {})?.length\n ? actions.value\n : actions?.options\n .filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action),\n [actions?.value, actions?.options, eventFields?.action]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleAccountChange = useCallback(\n (value: any) => {\n accounts.onChangeHandler(value);\n },\n [accounts]\n );\n\n const handleObjectChange = useCallback(\n (value: any) => {\n objects.onChangeHandler(value);\n },\n [objects]\n );\n\n const handleActionChange = useCallback(\n (value: any) => {\n actions.onChangeHandler(value);\n },\n [actions]\n );\n\n const handleContinueClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{TRIGGERS_UI_STRINGS.ACCOUNT_DETAILS}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {TRIGGERS_UI_STRINGS.SURVEY_NAME_LABEL}\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACCOUNT}\n </FormLabel>\n <Select\n value={accountValue}\n options={accounts.options}\n isMulti={accounts?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleAccountChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(accounts?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_OBJECT}\n </FormLabel>\n <Select\n options={objects.options}\n value={objectValue}\n isMulti={objects?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleObjectChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(objects?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACTION}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actionValue}\n isMulti={actions?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={handleActionChange}\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(actions?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n disabled={isContinueDisabled || forceDisableEventSetupCTA}\n onClick={handleContinueClick}\n >\n {TRIGGERS_UI_STRINGS.CONTINUE}\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default EventSetup;\n\n"],"names":["CustomPill","useEffect","_a","_b","_c","useMemo","isEventSetupDisabled","useCallback","Flex","Box","Heading","TRIGGERS_UI_STRINGS","Text","FormLabel","Select","FormHelperText","sanitizeHTML","Button","ChevronRightIcon"],"mappings":"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"}
|
|
@@ -57,7 +57,7 @@ const Trigger = ({
|
|
|
57
57
|
variableOptions,
|
|
58
58
|
contactUniqueConstraint
|
|
59
59
|
}) => {
|
|
60
|
-
var _a, _b, _c, _d, _e, _f;
|
|
60
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
61
61
|
const { isEditing, setIsEditing } = useTriggerState.useTriggerState();
|
|
62
62
|
const {
|
|
63
63
|
addFilterCondition,
|
|
@@ -76,6 +76,23 @@ const Trigger = ({
|
|
|
76
76
|
surveyId: surveyDetails == null ? void 0 : surveyDetails.surveyId,
|
|
77
77
|
shareChannelOptions
|
|
78
78
|
});
|
|
79
|
+
const hasFiltersWithValues = React.useMemo(
|
|
80
|
+
() => validation_utils.hasFiltersWithValues(fields),
|
|
81
|
+
[fields]
|
|
82
|
+
);
|
|
83
|
+
const [passAndSendSectionsUnlocked, setPassAndSendSectionsUnlocked] = React.useState(false);
|
|
84
|
+
React.useEffect(() => {
|
|
85
|
+
if (hasFiltersWithValues) {
|
|
86
|
+
setPassAndSendSectionsUnlocked(true);
|
|
87
|
+
}
|
|
88
|
+
}, [hasFiltersWithValues]);
|
|
89
|
+
React.useEffect(() => {
|
|
90
|
+
var _a2;
|
|
91
|
+
if (!((_a2 = fields == null ? void 0 : fields.filters) == null ? void 0 : _a2.length)) {
|
|
92
|
+
setPassAndSendSectionsUnlocked(false);
|
|
93
|
+
}
|
|
94
|
+
}, [(_a = fields == null ? void 0 : fields.filters) == null ? void 0 : _a.length]);
|
|
95
|
+
const showPassAndSendSections = passAndSendSectionsUnlocked || hasFiltersWithValues;
|
|
79
96
|
const selectedCondition = React.useMemo(
|
|
80
97
|
() => {
|
|
81
98
|
var _a2;
|
|
@@ -85,15 +102,6 @@ const Trigger = ({
|
|
|
85
102
|
},
|
|
86
103
|
[fields.condition]
|
|
87
104
|
);
|
|
88
|
-
const hasFiltersWithValues = React.useMemo(
|
|
89
|
-
() => fields.filters.some(
|
|
90
|
-
(filter) => {
|
|
91
|
-
var _a2;
|
|
92
|
-
return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
|
|
93
|
-
}
|
|
94
|
-
),
|
|
95
|
-
[fields.filters]
|
|
96
|
-
);
|
|
97
105
|
const filteredShareRecipientOptions = React.useMemo(
|
|
98
106
|
() => shareRecipientOptions == null ? void 0 : shareRecipientOptions.filter(
|
|
99
107
|
(option) => {
|
|
@@ -101,7 +109,7 @@ const Trigger = ({
|
|
|
101
109
|
return (option == null ? void 0 : option.type) === ((_a2 = triggerDetails.shareType) == null ? void 0 : _a2.value);
|
|
102
110
|
}
|
|
103
111
|
),
|
|
104
|
-
[shareRecipientOptions, (
|
|
112
|
+
[shareRecipientOptions, (_b = triggerDetails.shareType) == null ? void 0 : _b.value]
|
|
105
113
|
);
|
|
106
114
|
const filteredShareChannelOptions = React.useMemo(() => {
|
|
107
115
|
var _a2, _b2;
|
|
@@ -123,7 +131,7 @@ const Trigger = ({
|
|
|
123
131
|
];
|
|
124
132
|
}
|
|
125
133
|
return [];
|
|
126
|
-
}, [channels, (
|
|
134
|
+
}, [channels, (_c = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _c.value]);
|
|
127
135
|
const setTriggerFields = React.useCallback(
|
|
128
136
|
(property, value) => {
|
|
129
137
|
setTriggerDetails((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
@@ -271,9 +279,9 @@ const Trigger = ({
|
|
|
271
279
|
{
|
|
272
280
|
flexDirection: "column",
|
|
273
281
|
gap: "$12",
|
|
274
|
-
css: { marginTop: ((
|
|
282
|
+
css: { marginTop: ((_d = fields == null ? void 0 : fields.filters) == null ? void 0 : _d.length) ? "$12" : 0 }
|
|
275
283
|
},
|
|
276
|
-
(
|
|
284
|
+
(_e = fields == null ? void 0 : fields.filters) == null ? void 0 : _e.map((filters, index) => /* @__PURE__ */ React.createElement(
|
|
277
285
|
filter.Filter,
|
|
278
286
|
{
|
|
279
287
|
key: filters.id,
|
|
@@ -302,7 +310,7 @@ const Trigger = ({
|
|
|
302
310
|
onClick: handleAddConditionClick
|
|
303
311
|
},
|
|
304
312
|
"Add Condition"
|
|
305
|
-
),
|
|
313
|
+
), showPassAndSendSections ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$12", css: { marginTop: "$40" } }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5" }, "Pass Variable to Survey"), /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Fields"), /* @__PURE__ */ React.createElement(
|
|
306
314
|
select.Select,
|
|
307
315
|
{
|
|
308
316
|
placeholder: "",
|
|
@@ -356,7 +364,7 @@ const Trigger = ({
|
|
|
356
364
|
},
|
|
357
365
|
options: variableOptions
|
|
358
366
|
}
|
|
359
|
-
)) : null) : null,
|
|
367
|
+
)) : null) : null, showPassAndSendSections ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$12", css: { marginBlock: "$40" } }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5" }, "Send Survey"), /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Share Type"), /* @__PURE__ */ React.createElement(
|
|
360
368
|
select.Select,
|
|
361
369
|
{
|
|
362
370
|
placeholder: "",
|
|
@@ -397,7 +405,7 @@ const Trigger = ({
|
|
|
397
405
|
placeholder: "",
|
|
398
406
|
size: "lg",
|
|
399
407
|
onChange: handleShareRecipientChange,
|
|
400
|
-
isDisabled: !((
|
|
408
|
+
isDisabled: !((_f = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _f.value),
|
|
401
409
|
value: triggerDetails == null ? void 0 : triggerDetails.shareRecipient,
|
|
402
410
|
options: filteredShareRecipientOptions
|
|
403
411
|
}
|
|
@@ -416,7 +424,7 @@ const Trigger = ({
|
|
|
416
424
|
alignItems: "center"
|
|
417
425
|
})
|
|
418
426
|
},
|
|
419
|
-
isDisabled: !((
|
|
427
|
+
isDisabled: !((_g = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _g.value),
|
|
420
428
|
value: triggerDetails == null ? void 0 : triggerDetails.shareChannel,
|
|
421
429
|
onChange: handleShareChannelChange,
|
|
422
430
|
options: filteredShareChannelOptions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { Filter } from \"./subcomponents\";\nimport {\n CustomShareOption,\n CustomSingleValue,\n CustomMultiValue,\n CustomShareChannelOption,\n CustomShareChannelSingleValue,\n} from \"./custom-share-components\";\nimport {\n useTriggerState,\n useFilterManagement,\n useChannelData,\n} from \"../hooks\";\nimport { isEmpty } from \"../utils\";\nimport { ContactUniqueConstraint } from \"../types\";\n\n/* ----- Types / Interfaces ----- */\n\ntype TriggerProps = {\n fields: any;\n setFields: (fields: any) => void;\n token: string;\n apiURL: string;\n surveyDetails: any;\n hasNestedCondition: boolean;\n shareRecipientOptions: any[];\n shareChannelOptions: any[];\n triggerDetails: any;\n setTriggerDetails: (details: any) => void;\n fieldOptions: any[];\n variableOptions: any[];\n contactUniqueConstraint?: ContactUniqueConstraint;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Trigger component for setting up trigger conditions and actions\n *\n * @param {TriggerProps} props - Component props\n * @returns {JSX.Element} Rendered Trigger component\n */\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n contactUniqueConstraint,\n}) => {\n /* ----- Hooks ----- */\n\n const { isEditing, setIsEditing } = useTriggerState();\n\n const {\n addFilterCondition,\n addNestedFilterCondition,\n setCurrentField,\n removeCurrentFilter,\n removeNestedField,\n setNestedFieldCondition,\n } = useFilterManagement({\n setFields,\n setIsEditing,\n });\n\n const { channels } = useChannelData({\n token,\n apiURL,\n surveyId: surveyDetails?.surveyId,\n shareChannelOptions,\n });\n\n /* ----- Constants ----- */\n\n const selectedCondition = useMemo(\n () =>\n topLevelCondition.find(\n (condition) => condition.value === fields.condition\n )?.label,\n [fields.condition]\n );\n\n const hasFiltersWithValues = useMemo(\n () =>\n fields.filters.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n ),\n [fields.filters]\n );\n\n const filteredShareRecipientOptions = useMemo(\n () =>\n shareRecipientOptions?.filter(\n (option: any) => option?.type === triggerDetails.shareType?.value\n ),\n [shareRecipientOptions, triggerDetails.shareType?.value]\n );\n\n const filteredShareChannelOptions = useMemo(() => {\n const filtered = channels.filter(\n (channel: any) => channel?.type === triggerDetails?.shareType?.value\n );\n if (filtered.length) {\n return filtered;\n }\n if (\n triggerDetails?.shareType?.value !== \"WHATSAPP\" &&\n triggerDetails?.shareType?.value !== \"SMS\"\n ) {\n return [\n {\n label: \"New Share \",\n value: \"NEW_SHARE\",\n },\n ];\n }\n return [];\n }, [channels, triggerDetails?.shareType?.value]);\n\n /* ----- Event Handlers ----- */\n\n const setTriggerFields = useCallback(\n (property: string, value: any) => {\n setTriggerDetails((prev: any) => ({\n ...prev,\n [property]: value,\n }));\n },\n [setTriggerDetails]\n );\n\n const handleConditionChange = useCallback(\n (conditionValue: string) => {\n setFields((prev: any) => ({\n ...prev,\n condition: conditionValue,\n }));\n },\n [setFields]\n );\n\n const handleAddConditionClick = useCallback(() => {\n setIsEditing(true);\n addFilterCondition();\n }, [setIsEditing, addFilterCondition]);\n\n const handleVariablesChange = useCallback(\n (field: any) => {\n setTriggerFields(\"variables\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareTypeChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n },\n [setTriggerFields]\n );\n\n const handleShareRecipientChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareRecipient\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareChannelChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareChannel\", field);\n },\n [setTriggerFields]\n );\n\n const handleContactUniqueFieldChange = useCallback(\n (field: any) => {\n const constraintKey = contactUniqueConstraint?.value;\n if (!constraintKey) return;\n setTriggerFields(\n \"contactUniqueField\",\n field?.value ? { [constraintKey]: field.value } : null\n );\n },\n [setTriggerFields, contactUniqueConstraint?.value]\n );\n\n const selectedContactUniqueOption = useMemo(() => {\n const constraintKey = contactUniqueConstraint?.value;\n const stored = triggerDetails?.contactUniqueField;\n if (!constraintKey || !stored) return null;\n const variableValue = stored[constraintKey];\n if (!variableValue) return null;\n return (\n variableOptions?.find((option: any) => option?.value === variableValue) ??\n null\n );\n }, [\n contactUniqueConstraint?.value,\n triggerDetails?.contactUniqueField,\n variableOptions,\n ]);\n\n const resetEditing = useCallback(() => {\n setIsEditing(false);\n }, [setIsEditing]);\n\n /* ----- Render ----- */\n return (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">Set Condition</Heading>\n <Flex alignItems=\"center\" css={{ marginTop: \"$12\" }}>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n which meets{\" \"}\n </Text>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"0 $2\",\n }}\n >\n <Text\n size=\"md\"\n weight=\"medium\"\n css={{ color: \"$neutral900\", lineHeight: \"$sm\" }}\n >\n {selectedCondition}\n </Text>\n <ChevronDownIcon size={16} color=\"#6A6A6A\" />\n </Flex>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n css={{\n padding: \"$4 0\",\n minWidth: \"$15\",\n }}\n >\n {topLevelCondition.map((condition) => (\n <DropdownMenuItem\n key={condition.value}\n onClick={() => handleConditionChange(condition.value)}\n css={{\n ...(condition.value === fields.condition && {\n background: \"$primary100\",\n color: \"$neutral900\",\n \"&:hover\": {\n background: \"$primary100\",\n color: \"$neutral900\",\n },\n }),\n }}\n >\n {condition.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n of these conditions\n </Text>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$12\"\n css={{ marginTop: fields?.filters?.length ? \"$12\" : 0 }}\n >\n {fields?.filters?.map((filters: any, index: number) => (\n <Filter\n key={filters.id}\n filters={filters}\n fields={fields}\n hasNestedCondition={hasNestedCondition}\n index={index}\n isEditing={isEditing}\n setIsEditing={setIsEditing}\n setCurrentField={setCurrentField}\n resetEditing={resetEditing}\n addNestedFilterCondition={addNestedFilterCondition}\n setNestedFieldCondition={setNestedFieldCondition}\n removeCurrentFilter={removeCurrentFilter}\n removeNestedField={removeNestedField}\n fieldOptions={fieldOptions}\n />\n ))}\n </Flex>\n <Button\n css={{ marginTop: \"$8\", marginLeft: \"-$2\" }}\n leftIcon={<PlusIcon />}\n variant=\"ghost\"\n size=\"md\"\n onClick={handleAddConditionClick}\n >\n Add Condition\n </Button>\n {hasFiltersWithValues ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginTop: \"$40\" }}>\n <Heading size=\"h5\">Pass Variable to Survey</Heading>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Fields\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isMulti\n closeMenuOnSelect={false}\n isClearable={false}\n value={triggerDetails?.variables}\n onChange={handleVariablesChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n options={variableOptions}\n />\n </Flex>\n {contactUniqueConstraint?.hasUniqueConstraint ? (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`Contact Uniqueness Field for \"${contactUniqueConstraint.label}\"`}\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isClearable={false}\n value={selectedContactUniqueOption}\n onChange={handleContactUniqueFieldChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n }}\n options={variableOptions}\n />\n </Flex>\n ) : null}\n </Flex>\n ) : null}\n {hasFiltersWithValues ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginBlock: \"$40\" }}>\n <Heading size=\"h5\">Send Survey</Heading>\n <Flex flexDirection=\"column\" gap=\"$8\">\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Type\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n value={triggerDetails?.shareType}\n onChange={handleShareTypeChange}\n options={[\n {\n id: 1,\n label: \"Email\",\n value: \"EMAIL\",\n },\n {\n id: 2,\n label: \"SMS\",\n value: \"SMS\",\n },\n {\n id: 3,\n label: \"Whatsapp\",\n value: \"WHATSAPP\",\n },\n ]}\n />\n </Flex>\n {!isEmpty(triggerDetails?.shareType) && (\n <>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Recipient\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n onChange={handleShareRecipientChange}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareRecipient}\n options={filteredShareRecipientOptions}\n />\n </Flex>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Channel\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareChannelOption,\n SingleValue: CustomShareChannelSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareChannel}\n onChange={handleShareChannelChange}\n options={filteredShareChannelOptions}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\n\nexport default Trigger;"],"names":["useTriggerState","useFilterManagement","useChannelData","useMemo","_a","topLevelCondition","_b","useCallback","Flex","Box","Heading","Text","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Filter","Button","PlusIcon","FormLabel","Select","CustomMultiValue","CustomShareOption","CustomSingleValue","isEmpty","CustomShareChannelOption","CustomShareChannelSingleValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { Filter } from \"./subcomponents\";\nimport {\n CustomShareOption,\n CustomSingleValue,\n CustomMultiValue,\n CustomShareChannelOption,\n CustomShareChannelSingleValue,\n} from \"./custom-share-components\";\nimport { useTriggerState, useFilterManagement, useChannelData } from \"../hooks\";\nimport { hasFiltersWithValues as checkFiltersHaveValues } from \"../utils\";\nimport { isEmpty } from \"../utils\";\nimport { ContactUniqueConstraint } from \"../types\";\n\n/* ----- Types / Interfaces ----- */\n\ntype TriggerProps = {\n fields: any;\n setFields: (fields: any) => void;\n token: string;\n apiURL: string;\n surveyDetails: any;\n hasNestedCondition: boolean;\n shareRecipientOptions: any[];\n shareChannelOptions: any[];\n triggerDetails: any;\n setTriggerDetails: (details: any) => void;\n fieldOptions: any[];\n variableOptions: any[];\n contactUniqueConstraint?: ContactUniqueConstraint;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Trigger component for setting up trigger conditions and actions\n *\n * @param {TriggerProps} props - Component props\n * @returns {JSX.Element} Rendered Trigger component\n */\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n contactUniqueConstraint,\n}) => {\n /* ----- Hooks ----- */\n\n const { isEditing, setIsEditing } = useTriggerState();\n\n const {\n addFilterCondition,\n addNestedFilterCondition,\n setCurrentField,\n removeCurrentFilter,\n removeNestedField,\n setNestedFieldCondition,\n } = useFilterManagement({\n setFields,\n setIsEditing,\n });\n\n const { channels } = useChannelData({\n token,\n apiURL,\n surveyId: surveyDetails?.surveyId,\n shareChannelOptions,\n });\n\n const hasFiltersWithValues = useMemo(\n () => checkFiltersHaveValues(fields),\n [fields]\n );\n\n const [passAndSendSectionsUnlocked, setPassAndSendSectionsUnlocked] =\n useState(false);\n\n useEffect(() => {\n if (hasFiltersWithValues) {\n setPassAndSendSectionsUnlocked(true);\n }\n }, [hasFiltersWithValues]);\n\n useEffect(() => {\n if (!fields?.filters?.length) {\n setPassAndSendSectionsUnlocked(false);\n }\n }, [fields?.filters?.length]);\n\n const showPassAndSendSections =\n passAndSendSectionsUnlocked || hasFiltersWithValues;\n\n /* ----- Constants ----- */\n\n const selectedCondition = useMemo(\n () =>\n topLevelCondition.find(\n (condition) => condition.value === fields.condition\n )?.label,\n [fields.condition]\n );\n\n const filteredShareRecipientOptions = useMemo(\n () =>\n shareRecipientOptions?.filter(\n (option: any) => option?.type === triggerDetails.shareType?.value\n ),\n [shareRecipientOptions, triggerDetails.shareType?.value]\n );\n\n const filteredShareChannelOptions = useMemo(() => {\n const filtered = channels.filter(\n (channel: any) => channel?.type === triggerDetails?.shareType?.value\n );\n if (filtered.length) {\n return filtered;\n }\n if (\n triggerDetails?.shareType?.value !== \"WHATSAPP\" &&\n triggerDetails?.shareType?.value !== \"SMS\"\n ) {\n return [\n {\n label: \"New Share \",\n value: \"NEW_SHARE\",\n },\n ];\n }\n return [];\n }, [channels, triggerDetails?.shareType?.value]);\n\n /* ----- Event Handlers ----- */\n\n const setTriggerFields = useCallback(\n (property: string, value: any) => {\n setTriggerDetails((prev: any) => ({\n ...prev,\n [property]: value,\n }));\n },\n [setTriggerDetails]\n );\n\n const handleConditionChange = useCallback(\n (conditionValue: string) => {\n setFields((prev: any) => ({\n ...prev,\n condition: conditionValue,\n }));\n },\n [setFields]\n );\n\n const handleAddConditionClick = useCallback(() => {\n setIsEditing(true);\n addFilterCondition();\n }, [setIsEditing, addFilterCondition]);\n\n const handleVariablesChange = useCallback(\n (field: any) => {\n setTriggerFields(\"variables\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareTypeChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n },\n [setTriggerFields]\n );\n\n const handleShareRecipientChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareRecipient\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareChannelChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareChannel\", field);\n },\n [setTriggerFields]\n );\n\n const handleContactUniqueFieldChange = useCallback(\n (field: any) => {\n const constraintKey = contactUniqueConstraint?.value;\n if (!constraintKey) return;\n setTriggerFields(\n \"contactUniqueField\",\n field?.value ? { [constraintKey]: field.value } : null\n );\n },\n [setTriggerFields, contactUniqueConstraint?.value]\n );\n\n const selectedContactUniqueOption = useMemo(() => {\n const constraintKey = contactUniqueConstraint?.value;\n const stored = triggerDetails?.contactUniqueField;\n if (!constraintKey || !stored) return null;\n const variableValue = stored[constraintKey];\n if (!variableValue) return null;\n return (\n variableOptions?.find((option: any) => option?.value === variableValue) ??\n null\n );\n }, [\n contactUniqueConstraint?.value,\n triggerDetails?.contactUniqueField,\n variableOptions,\n ]);\n\n const resetEditing = useCallback(() => {\n setIsEditing(false);\n }, [setIsEditing]);\n\n /* ----- Render ----- */\n return (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">Set Condition</Heading>\n <Flex alignItems=\"center\" css={{ marginTop: \"$12\" }}>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n which meets{\" \"}\n </Text>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"0 $2\",\n }}\n >\n <Text\n size=\"md\"\n weight=\"medium\"\n css={{ color: \"$neutral900\", lineHeight: \"$sm\" }}\n >\n {selectedCondition}\n </Text>\n <ChevronDownIcon size={16} color=\"#6A6A6A\" />\n </Flex>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n css={{\n padding: \"$4 0\",\n minWidth: \"$15\",\n }}\n >\n {topLevelCondition.map((condition) => (\n <DropdownMenuItem\n key={condition.value}\n onClick={() => handleConditionChange(condition.value)}\n css={{\n ...(condition.value === fields.condition && {\n background: \"$primary100\",\n color: \"$neutral900\",\n \"&:hover\": {\n background: \"$primary100\",\n color: \"$neutral900\",\n },\n }),\n }}\n >\n {condition.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n of these conditions\n </Text>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$12\"\n css={{ marginTop: fields?.filters?.length ? \"$12\" : 0 }}\n >\n {fields?.filters?.map((filters: any, index: number) => (\n <Filter\n key={filters.id}\n filters={filters}\n fields={fields}\n hasNestedCondition={hasNestedCondition}\n index={index}\n isEditing={isEditing}\n setIsEditing={setIsEditing}\n setCurrentField={setCurrentField}\n resetEditing={resetEditing}\n addNestedFilterCondition={addNestedFilterCondition}\n setNestedFieldCondition={setNestedFieldCondition}\n removeCurrentFilter={removeCurrentFilter}\n removeNestedField={removeNestedField}\n fieldOptions={fieldOptions}\n />\n ))}\n </Flex>\n <Button\n css={{ marginTop: \"$8\", marginLeft: \"-$2\" }}\n leftIcon={<PlusIcon />}\n variant=\"ghost\"\n size=\"md\"\n onClick={handleAddConditionClick}\n >\n Add Condition\n </Button>\n {showPassAndSendSections ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginTop: \"$40\" }}>\n <Heading size=\"h5\">Pass Variable to Survey</Heading>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Fields\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isMulti\n closeMenuOnSelect={false}\n isClearable={false}\n value={triggerDetails?.variables}\n onChange={handleVariablesChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n options={variableOptions}\n />\n </Flex>\n {contactUniqueConstraint?.hasUniqueConstraint ? (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`Contact Uniqueness Field for \"${contactUniqueConstraint.label}\"`}\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isClearable={false}\n value={selectedContactUniqueOption}\n onChange={handleContactUniqueFieldChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n }}\n options={variableOptions}\n />\n </Flex>\n ) : null}\n </Flex>\n ) : null}\n {showPassAndSendSections ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginBlock: \"$40\" }}>\n <Heading size=\"h5\">Send Survey</Heading>\n <Flex flexDirection=\"column\" gap=\"$8\">\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Type\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n value={triggerDetails?.shareType}\n onChange={handleShareTypeChange}\n options={[\n {\n id: 1,\n label: \"Email\",\n value: \"EMAIL\",\n },\n {\n id: 2,\n label: \"SMS\",\n value: \"SMS\",\n },\n {\n id: 3,\n label: \"Whatsapp\",\n value: \"WHATSAPP\",\n },\n ]}\n />\n </Flex>\n {!isEmpty(triggerDetails?.shareType) && (\n <>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Recipient\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n onChange={handleShareRecipientChange}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareRecipient}\n options={filteredShareRecipientOptions}\n />\n </Flex>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Channel\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareChannelOption,\n SingleValue: CustomShareChannelSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareChannel}\n onChange={handleShareChannelChange}\n options={filteredShareChannelOptions}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\n\nexport default Trigger;"],"names":["useTriggerState","useFilterManagement","useChannelData","useMemo","checkFiltersHaveValues","useState","useEffect","_a","topLevelCondition","_b","useCallback","Flex","Box","Heading","Text","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Filter","Button","PlusIcon","FormLabel","Select","CustomMultiValue","CustomShareOption","CustomSingleValue","isEmpty","CustomShareChannelOption","CustomShareChannelSingleValue"],"mappings":"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"}
|
|
@@ -13,6 +13,15 @@ const isTriggerDetailsValid = (triggerDetails, contactUniqueConstraint) => {
|
|
|
13
13
|
}
|
|
14
14
|
return true;
|
|
15
15
|
};
|
|
16
|
+
const hasFiltersWithValues = (fields) => {
|
|
17
|
+
var _a;
|
|
18
|
+
return (_a = fields == null ? void 0 : fields.filters) == null ? void 0 : _a.some(
|
|
19
|
+
(filter) => {
|
|
20
|
+
var _a2;
|
|
21
|
+
return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
};
|
|
16
25
|
const isEventSetupDisabled = (actions, objects, eventFields) => {
|
|
17
26
|
return (!actions.value || !objects.value) && (!objects.options.find((object) => object.value === (eventFields == null ? void 0 : eventFields.object)) || !actions.options.find(
|
|
18
27
|
(action) => {
|
|
@@ -39,6 +48,7 @@ const isSaveDisabled = (fields, triggerDetails, contactUniqueConstraint) => {
|
|
|
39
48
|
};
|
|
40
49
|
|
|
41
50
|
exports.areAllFiltersComplete = areAllFiltersComplete;
|
|
51
|
+
exports.hasFiltersWithValues = hasFiltersWithValues;
|
|
42
52
|
exports.isEmpty = isEmpty;
|
|
43
53
|
exports.isEventSetupDisabled = isEventSetupDisabled;
|
|
44
54
|
exports.isSaveDisabled = isSaveDisabled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.utils.js","sources":["../../../../src/triggers/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utilities for Triggers module\n */\n\n/**\n * Checks if an object is empty\n * @param object - Object to check\n * @returns boolean indicating if object is empty\n */\nexport const isEmpty = (object: any): boolean => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\n/**\n * Checks if trigger details are valid\n * @param triggerDetails - Trigger details object\n * @param contactUniqueConstraint - Optional unique constraint metadata\n * @returns boolean indicating if details are valid\n */\nexport const isTriggerDetailsValid = (\n triggerDetails: any,\n contactUniqueConstraint?: { hasUniqueConstraint?: boolean } | null\n): boolean => {\n const baseValid =\n !isEmpty(triggerDetails.shareChannel) &&\n !isEmpty(triggerDetails.shareRecipient) &&\n !isEmpty(triggerDetails.shareType);\n\n if (!baseValid) return false;\n\n if (contactUniqueConstraint?.hasUniqueConstraint) {\n return !isEmpty(triggerDetails.contactUniqueField);\n }\n\n return true;\n};\n\n/**\n * Checks if any filter has a value\n * @param fields - Fields object with filters\n * @returns boolean indicating if any filter has value\n */\nexport const hasFiltersWithValues = (fields: any): boolean => {\n return fields?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n );\n};\n\n/**\n * Checks if event setup is disabled\n * @param actions - Actions configuration\n * @param objects - Objects configuration\n * @param eventFields - Event fields\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actions: any,\n objects: any,\n eventFields?: any\n): boolean => {\n return (\n (!actions.value || !objects.value) &&\n (!objects.options.find((object: any) => object.value === eventFields?.object) ||\n !actions.options.find((action: any) =>\n eventFields?.action?.includes(action?.value)\n ))\n );\n};\n\n/**\n * Checks if all filter conditions are completely filled out,\n * including nested conditions (field, comparator, and value).\n * @param fields - Fields object with filters\n * @returns boolean indicating if all filters are complete\n */\nexport const areAllFiltersComplete = (fields: any): boolean => {\n if (!fields?.filters?.length) return false;\n\n return fields.filters.every((filterGroup: any) =>\n filterGroup?.filter?.length > 0 &&\n filterGroup.filter.every(\n (currentFilter: any) =>\n !!currentFilter?.field && !!currentFilter?.comparator && !!currentFilter?.value\n )\n );\n};\n\n/**\n * Checks if save button should be disabled\n * @param fields - Fields with filters\n * @param triggerDetails - Trigger details\n * @param contactUniqueConstraint - Optional unique constraint metadata\n * @returns boolean indicating if save should be disabled\n */\nexport const isSaveDisabled = (\n fields: any,\n triggerDetails: any,\n contactUniqueConstraint?: { hasUniqueConstraint?: boolean } | null\n): boolean => {\n return (\n !areAllFiltersComplete(fields) ||\n !isTriggerDetailsValid(triggerDetails, contactUniqueConstraint)\n );\n};\n\n"],"names":["_a"],"mappings":";;AASO,MAAM,OAAA,GAAU,CAAC,MAAA,KAAyB;AATjD,EAAA,IAAA,EAAA;AAUE,EAAA,OAAA,CAAA,CAAO,YAAO,OAAA,CAAQ,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,KAA3B,mBAA8B,MAAA,MAAW,CAAA;AAClD;AAQO,MAAM,qBAAA,GAAwB,CACnC,cAAA,EACA,uBAAA,KACY;AACZ,EAAA,MAAM,SAAA,GACJ,CAAC,OAAA,CAAQ,cAAA,CAAe,YAAY,CAAA,IACpC,CAAC,OAAA,CAAQ,cAAA,CAAe,cAAc,CAAA,IACtC,CAAC,OAAA,CAAQ,eAAe,SAAS,CAAA;AAEnC,EAAA,IAAI,CAAC,SAAA;AAAW,IAAA,OAAO,KAAA;AAEvB,EAAA,IAAI,mEAAyB,mBAAA,EAAqB;AAChD,IAAA,OAAO,CAAC,OAAA,CAAQ,cAAA,CAAe,kBAAkB,CAAA;AAAA,EACnD;AAEA,EAAA,OAAO,IAAA;AACT;
|
|
1
|
+
{"version":3,"file":"validation.utils.js","sources":["../../../../src/triggers/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utilities for Triggers module\n */\n\n/**\n * Checks if an object is empty\n * @param object - Object to check\n * @returns boolean indicating if object is empty\n */\nexport const isEmpty = (object: any): boolean => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\n/**\n * Checks if trigger details are valid\n * @param triggerDetails - Trigger details object\n * @param contactUniqueConstraint - Optional unique constraint metadata\n * @returns boolean indicating if details are valid\n */\nexport const isTriggerDetailsValid = (\n triggerDetails: any,\n contactUniqueConstraint?: { hasUniqueConstraint?: boolean } | null\n): boolean => {\n const baseValid =\n !isEmpty(triggerDetails.shareChannel) &&\n !isEmpty(triggerDetails.shareRecipient) &&\n !isEmpty(triggerDetails.shareType);\n\n if (!baseValid) return false;\n\n if (contactUniqueConstraint?.hasUniqueConstraint) {\n return !isEmpty(triggerDetails.contactUniqueField);\n }\n\n return true;\n};\n\n/**\n * Checks if any filter has a value\n * @param fields - Fields object with filters\n * @returns boolean indicating if any filter has value\n */\nexport const hasFiltersWithValues = (fields: any): boolean => {\n return fields?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n );\n};\n\n/**\n * Checks if event setup is disabled\n * @param actions - Actions configuration\n * @param objects - Objects configuration\n * @param eventFields - Event fields\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actions: any,\n objects: any,\n eventFields?: any\n): boolean => {\n return (\n (!actions.value || !objects.value) &&\n (!objects.options.find((object: any) => object.value === eventFields?.object) ||\n !actions.options.find((action: any) =>\n eventFields?.action?.includes(action?.value)\n ))\n );\n};\n\n/**\n * Checks if all filter conditions are completely filled out,\n * including nested conditions (field, comparator, and value).\n * @param fields - Fields object with filters\n * @returns boolean indicating if all filters are complete\n */\nexport const areAllFiltersComplete = (fields: any): boolean => {\n if (!fields?.filters?.length) return false;\n\n return fields.filters.every((filterGroup: any) =>\n filterGroup?.filter?.length > 0 &&\n filterGroup.filter.every(\n (currentFilter: any) =>\n !!currentFilter?.field && !!currentFilter?.comparator && !!currentFilter?.value\n )\n );\n};\n\n/**\n * Checks if save button should be disabled\n * @param fields - Fields with filters\n * @param triggerDetails - Trigger details\n * @param contactUniqueConstraint - Optional unique constraint metadata\n * @returns boolean indicating if save should be disabled\n */\nexport const isSaveDisabled = (\n fields: any,\n triggerDetails: any,\n contactUniqueConstraint?: { hasUniqueConstraint?: boolean } | null\n): boolean => {\n return (\n !areAllFiltersComplete(fields) ||\n !isTriggerDetailsValid(triggerDetails, contactUniqueConstraint)\n );\n};\n\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { ChevronRightIcon } from '../../../node_modules/@sparrowengg/twigs-react
|
|
|
10
10
|
import { Text } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
|
|
11
11
|
import { Chip } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
|
|
12
12
|
import { Box } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
|
|
13
|
+
import { CircleLoader } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/loader/circle.js';
|
|
13
14
|
import { Switch } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/switch/switch.js';
|
|
14
15
|
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js';
|
|
15
16
|
import { IconButton } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
|
|
@@ -42,6 +43,17 @@ const DashboardItem = ({
|
|
|
42
43
|
var _a;
|
|
43
44
|
const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);
|
|
44
45
|
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
|
46
|
+
const [isToggling, setIsToggling] = useState(false);
|
|
47
|
+
const handleToggle = async (value) => {
|
|
48
|
+
if (!toggleDashboardField)
|
|
49
|
+
return;
|
|
50
|
+
try {
|
|
51
|
+
setIsToggling(true);
|
|
52
|
+
await Promise.resolve(toggleDashboardField(id, value));
|
|
53
|
+
} finally {
|
|
54
|
+
setIsToggling(false);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
45
57
|
const handleEdit = () => {
|
|
46
58
|
onMappingEditHandler(id);
|
|
47
59
|
handleEditField({
|
|
@@ -100,12 +112,22 @@ const DashboardItem = ({
|
|
|
100
112
|
height: "$4"
|
|
101
113
|
}
|
|
102
114
|
}
|
|
103
|
-
), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold", css: { color: "$neutral800" } }, DASHBOARD_UI_STRINGS.DRAFT)), /* @__PURE__ */ React__default.createElement(Box, { css: { width: "1px", height: "20px", background: "#64748B20" } })), /* @__PURE__ */ React__default.createElement(
|
|
115
|
+
), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold", css: { color: "$neutral800" } }, DASHBOARD_UI_STRINGS.DRAFT)), /* @__PURE__ */ React__default.createElement(Box, { css: { width: "1px", height: "20px", background: "#64748B20" } })), isToggling ? /* @__PURE__ */ React__default.createElement(
|
|
116
|
+
CircleLoader,
|
|
117
|
+
{
|
|
118
|
+
size: "xl",
|
|
119
|
+
css: {
|
|
120
|
+
".twigs-circle-loader__ring": { strokeWidth: "1" },
|
|
121
|
+
".twigs-circle-loader__dot": { strokeWidth: "1" }
|
|
122
|
+
},
|
|
123
|
+
color: "primary"
|
|
124
|
+
}
|
|
125
|
+
) : /* @__PURE__ */ React__default.createElement(
|
|
104
126
|
Switch,
|
|
105
127
|
{
|
|
106
128
|
size: "md",
|
|
107
129
|
checked: isEnabled,
|
|
108
|
-
onChange:
|
|
130
|
+
onChange: handleToggle
|
|
109
131
|
}
|
|
110
132
|
), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
|
|
111
133
|
IconButton,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardItem.js","sources":["../../../../../src/integration-template/components/dashboard/DashboardItem.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Chip,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n PencilIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { ReactNode, useState } from \"react\";\nimport ConfirmationModal from \"../../../commons/components/confirmation-modal\";\nimport { HandleEditField } from \"../../../commons/types/enhanced\";\nimport { ConditionCard } from \"../../../mapping/utils/conditionDescriptionBuilder\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { getDefaultFieldValue } from \"../dashboard-utils\";\nimport { sanitizeHTML } from \"../../../commons/utils\";\n\ntype DashboardItemProps = {\n indicatorText?: string;\n Indicator?: ReactNode;\n hasEditMapping?: boolean;\n isDraft: boolean;\n onMappingEditHandler: (id: string | number) => void;\n icon: ReactNode;\n heading: string;\n description: string;\n fields: any[];\n isEnabled: boolean;\n integrationName: string;\n handleEditField: HandleEditField;\n id: string | number;\n handleDashboardPage: (value: boolean, type: string) => void;\n type: string;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n mappingConditions?: any;\n};\n\nexport const DashboardItem: React.FC<DashboardItemProps> = ({\n indicatorText,\n Indicator,\n hasEditMapping,\n isDraft,\n onMappingEditHandler,\n icon,\n heading,\n description,\n fields,\n integrationName,\n isEnabled,\n handleEditField,\n id,\n handleDashboardPage,\n type,\n toggleDashboardField,\n deleteFieldHandler,\n mappingConditions,\n}) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);\n\n const handleEdit = () => {\n onMappingEditHandler(id);\n handleEditField({\n type,\n values: fields,\n id,\n });\n handleDashboardPage(false, type);\n };\n\n return (\n <>\n <Flex flexDirection=\"column\" css={{ marginTop: \"$8\" }}>\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed ? \"rgba(100, 116, 139, 0.04)\" : \"$white900\",\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Flex>\n <Text size=\"md\" weight=\"bold\">\n {heading}\n </Text>\n {Indicator && (\n <>{Indicator({text: indicatorText})}</>\n )}\n </Flex>\n <Text\n size=\"sm\"\n css={{\n \"& span\": { fontFamily: \"'DM Sans', sans-serif !important\" },\n color: \"$neutral600\",\n \"& b\": {\n fontWeight: \"$6 !important\",\n fontFamily: \"'DM Sans', sans-serif !important\",\n },\n }}\n dangerouslySetInnerHTML={{ __html: sanitizeHTML(description) }}\n />\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n {isDraft && (\n <Flex alignItems=\"center\" gap=\"$12\">\n <Chip rounded=\"full\" size=\"sm\">\n <Box\n css={{\n background: \"$neutral500\",\n borderRadius: \"50%\",\n marginRight: \"$1\",\n width: \"$4\",\n height: \"$4\",\n }}\n />\n <Text size=\"sm\" weight=\"bold\" css={{ color: \"$neutral800\" }}>\n {DASHBOARD_UI_STRINGS.DRAFT}\n </Text>\n </Chip>\n <Box css={{ width: \"1px\", height: \"20px\", background: \"#64748B20\" }} />\n </Flex>\n )}\n <Switch\n size=\"md\"\n checked={isEnabled}\n onChange={(value) => toggleDashboardField(id, value)}\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n aria-label=\"More options\"\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"dm-sans\"\n css={{\n minWidth: 180,\n zIndex: 10,\n \"& p\": { margin: \"0 !important\", padding: \"0 !important\" },\n }}\n sideOffset={4}\n align=\"end\"\n >\n {(hasEditMapping === undefined || hasEditMapping) && (\n <DropdownMenuItem css={{ cursor: \"pointer\" }} onClick={handleEdit}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.EDIT}</Text>\n </Flex>\n </DropdownMenuItem>\n )}\n <DropdownMenuItem\n onClick={() => setIsDeleteModalOpen(true)}\n css={{ cursor: \"pointer\" }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.DELETE}</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box css={{ height: isMappingDisplayed ? \"100%\" : 0 }}>\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 432,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n }}\n >\n {fields?.length ? (\n <Table css={{ borderCollapse: \"collapse\", width: \"100%\" }}>\n <Thead\n css={{\n background: \"$white900\",\n \"& th\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n textAlign: \"left\",\n borderInline: \"none\",\n },\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n position: \"sticky\",\n top: 0,\n zIndex: 10,\n }}\n >\n <Th css={{ paddingLeft: \"$38 !important\" }}>{DASHBOARD_UI_STRINGS.TYPE}</Th>\n <Th>{DASHBOARD_UI_STRINGS.SURVEYSPARROW_FIELD}</Th>\n <Th>\n {DASHBOARD_UI_STRINGS.INTEGRATION_FIELD.replace(\n \"{integrationName}\",\n integrationName\n )}\n </Th>\n <Th css={{ paddingRight: \"$20 !important\" }}>\n {DASHBOARD_UI_STRINGS.DEFAULT_VALUE}\n </Th>\n </Thead>\n <Tbody\n css={{\n \"& tr:last-child\": {\n borderBottom: 0,\n \"& td\": { borderBottom: 0 },\n },\n }}\n >\n {fields.map((field: any, index: number) => (\n <Tr\n key={index}\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n \"& td\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n borderInline: \"none\",\n },\n \"&:hover\": { background: \"none !important\" },\n \"& td:first-child\": { paddingLeft: \"$38 !important\" },\n \"& td:last-child\": { paddingRight: \"$20 !important\" },\n }}\n >\n <Td>{field.mappedType?.label ?? \"--\"}</Td>\n <Td>{field.surveySparrowField?.label ?? \"--\"}</Td>\n <Td>{field.integrationField?.label ?? \"--\"}</Td>\n <Td>{getDefaultFieldValue(field.defaultValue) ?? \"--\"}</Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : null}\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop:\n hasEditMapping === undefined || hasEditMapping\n ? \"$borderWidths$xs solid $neutral200\"\n : \"none\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\",\n }}\n >\n {mappingConditions?.filterGroups?.length ? (\n <Flex flexDirection=\"column\" justifyContent=\"center\">\n <Text\n className=\"dm-sans\"\n size=\"sm\"\n weight=\"bold\"\n css={{\n textTransform: \"uppercase\",\n color: \"$neutral900\",\n fontFamily: \"DM Sans !important\",\n paddingLeft: \"$4\",\n }}\n >\n {DASHBOARD_UI_STRINGS.CONDITION}\n </Text>\n <Flex css={{ marginTop: \"$2 !important\" }}>\n <ConditionCard\n isEditable={false}\n conditionsData={mappingConditions}\n showMoreMenu={false}\n />\n </Flex>\n </Flex>\n ) : null}\n <Button\n size=\"sm\"\n onClick={handleEdit}\n css={{\n visibility:\n hasEditMapping === undefined || hasEditMapping ? \"visible\" : \"hidden\",\n }}\n leftIcon={<PencilIcon />}\n color=\"primary\"\n variant=\"ghost\"\n >\n {`${DASHBOARD_UI_STRINGS.EDIT} ${heading}`}\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n {isDeleteModalOpen && (\n <ConfirmationModal\n name={DASHBOARD_UI_STRINGS.DELETE_MAPPING_TITLE}\n description={DASHBOARD_UI_STRINGS.DELETE_MAPPING_MESSAGE}\n onConfirm={() => {\n deleteFieldHandler(id);\n setIsDeleteModalOpen(false);\n }}\n onCancel={() => setIsDeleteModalOpen(false)}\n />\n )}\n </>\n );\n};\n\n"],"names":["React","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DashboardItem.js","sources":["../../../../../src/integration-template/components/dashboard/DashboardItem.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Chip,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n IconButton,\n Switch,\n CircleLoader,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n PencilIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { ReactNode, useState } from \"react\";\nimport ConfirmationModal from \"../../../commons/components/confirmation-modal\";\nimport { HandleEditField } from \"../../../commons/types/enhanced\";\nimport { ConditionCard } from \"../../../mapping/utils/conditionDescriptionBuilder\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { getDefaultFieldValue } from \"../dashboard-utils\";\nimport { sanitizeHTML } from \"../../../commons/utils\";\n\ntype DashboardItemProps = {\n indicatorText?: string;\n Indicator?: ReactNode;\n hasEditMapping?: boolean;\n isDraft: boolean;\n onMappingEditHandler: (id: string | number) => void;\n icon: ReactNode;\n heading: string;\n description: string;\n fields: any[];\n isEnabled: boolean;\n integrationName: string;\n handleEditField: HandleEditField;\n id: string | number;\n handleDashboardPage: (value: boolean, type: string) => void;\n type: string;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n mappingConditions?: any;\n};\n\nexport const DashboardItem: React.FC<DashboardItemProps> = ({\n indicatorText,\n Indicator,\n hasEditMapping,\n isDraft,\n onMappingEditHandler,\n icon,\n heading,\n description,\n fields,\n integrationName,\n isEnabled,\n handleEditField,\n id,\n handleDashboardPage,\n type,\n toggleDashboardField,\n deleteFieldHandler,\n mappingConditions,\n}) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);\n const [isToggling, setIsToggling] = useState(false);\n\n const handleToggle = async (value: boolean) => {\n if (!toggleDashboardField) return;\n try {\n setIsToggling(true);\n await Promise.resolve(toggleDashboardField(id, value));\n } finally {\n setIsToggling(false);\n }\n };\n\n const handleEdit = () => {\n onMappingEditHandler(id);\n handleEditField({\n type,\n values: fields,\n id,\n });\n handleDashboardPage(false, type);\n };\n\n return (\n <>\n <Flex flexDirection=\"column\" css={{ marginTop: \"$8\" }}>\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed ? \"rgba(100, 116, 139, 0.04)\" : \"$white900\",\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Flex>\n <Text size=\"md\" weight=\"bold\">\n {heading}\n </Text>\n {Indicator && (\n <>{Indicator({text: indicatorText})}</>\n )}\n </Flex>\n <Text\n size=\"sm\"\n css={{\n \"& span\": { fontFamily: \"'DM Sans', sans-serif !important\" },\n color: \"$neutral600\",\n \"& b\": {\n fontWeight: \"$6 !important\",\n fontFamily: \"'DM Sans', sans-serif !important\",\n },\n }}\n dangerouslySetInnerHTML={{ __html: sanitizeHTML(description) }}\n />\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n {isDraft && (\n <Flex alignItems=\"center\" gap=\"$12\">\n <Chip rounded=\"full\" size=\"sm\">\n <Box\n css={{\n background: \"$neutral500\",\n borderRadius: \"50%\",\n marginRight: \"$1\",\n width: \"$4\",\n height: \"$4\",\n }}\n />\n <Text size=\"sm\" weight=\"bold\" css={{ color: \"$neutral800\" }}>\n {DASHBOARD_UI_STRINGS.DRAFT}\n </Text>\n </Chip>\n <Box css={{ width: \"1px\", height: \"20px\", background: \"#64748B20\" }} />\n </Flex>\n )}\n {isToggling ? (\n <CircleLoader\n size=\"xl\"\n css={{\n \".twigs-circle-loader__ring\": { strokeWidth: \"1\" },\n \".twigs-circle-loader__dot\": { strokeWidth: \"1\" },\n }}\n color=\"primary\"\n />\n ) : (\n <Switch\n size=\"md\"\n checked={isEnabled}\n onChange={handleToggle}\n />\n )}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n aria-label=\"More options\"\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"dm-sans\"\n css={{\n minWidth: 180,\n zIndex: 10,\n \"& p\": { margin: \"0 !important\", padding: \"0 !important\" },\n }}\n sideOffset={4}\n align=\"end\"\n >\n {(hasEditMapping === undefined || hasEditMapping) && (\n <DropdownMenuItem css={{ cursor: \"pointer\" }} onClick={handleEdit}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.EDIT}</Text>\n </Flex>\n </DropdownMenuItem>\n )}\n <DropdownMenuItem\n onClick={() => setIsDeleteModalOpen(true)}\n css={{ cursor: \"pointer\" }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.DELETE}</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box css={{ height: isMappingDisplayed ? \"100%\" : 0 }}>\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 432,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n }}\n >\n {fields?.length ? (\n <Table css={{ borderCollapse: \"collapse\", width: \"100%\" }}>\n <Thead\n css={{\n background: \"$white900\",\n \"& th\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n textAlign: \"left\",\n borderInline: \"none\",\n },\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n position: \"sticky\",\n top: 0,\n zIndex: 10,\n }}\n >\n <Th css={{ paddingLeft: \"$38 !important\" }}>{DASHBOARD_UI_STRINGS.TYPE}</Th>\n <Th>{DASHBOARD_UI_STRINGS.SURVEYSPARROW_FIELD}</Th>\n <Th>\n {DASHBOARD_UI_STRINGS.INTEGRATION_FIELD.replace(\n \"{integrationName}\",\n integrationName\n )}\n </Th>\n <Th css={{ paddingRight: \"$20 !important\" }}>\n {DASHBOARD_UI_STRINGS.DEFAULT_VALUE}\n </Th>\n </Thead>\n <Tbody\n css={{\n \"& tr:last-child\": {\n borderBottom: 0,\n \"& td\": { borderBottom: 0 },\n },\n }}\n >\n {fields.map((field: any, index: number) => (\n <Tr\n key={index}\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n \"& td\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n borderInline: \"none\",\n },\n \"&:hover\": { background: \"none !important\" },\n \"& td:first-child\": { paddingLeft: \"$38 !important\" },\n \"& td:last-child\": { paddingRight: \"$20 !important\" },\n }}\n >\n <Td>{field.mappedType?.label ?? \"--\"}</Td>\n <Td>{field.surveySparrowField?.label ?? \"--\"}</Td>\n <Td>{field.integrationField?.label ?? \"--\"}</Td>\n <Td>{getDefaultFieldValue(field.defaultValue) ?? \"--\"}</Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : null}\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop:\n hasEditMapping === undefined || hasEditMapping\n ? \"$borderWidths$xs solid $neutral200\"\n : \"none\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\",\n }}\n >\n {mappingConditions?.filterGroups?.length ? (\n <Flex flexDirection=\"column\" justifyContent=\"center\">\n <Text\n className=\"dm-sans\"\n size=\"sm\"\n weight=\"bold\"\n css={{\n textTransform: \"uppercase\",\n color: \"$neutral900\",\n fontFamily: \"DM Sans !important\",\n paddingLeft: \"$4\",\n }}\n >\n {DASHBOARD_UI_STRINGS.CONDITION}\n </Text>\n <Flex css={{ marginTop: \"$2 !important\" }}>\n <ConditionCard\n isEditable={false}\n conditionsData={mappingConditions}\n showMoreMenu={false}\n />\n </Flex>\n </Flex>\n ) : null}\n <Button\n size=\"sm\"\n onClick={handleEdit}\n css={{\n visibility:\n hasEditMapping === undefined || hasEditMapping ? \"visible\" : \"hidden\",\n }}\n leftIcon={<PencilIcon />}\n color=\"primary\"\n variant=\"ghost\"\n >\n {`${DASHBOARD_UI_STRINGS.EDIT} ${heading}`}\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n {isDeleteModalOpen && (\n <ConfirmationModal\n name={DASHBOARD_UI_STRINGS.DELETE_MAPPING_TITLE}\n description={DASHBOARD_UI_STRINGS.DELETE_MAPPING_MESSAGE}\n onConfirm={() => {\n deleteFieldHandler(id);\n setIsDeleteModalOpen(false);\n }}\n onCancel={() => setIsDeleteModalOpen(false)}\n />\n )}\n </>\n );\n};\n\n"],"names":["React","_a"],"mappings":"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"}
|