@sparrowengg/integrations-templates-frontend 6.0.2 → 6.0.4
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/tabs-content-component.js +1 -0
- package/dist/cjs/dynamic-mapping/components/tabs-content-component.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js +143 -55
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
- package/dist/cjs/mapping/components/custom-date-menu.js +48 -11
- package/dist/cjs/mapping/components/custom-date-menu.js.map +1 -1
- package/dist/cjs/mapping/components/field.js +35 -8
- package/dist/cjs/mapping/components/field.js.map +1 -1
- package/dist/es/dynamic-mapping/components/tabs-content-component.js +1 -0
- package/dist/es/dynamic-mapping/components/tabs-content-component.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js +143 -55
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
- package/dist/es/mapping/components/custom-date-menu.js +49 -12
- package/dist/es/mapping/components/custom-date-menu.js.map +1 -1
- package/dist/es/mapping/components/field.js +35 -8
- package/dist/es/mapping/components/field.js.map +1 -1
- package/package.json +1 -1
|
@@ -44,6 +44,7 @@ const TabsContentComponent = ({
|
|
|
44
44
|
() => mapping_helpers.filterFieldsBySearch(fields || [], searchInput),
|
|
45
45
|
[fields, searchInput]
|
|
46
46
|
);
|
|
47
|
+
console.log("filteredFields", filteredFields);
|
|
47
48
|
const hasResults = React.useMemo(() => (filteredFields == null ? void 0 : filteredFields.length) > 0, [filteredFields]);
|
|
48
49
|
return /* @__PURE__ */ React.createElement(tabs.TabsContent, { value, css: { padding: 0, position: "relative" }, key: value }, /* @__PURE__ */ React.createElement(
|
|
49
50
|
input.Input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-content-component.js","sources":["../../../../src/dynamic-mapping/components/tabs-content-component.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo } from 'react';\nimport { Box, Flex, Input, Text, Checkbox, Tooltip, TabsContent } from '@sparrowengg/twigs-react';\nimport { SearchIcon } from '@sparrowengg/twigs-react-icons';\nimport { filterFieldsBySearch } from '../helpers';\n\n/* ----- Types / Interfaces ----- */\n\ninterface TabsContentComponentProps {\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 /** Whether the data is from API (enables hierarchical display for questions) */\n isApiData?: boolean;\n}\n\n/* ----- Main Component ----- */\n\n/**\n * Tabs content component for mapping fields\n * \n * @param {TabsContentComponentProps} props - Component props\n * @returns {JSX.Element} Tabs content component\n * \n * @example\n * <TabsContentComponent\n * value=\"QUESTIONS\"\n * searchInput={search}\n * fields={questions}\n * handleFieldValues={handleChange}\n * placeholder=\"Questions\"\n * />\n */\nexport const TabsContentComponent = ({\n value,\n searchInput,\n setSearchInput,\n fields,\n handleFieldValues,\n placeholder,\n isApiData = false,\n}: TabsContentComponentProps): JSX.Element => {\n const filteredFields = useMemo(\n () => filterFieldsBySearch(fields || [], searchInput),\n [fields, searchInput]\n );\n\n\n const hasResults = useMemo(() => filteredFields?.length > 0, [filteredFields]);\n\n return (\n <TabsContent value={value} css={{ padding: 0, position: 'relative' }} key={value}>\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 \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 {hasResults ? (\n <>\n {filteredFields.map((field: any) => (\n <Box\n key={field.id}\n css={{\n // Add left padding for child questions when isApiData is true\n ...(isApiData && field.isChild && { paddingLeft: '24px' }),\n label: {\n color: '$neutral900',\n fontSize: '$sm',\n maxWidth: '520px',\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n },\n }}\n >\n <Tooltip\n content={field.tooltip || ''}\n css={{\n fontFamily: 'DM Sans !important',\n zIndex: '9999999 !important',\n }}\n >\n <Flex css={{ width: 'fit-content !important' }}>\n <Checkbox\n size=\"sm\"\n checked={field.isEnabled}\n disabled={field.disabled}\n onChange={(value) => handleFieldValues(field, value as boolean)}\n >\n {isApiData && field.isChild ? `-- ${field.name}` : field.name}\n </Checkbox>\n </Flex>\n </Tooltip>\n </Box>\n ))}\n </>\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"center\" css={{ marginTop: '$40' }}>\n <Text size=\"sm\">No Results Found</Text>\n </Flex>\n )}\n </Flex>\n \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"],"names":["useMemo","filterFieldsBySearch","TabsContent","Input","SearchIcon","Flex","Box","Tooltip","Checkbox","value","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCO,MAAM,uBAAuB,CAAC;AAAA,EACnC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,iBAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA,GAAY;AACd,CAAA,KAA8C;AAC5C,EAAA,MAAM,cAAA,GAAiBA,aAAA;AAAA,IACrB,MAAMC,oCAAA,CAAqB,MAAA,IAAU,IAAI,WAAW,CAAA;AAAA,IACpD,CAAC,QAAQ,WAAW;AAAA,GACtB;
|
|
1
|
+
{"version":3,"file":"tabs-content-component.js","sources":["../../../../src/dynamic-mapping/components/tabs-content-component.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo } from 'react';\nimport { Box, Flex, Input, Text, Checkbox, Tooltip, TabsContent } from '@sparrowengg/twigs-react';\nimport { SearchIcon } from '@sparrowengg/twigs-react-icons';\nimport { filterFieldsBySearch } from '../helpers';\n\n/* ----- Types / Interfaces ----- */\n\ninterface TabsContentComponentProps {\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 /** Whether the data is from API (enables hierarchical display for questions) */\n isApiData?: boolean;\n}\n\n/* ----- Main Component ----- */\n\n/**\n * Tabs content component for mapping fields\n * \n * @param {TabsContentComponentProps} props - Component props\n * @returns {JSX.Element} Tabs content component\n * \n * @example\n * <TabsContentComponent\n * value=\"QUESTIONS\"\n * searchInput={search}\n * fields={questions}\n * handleFieldValues={handleChange}\n * placeholder=\"Questions\"\n * />\n */\nexport const TabsContentComponent = ({\n value,\n searchInput,\n setSearchInput,\n fields,\n handleFieldValues,\n placeholder,\n isApiData = false,\n}: TabsContentComponentProps): JSX.Element => {\n const filteredFields = useMemo(\n () => filterFieldsBySearch(fields || [], searchInput),\n [fields, searchInput]\n );\n console.log('filteredFields', filteredFields);\n\n\n const hasResults = useMemo(() => filteredFields?.length > 0, [filteredFields]);\n\n return (\n <TabsContent value={value} css={{ padding: 0, position: 'relative' }} key={value}>\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 \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 {hasResults ? (\n <>\n {filteredFields.map((field: any) => (\n <Box\n key={field.id}\n css={{\n // Add left padding for child questions when isApiData is true\n ...(isApiData && field.isChild && { paddingLeft: '24px' }),\n label: {\n color: '$neutral900',\n fontSize: '$sm',\n maxWidth: '520px',\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n },\n }}\n >\n <Tooltip\n content={field.tooltip || ''}\n css={{\n fontFamily: 'DM Sans !important',\n zIndex: '9999999 !important',\n }}\n >\n <Flex css={{ width: 'fit-content !important' }}>\n <Checkbox\n size=\"sm\"\n checked={field.isEnabled}\n disabled={field.disabled}\n onChange={(value) => handleFieldValues(field, value as boolean)}\n >\n {isApiData && field.isChild ? `-- ${field.name}` : field.name}\n </Checkbox>\n </Flex>\n </Tooltip>\n </Box>\n ))}\n </>\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"center\" css={{ marginTop: '$40' }}>\n <Text size=\"sm\">No Results Found</Text>\n </Flex>\n )}\n </Flex>\n \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"],"names":["useMemo","filterFieldsBySearch","TabsContent","Input","SearchIcon","Flex","Box","Tooltip","Checkbox","value","Text"],"mappings":"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"}
|
|
@@ -7,67 +7,155 @@ var flex = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/flex/
|
|
|
7
7
|
var text = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
|
|
8
8
|
var box = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
|
|
9
9
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
const MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD = /* @__PURE__ */ new Set([
|
|
11
|
+
"responseImportSettings",
|
|
12
|
+
"responseImportType"
|
|
13
|
+
]);
|
|
14
|
+
function getMappingPayloadConfigurationEntries(configuration) {
|
|
15
|
+
if (!configuration || typeof configuration !== "object" || Array.isArray(configuration)) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
const rows = [];
|
|
19
|
+
for (const [key, entry] of Object.entries(configuration)) {
|
|
20
|
+
if (MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD.has(key)) {
|
|
21
|
+
continue;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
{
|
|
26
|
-
heading: dashboardConstants.DASHBOARD_UI_STRINGS.ACTION,
|
|
27
|
-
description: Array.isArray(field == null ? void 0 : field.action) ? (_h = (_g = field.action) == null ? void 0 : _g.map((a) => {
|
|
28
|
-
var _a2;
|
|
29
|
-
return typeof a === "object" && a !== null ? (_a2 = a == null ? void 0 : a.label) != null ? _a2 : "" : a != null ? a : "";
|
|
30
|
-
})) == null ? void 0 : _h.join(", ") : (_j = (_i = field == null ? void 0 : field.action) == null ? void 0 : _i.toLowerCase()) != null ? _j : ""
|
|
23
|
+
if (entry && typeof entry === "object" && !Array.isArray(entry) && "value" in entry && typeof entry.value !== "undefined") {
|
|
24
|
+
rows.push({ key, value: entry.value });
|
|
31
25
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
}
|
|
27
|
+
return rows;
|
|
28
|
+
}
|
|
29
|
+
function humanizeMappingConfigKey(key) {
|
|
30
|
+
const spaced = key.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/_/g, " ");
|
|
31
|
+
return spaced.replace(/\b\w/g, (c) => c.toUpperCase()).trim();
|
|
32
|
+
}
|
|
33
|
+
function formatMappingConfigValue(value) {
|
|
34
|
+
if (value === null || value === void 0) {
|
|
35
|
+
return { text: "\u2014" };
|
|
36
|
+
}
|
|
37
|
+
if (typeof value === "boolean") {
|
|
38
|
+
return { text: value ? "Yes" : "No" };
|
|
39
|
+
}
|
|
40
|
+
if (typeof value === "number" || typeof value === "string") {
|
|
41
|
+
return { text: String(value) };
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(value)) {
|
|
44
|
+
return {
|
|
45
|
+
text: value.map((item) => formatMappingConfigValue(item).text).join(", ")
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (typeof value === "object") {
|
|
49
|
+
const o = value;
|
|
50
|
+
const label = typeof o.label === "string" ? o.label : typeof o.title === "string" ? o.title : void 0;
|
|
51
|
+
const webUrl = typeof o.webUrl === "string" ? o.webUrl : void 0;
|
|
52
|
+
if (label) {
|
|
53
|
+
return { text: label, link: webUrl };
|
|
37
54
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
heading: dashboardConstants.DASHBOARD_UI_STRINGS.OBJECT,
|
|
42
|
-
description: (_w = (_v = (_u = (_t = field == null ? void 0 : field.configurationFields) == null ? void 0 : _t.object) == null ? void 0 : _u.value) == null ? void 0 : _v.label) == null ? void 0 : _w.replace(
|
|
43
|
-
/^./,
|
|
44
|
-
(char) => char == null ? void 0 : char.toUpperCase()
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
) : null, !!((_y = (_x = field == null ? void 0 : field.configurationFields) == null ? void 0 : _x.action) == null ? void 0 : _y.hasAction) ? /* @__PURE__ */ React.createElement(
|
|
48
|
-
EventComponent.EventComponent,
|
|
49
|
-
{
|
|
50
|
-
hasBorder: true,
|
|
51
|
-
heading: dashboardConstants.DASHBOARD_UI_STRINGS.ACTION,
|
|
52
|
-
description: (_B = (_A = (_z = field == null ? void 0 : field.configurationFields) == null ? void 0 : _z.action) == null ? void 0 : _A.value) == null ? void 0 : _B.label
|
|
55
|
+
if (webUrl) {
|
|
56
|
+
return { text: webUrl, link: webUrl };
|
|
53
57
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
{
|
|
57
|
-
|
|
58
|
-
hasBorder: true,
|
|
59
|
-
heading: dashboardConstants.DASHBOARD_UI_STRINGS.SHEET,
|
|
60
|
-
description: typeof ((_F = field == null ? void 0 : field.configurationFields) == null ? void 0 : _F.spreadsheet) === "object" ? (_I = (_H = (_G = field == null ? void 0 : field.configurationFields) == null ? void 0 : _G.spreadsheet) == null ? void 0 : _H.value) == null ? void 0 : _I.label : (_K = (_J = field == null ? void 0 : field.configurationFields) == null ? void 0 : _J.spreadsheet) == null ? void 0 : _K.value
|
|
58
|
+
try {
|
|
59
|
+
return { text: JSON.stringify(value) };
|
|
60
|
+
} catch (e) {
|
|
61
|
+
return { text: String(value) };
|
|
61
62
|
}
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
}
|
|
64
|
+
return { text: String(value) };
|
|
65
|
+
}
|
|
66
|
+
const SingleMappingEventWrapper = ({
|
|
67
|
+
field,
|
|
68
|
+
isTrigger
|
|
69
|
+
}) => {
|
|
70
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa;
|
|
71
|
+
const mappingPayloadConfigurationEntries = getMappingPayloadConfigurationEntries(
|
|
72
|
+
field == null ? void 0 : field.configuration
|
|
73
|
+
);
|
|
74
|
+
const hasEventSection = !!((_c = (_b = (_a = field == null ? void 0 : field.configurationFields) == null ? void 0 : _a.account) == null ? void 0 : _b.value) == null ? void 0 : _c.label) || !!field.action || !!field.exisitingSheet || !!(field == null ? void 0 : field.configurationFields) || !!field.object && isTrigger || mappingPayloadConfigurationEntries.length > 0;
|
|
75
|
+
const hasLegacyMappingEventPieces = !!(field == null ? void 0 : field.object) || !!(field == null ? void 0 : field.action) || !!((_f = (_e = (_d = field == null ? void 0 : field.configurationFields) == null ? void 0 : _d.account) == null ? void 0 : _e.value) == null ? void 0 : _f.label) || !!((_i = (_h = (_g = field == null ? void 0 : field.configurationFields) == null ? void 0 : _g.object) == null ? void 0 : _h.value) == null ? void 0 : _i.label) || !!((_k = (_j = field == null ? void 0 : field.configurationFields) == null ? void 0 : _j.action) == null ? void 0 : _k.hasAction) || !!((_m = (_l = field == null ? void 0 : field.configurationFields) == null ? void 0 : _l.spreadsheet) == null ? void 0 : _m.value) || !!((_n = field == null ? void 0 : field.configurationFields) == null ? void 0 : _n.reference);
|
|
76
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, hasEventSection ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$6" }, /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "bold", css: { textTransform: "uppercase" } }, dashboardConstants.DASHBOARD_UI_STRINGS.EVENT), /* @__PURE__ */ React.createElement(
|
|
77
|
+
flex.Flex,
|
|
64
78
|
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
79
|
+
alignItems: "center",
|
|
80
|
+
css: {
|
|
81
|
+
flexWrap: "wrap",
|
|
82
|
+
rowGap: "$6"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
/* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$20" }, !!(field == null ? void 0 : field.object) ? /* @__PURE__ */ React.createElement(
|
|
86
|
+
EventComponent.EventComponent,
|
|
87
|
+
{
|
|
88
|
+
heading: dashboardConstants.DASHBOARD_UI_STRINGS.OBJECT,
|
|
89
|
+
description: (_q = (_p = (_o = field == null ? void 0 : field.configuration) == null ? void 0 : _o.object) == null ? void 0 : _p.label) != null ? _q : field == null ? void 0 : field.object
|
|
90
|
+
}
|
|
91
|
+
) : null, !!(field == null ? void 0 : field.action) ? /* @__PURE__ */ React.createElement(
|
|
92
|
+
EventComponent.EventComponent,
|
|
93
|
+
{
|
|
94
|
+
heading: dashboardConstants.DASHBOARD_UI_STRINGS.ACTION,
|
|
95
|
+
description: Array.isArray(field == null ? void 0 : field.action) ? (_s = (_r = field.action) == null ? void 0 : _r.map((a) => {
|
|
96
|
+
var _a2;
|
|
97
|
+
return typeof a === "object" && a !== null ? (_a2 = a == null ? void 0 : a.label) != null ? _a2 : "" : a != null ? a : "";
|
|
98
|
+
})) == null ? void 0 : _s.join(", ") : (_u = (_t = field == null ? void 0 : field.action) == null ? void 0 : _t.toLowerCase()) != null ? _u : ""
|
|
99
|
+
}
|
|
100
|
+
) : null),
|
|
101
|
+
!!((_x = (_w = (_v = field == null ? void 0 : field.configurationFields) == null ? void 0 : _v.account) == null ? void 0 : _w.value) == null ? void 0 : _x.label) ? /* @__PURE__ */ React.createElement(
|
|
102
|
+
EventComponent.EventComponent,
|
|
103
|
+
{
|
|
104
|
+
heading: dashboardConstants.DASHBOARD_UI_STRINGS.ACCOUNT,
|
|
105
|
+
description: (_A = (_z = (_y = field == null ? void 0 : field.configurationFields) == null ? void 0 : _y.account) == null ? void 0 : _z.value) == null ? void 0 : _A.label
|
|
106
|
+
}
|
|
107
|
+
) : null,
|
|
108
|
+
!!((_D = (_C = (_B = field == null ? void 0 : field.configurationFields) == null ? void 0 : _B.object) == null ? void 0 : _C.value) == null ? void 0 : _D.label) ? /* @__PURE__ */ React.createElement(
|
|
109
|
+
EventComponent.EventComponent,
|
|
110
|
+
{
|
|
111
|
+
heading: dashboardConstants.DASHBOARD_UI_STRINGS.OBJECT,
|
|
112
|
+
description: (_H = (_G = (_F = (_E = field == null ? void 0 : field.configurationFields) == null ? void 0 : _E.object) == null ? void 0 : _F.value) == null ? void 0 : _G.label) == null ? void 0 : _H.replace(
|
|
113
|
+
/^./,
|
|
114
|
+
(char) => char == null ? void 0 : char.toUpperCase()
|
|
115
|
+
)
|
|
116
|
+
}
|
|
117
|
+
) : null,
|
|
118
|
+
!!((_J = (_I = field == null ? void 0 : field.configurationFields) == null ? void 0 : _I.action) == null ? void 0 : _J.hasAction) ? /* @__PURE__ */ React.createElement(
|
|
119
|
+
EventComponent.EventComponent,
|
|
120
|
+
{
|
|
121
|
+
hasBorder: true,
|
|
122
|
+
heading: dashboardConstants.DASHBOARD_UI_STRINGS.ACTION,
|
|
123
|
+
description: (_M = (_L = (_K = field == null ? void 0 : field.configurationFields) == null ? void 0 : _K.action) == null ? void 0 : _L.value) == null ? void 0 : _M.label
|
|
124
|
+
}
|
|
125
|
+
) : null,
|
|
126
|
+
!!((_O = (_N = field == null ? void 0 : field.configurationFields) == null ? void 0 : _N.spreadsheet) == null ? void 0 : _O.value) ? /* @__PURE__ */ React.createElement(
|
|
127
|
+
EventComponent.EventComponent,
|
|
128
|
+
{
|
|
129
|
+
hasLink: (_P = field == null ? void 0 : field.configurationFields) == null ? void 0 : _P.sheetURL,
|
|
130
|
+
hasBorder: true,
|
|
131
|
+
heading: dashboardConstants.DASHBOARD_UI_STRINGS.SHEET,
|
|
132
|
+
description: typeof ((_Q = field == null ? void 0 : field.configurationFields) == null ? void 0 : _Q.spreadsheet) === "object" ? (_T = (_S = (_R = field == null ? void 0 : field.configurationFields) == null ? void 0 : _R.spreadsheet) == null ? void 0 : _S.value) == null ? void 0 : _T.label : (_V = (_U = field == null ? void 0 : field.configurationFields) == null ? void 0 : _U.spreadsheet) == null ? void 0 : _V.value
|
|
133
|
+
}
|
|
134
|
+
) : null,
|
|
135
|
+
!!((_W = field == null ? void 0 : field.configurationFields) == null ? void 0 : _W.reference) ? /* @__PURE__ */ React.createElement(
|
|
136
|
+
EventComponent.EventComponent,
|
|
137
|
+
{
|
|
138
|
+
hasLink: (_Y = (_X = field == null ? void 0 : field.configurationFields) == null ? void 0 : _X.reference) == null ? void 0 : _Y.referenceURL,
|
|
139
|
+
hasBorder: true,
|
|
140
|
+
heading: (__ = (_Z = field == null ? void 0 : field.configurationFields) == null ? void 0 : _Z.reference) == null ? void 0 : __.title,
|
|
141
|
+
description: (_aa = (_$ = field == null ? void 0 : field.configurationFields) == null ? void 0 : _$.reference) == null ? void 0 : _aa.description
|
|
142
|
+
}
|
|
143
|
+
) : null,
|
|
144
|
+
mappingPayloadConfigurationEntries.map(({ key, value }, index) => {
|
|
145
|
+
var _a2;
|
|
146
|
+
const formatted = formatMappingConfigValue(value);
|
|
147
|
+
return /* @__PURE__ */ React.createElement(
|
|
148
|
+
EventComponent.EventComponent,
|
|
149
|
+
{
|
|
150
|
+
key: `mapping-config-${key}`,
|
|
151
|
+
hasBorder: hasLegacyMappingEventPieces || index > 0 || (mappingPayloadConfigurationEntries == null ? void 0 : mappingPayloadConfigurationEntries.length) === index - 1,
|
|
152
|
+
heading: `${humanizeMappingConfigKey(key)}:`,
|
|
153
|
+
description: formatted.text,
|
|
154
|
+
hasLink: (_a2 = formatted.link) != null ? _a2 : false
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
})
|
|
158
|
+
), /* @__PURE__ */ React.createElement(
|
|
71
159
|
box.Box,
|
|
72
160
|
{
|
|
73
161
|
css: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleMappingEventWrapper.js","sources":["../../../../../src/integration-template/components/dashboard/SingleMappingEventWrapper.tsx"],"sourcesContent":["import { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport React from \"react\";\nimport { DashboardField } from \"../../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { EventComponent } from \"./EventComponent\";\n\ntype SingleMappingEventWrapperProps = {\n field: DashboardField;\n isTrigger?: boolean;\n};\n\nexport const SingleMappingEventWrapper: React.FC<SingleMappingEventWrapperProps> = ({\n field,\n isTrigger,\n}) => {\n const hasEventSection =\n !!(field as any)?.configurationFields?.account?.value?.label ||\n !!(field as any).action ||\n !!(field as any).exisitingSheet ||\n !!(field as any)?.configurationFields ||\n (!!(field as any).object && isTrigger);\n\n console.log(\"field\", field);\n return (\n <>\n {hasEventSection ? (\n <Flex flexDirection=\"column\" gap=\"$6\">\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {DASHBOARD_UI_STRINGS.EVENT}\n </Text>\n <Flex alignItems=\"center\">\n <Flex alignItems=\"center\" gap=\"$20\">\n {!!(field as any)?.object ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={(field as any)?.configuration?.object?.label ?? field?.object}\n />\n ) : null}\n {!!(field as any)?.action ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={Array.isArray(field?.action)\n ? field.action?.map((a: any) => typeof a === 'object' && a !== null ? a?.label ?? \"\" : a ?? \"\")?.join(\", \")\n : field?.action?.toLowerCase() ?? \"\"}\n />\n ) : null}\n </Flex>\n {!!(field as any)?.configurationFields?.account?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACCOUNT}\n description={(field as any)?.configurationFields?.account?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.object?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={((field as any)?.configurationFields?.object?.value?.label as string)?.replace(\n /^./,\n (char: string) => char?.toUpperCase()\n )}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.action?.hasAction ? (\n <EventComponent\n hasBorder\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={(field as any)?.configurationFields?.action?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.spreadsheet?.value ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.sheetURL as boolean}\n hasBorder\n heading={DASHBOARD_UI_STRINGS.SHEET}\n description={\n typeof (field as any)?.configurationFields?.spreadsheet === \"object\"\n ? (field as any)?.configurationFields?.spreadsheet?.value?.label\n : (field as any)?.configurationFields?.spreadsheet?.value\n }\n />\n ) : null}\n {!!(field as any)?.configurationFields?.reference ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.reference?.referenceURL as boolean}\n hasBorder={false}\n heading={(field as any)?.configurationFields?.reference?.title}\n description={(field as any)?.configurationFields?.reference?.description}\n />\n ) : null}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\",\n }}\n />\n </Flex>\n ) : null}\n </>\n );\n};\n\n"],"names":["Flex","Text","DASHBOARD_UI_STRINGS","EventComponent","_a","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SingleMappingEventWrapper.js","sources":["../../../../../src/integration-template/components/dashboard/SingleMappingEventWrapper.tsx"],"sourcesContent":["import { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport React from \"react\";\nimport { DashboardField } from \"../../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { EventComponent } from \"./EventComponent\";\n\ntype SingleMappingEventWrapperProps = {\n field: DashboardField;\n isTrigger?: boolean;\n};\n\nconst MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD = new Set([\n \"responseImportSettings\",\n \"responseImportType\",\n]);\n\n/** API mapping payloads expose `configuration` as `{ [key]: { id, value } }`. Trigger-style payloads use other shapes — only list entries that match this pattern. */\nfunction getMappingPayloadConfigurationEntries(\n configuration: unknown\n): { key: string; value: unknown }[] {\n if (!configuration || typeof configuration !== \"object\" || Array.isArray(configuration)) {\n return [];\n }\n const rows: { key: string; value: unknown }[] = [];\n for (const [key, entry] of Object.entries(configuration as Record<string, unknown>)) {\n if (MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD.has(key)) {\n continue;\n }\n if (\n entry &&\n typeof entry === \"object\" &&\n !Array.isArray(entry) &&\n \"value\" in entry &&\n typeof (entry as { value?: unknown }).value !== \"undefined\"\n ) {\n rows.push({ key, value: (entry as { value: unknown }).value });\n }\n }\n return rows;\n}\n\nfunction humanizeMappingConfigKey(key: string): string {\n const spaced = key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/_/g, \" \");\n return spaced.replace(/\\b\\w/g, (c) => c.toUpperCase()).trim();\n}\n\nfunction formatMappingConfigValue(value: unknown): { text: string; link?: string } {\n if (value === null || value === undefined) {\n return { text: \"—\" };\n }\n if (typeof value === \"boolean\") {\n return { text: value ? \"Yes\" : \"No\" };\n }\n if (typeof value === \"number\" || typeof value === \"string\") {\n return { text: String(value) };\n }\n if (Array.isArray(value)) {\n return {\n text: value.map((item) => formatMappingConfigValue(item).text).join(\", \"),\n };\n }\n if (typeof value === \"object\") {\n const o = value as Record<string, unknown>;\n const label =\n typeof o.label === \"string\"\n ? o.label\n : typeof o.title === \"string\"\n ? o.title\n : undefined;\n const webUrl = typeof o.webUrl === \"string\" ? o.webUrl : undefined;\n if (label) {\n return { text: label, link: webUrl };\n }\n if (webUrl) {\n return { text: webUrl, link: webUrl };\n }\n try {\n return { text: JSON.stringify(value) };\n } catch {\n return { text: String(value) };\n }\n }\n return { text: String(value) };\n}\n\nexport const SingleMappingEventWrapper: React.FC<SingleMappingEventWrapperProps> = ({\n field,\n isTrigger,\n}) => {\n const mappingPayloadConfigurationEntries = getMappingPayloadConfigurationEntries(\n (field as Record<string, unknown>)?.configuration\n );\n\n const hasEventSection =\n !!(field as any)?.configurationFields?.account?.value?.label ||\n !!(field as any).action ||\n !!(field as any).exisitingSheet ||\n !!(field as any)?.configurationFields ||\n (!!(field as any).object && isTrigger) ||\n mappingPayloadConfigurationEntries.length > 0;\n\n const hasLegacyMappingEventPieces =\n !!(field as any)?.object ||\n !!(field as any)?.action ||\n !!(field as any)?.configurationFields?.account?.value?.label ||\n !!(field as any)?.configurationFields?.object?.value?.label ||\n !!(field as any)?.configurationFields?.action?.hasAction ||\n !!(field as any)?.configurationFields?.spreadsheet?.value ||\n !!(field as any)?.configurationFields?.reference;\n\n return (\n <>\n {hasEventSection ? (\n <Flex flexDirection=\"column\" gap=\"$6\">\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {DASHBOARD_UI_STRINGS.EVENT}\n </Text>\n <Flex\n alignItems=\"center\"\n css={{\n flexWrap: \"wrap\",\n rowGap: \"$6\",\n }}\n >\n <Flex alignItems=\"center\" gap=\"$20\">\n {!!(field as any)?.object ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={(field as any)?.configuration?.object?.label ?? field?.object}\n />\n ) : null}\n {!!(field as any)?.action ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={Array.isArray(field?.action)\n ? field.action?.map((a: any) => typeof a === 'object' && a !== null ? a?.label ?? \"\" : a ?? \"\")?.join(\", \")\n : field?.action?.toLowerCase() ?? \"\"}\n />\n ) : null}\n </Flex>\n {!!(field as any)?.configurationFields?.account?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACCOUNT}\n description={(field as any)?.configurationFields?.account?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.object?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={((field as any)?.configurationFields?.object?.value?.label as string)?.replace(\n /^./,\n (char: string) => char?.toUpperCase()\n )}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.action?.hasAction ? (\n <EventComponent\n hasBorder\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={(field as any)?.configurationFields?.action?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.spreadsheet?.value ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.sheetURL as boolean}\n hasBorder\n heading={DASHBOARD_UI_STRINGS.SHEET}\n description={\n typeof (field as any)?.configurationFields?.spreadsheet === \"object\"\n ? (field as any)?.configurationFields?.spreadsheet?.value?.label\n : (field as any)?.configurationFields?.spreadsheet?.value\n }\n />\n ) : null}\n {!!(field as any)?.configurationFields?.reference ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.reference?.referenceURL as boolean}\n hasBorder={true}\n heading={(field as any)?.configurationFields?.reference?.title}\n description={(field as any)?.configurationFields?.reference?.description}\n />\n ) : null}\n {mappingPayloadConfigurationEntries.map(({ key, value }, index) => {\n const formatted = formatMappingConfigValue(value);\n return (\n <EventComponent\n key={`mapping-config-${key}`}\n hasBorder={hasLegacyMappingEventPieces || index > 0 || mappingPayloadConfigurationEntries?.length === index - 1}\n heading={`${humanizeMappingConfigKey(key)}:`}\n description={formatted.text}\n hasLink={formatted.link ?? false}\n />\n );\n })}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\",\n }}\n />\n </Flex>\n ) : null}\n </>\n );\n};\n\n"],"names":["Flex","Text","DASHBOARD_UI_STRINGS","EventComponent","_a","Box"],"mappings":"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"}
|
|
@@ -10,22 +10,55 @@ var input = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/i
|
|
|
10
10
|
var calendar = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/calendar.js');
|
|
11
11
|
var calendar$1 = require('../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js');
|
|
12
12
|
|
|
13
|
+
function parseStringToDateValue(v) {
|
|
14
|
+
if (v == null || String(v).trim() === "") {
|
|
15
|
+
return string.parseDate(dayjs_min.default().format("YYYY-MM-DD"));
|
|
16
|
+
}
|
|
17
|
+
const trimmed = String(v).trim();
|
|
18
|
+
try {
|
|
19
|
+
if (/^\d{4}-\d{2}-\d{2}/.test(trimmed)) {
|
|
20
|
+
return string.parseDate(trimmed.slice(0, 10));
|
|
21
|
+
}
|
|
22
|
+
const parsed = dayjs_min.default(trimmed);
|
|
23
|
+
if (parsed.isValid()) {
|
|
24
|
+
return string.parseDate(parsed.format("YYYY-MM-DD"));
|
|
25
|
+
}
|
|
26
|
+
} catch (e) {
|
|
27
|
+
}
|
|
28
|
+
return string.parseDate(dayjs_min.default().format("YYYY-MM-DD"));
|
|
29
|
+
}
|
|
30
|
+
function formatCalendarDateParts(d) {
|
|
31
|
+
return `${d.year}-${String(d.month).padStart(2, "0")}-${String(d.day).padStart(2, "0")}`;
|
|
32
|
+
}
|
|
13
33
|
const CustomDateMenu = ({
|
|
14
34
|
onChangeHandler,
|
|
15
|
-
value
|
|
35
|
+
value,
|
|
36
|
+
variant = "datetime"
|
|
16
37
|
}) => {
|
|
17
38
|
const [popoverOpen, setPopoverOpen] = React.useState(false);
|
|
18
|
-
const [date, setDate] = React.useState(() =>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
const [date, setDate] = React.useState(() => parseStringToDateValue(value));
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
setDate(parseStringToDateValue(value));
|
|
42
|
+
}, [value]);
|
|
43
|
+
const inputDisplay = React.useMemo(() => {
|
|
44
|
+
if (value == null || String(value).trim() === "") {
|
|
45
|
+
return "";
|
|
46
|
+
}
|
|
47
|
+
const s = String(value);
|
|
48
|
+
if (variant === "datetime" && s.includes("\u2022")) {
|
|
49
|
+
return s;
|
|
50
|
+
}
|
|
51
|
+
const parsed = dayjs_min.default(s);
|
|
52
|
+
if (parsed.isValid()) {
|
|
53
|
+
return variant === "date" ? parsed.format("MM/DD/YYYY") : parsed.format("MM/DD/YYYY \u2022 HH:mm");
|
|
23
54
|
}
|
|
24
|
-
|
|
55
|
+
return s;
|
|
56
|
+
}, [value, variant]);
|
|
57
|
+
const datetimePlaceholder = dayjs_min.default(/* @__PURE__ */ new Date()).format("MM/DD/YYYY \u2022 HH:mm");
|
|
25
58
|
return /* @__PURE__ */ React.createElement(popover.Popover, { open: popoverOpen, onOpenChange: (open) => setPopoverOpen(open) }, /* @__PURE__ */ React.createElement(popover.PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
26
59
|
input.Input,
|
|
27
60
|
{
|
|
28
|
-
value:
|
|
61
|
+
value: inputDisplay || (variant === "datetime" ? datetimePlaceholder : ""),
|
|
29
62
|
size: "lg",
|
|
30
63
|
readOnly: true,
|
|
31
64
|
rightIcon: /* @__PURE__ */ React.createElement(calendar.CalendarIcon, null)
|
|
@@ -43,10 +76,14 @@ const CustomDateMenu = ({
|
|
|
43
76
|
footerActionText: "Apply",
|
|
44
77
|
value: date,
|
|
45
78
|
onChange: setDate,
|
|
46
|
-
showTimePicker:
|
|
79
|
+
showTimePicker: variant === "datetime",
|
|
47
80
|
footerAction: () => {
|
|
48
|
-
|
|
49
|
-
|
|
81
|
+
if (variant === "date") {
|
|
82
|
+
onChangeHandler(formatCalendarDateParts(date));
|
|
83
|
+
} else {
|
|
84
|
+
const jsDate = new Date(date.year, date.month - 1, date.day);
|
|
85
|
+
onChangeHandler(dayjs_min.default(jsDate).format("MM/DD/YYYY \u2022 HH:mm"));
|
|
86
|
+
}
|
|
50
87
|
setPopoverOpen(false);
|
|
51
88
|
}
|
|
52
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-date-menu.js","sources":["../../../../src/mapping/components/custom-date-menu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Calendar,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport { CalendarIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { parseDate, DateValue
|
|
1
|
+
{"version":3,"file":"custom-date-menu.js","sources":["../../../../src/mapping/components/custom-date-menu.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport {\n Calendar,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport { CalendarIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\n\nexport type CustomDateMenuVariant = \"datetime\" | \"date\";\n\ntype CustomDateMenuProps = {\n onChangeHandler: (value: string) => void;\n value: string | null | undefined;\n /** `datetime` matches legacy mapping default (time + \"•\" format). `date` is calendar-only, ISO `YYYY-MM-DD` on apply. */\n variant?: CustomDateMenuVariant;\n};\n\nfunction parseStringToDateValue(v: string | null | undefined): DateValue {\n if (v == null || String(v).trim() === \"\") {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n const trimmed = String(v).trim();\n try {\n if (/^\\d{4}-\\d{2}-\\d{2}/.test(trimmed)) {\n return parseDate(trimmed.slice(0, 10));\n }\n const parsed = dayjs(trimmed);\n if (parsed.isValid()) {\n return parseDate(parsed.format(\"YYYY-MM-DD\"));\n }\n } catch {\n // fall through\n }\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n}\n\nfunction formatCalendarDateParts(d: DateValue): string {\n return `${d.year}-${String(d.month).padStart(2, \"0\")}-${String(d.day).padStart(2, \"0\")}`;\n}\n\nconst CustomDateMenu: React.FC<CustomDateMenuProps> = ({\n onChangeHandler,\n value,\n variant = \"datetime\",\n}) => {\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [date, setDate] = useState<DateValue>(() => parseStringToDateValue(value));\n\n useEffect(() => {\n setDate(parseStringToDateValue(value));\n }, [value]);\n\n const inputDisplay = useMemo(() => {\n if (value == null || String(value).trim() === \"\") {\n return \"\";\n }\n const s = String(value);\n if (variant === \"datetime\" && s.includes(\"•\")) {\n return s;\n }\n const parsed = dayjs(s);\n if (parsed.isValid()) {\n return variant === \"date\"\n ? parsed.format(\"MM/DD/YYYY\")\n : parsed.format(\"MM/DD/YYYY • HH:mm\");\n }\n return s;\n }, [value, variant]);\n\n const datetimePlaceholder = dayjs(new Date()).format(\"MM/DD/YYYY • HH:mm\");\n\n return (\n <Popover open={popoverOpen} onOpenChange={(open) => setPopoverOpen(open)}>\n <PopoverTrigger asChild>\n <Input\n value={\n inputDisplay ||\n (variant === \"datetime\" ? datetimePlaceholder : \"\")\n }\n size=\"lg\"\n readOnly\n rightIcon={<CalendarIcon />}\n />\n </PopoverTrigger>\n <PopoverContent\n sideOffset={3}\n css={{ width: 260, padding: 0, borderRadius: \"$xl\" }}\n >\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n onChange={setDate}\n showTimePicker={variant === \"datetime\"}\n footerAction={() => {\n if (variant === \"date\") {\n onChangeHandler(formatCalendarDateParts(date));\n } else {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n onChangeHandler(dayjs(jsDate).format(\"MM/DD/YYYY • HH:mm\"));\n }\n setPopoverOpen(false);\n }}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default CustomDateMenu;\n"],"names":["parseDate","dayjs","useState","useEffect","useMemo","Popover","PopoverTrigger","Input","CalendarIcon","PopoverContent","Calendar"],"mappings":"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"}
|
|
@@ -68,7 +68,7 @@ const Field = ({
|
|
|
68
68
|
removeField,
|
|
69
69
|
showCustomPropertyModal
|
|
70
70
|
}) => {
|
|
71
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p
|
|
71
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
72
72
|
React.useEffect(() => {
|
|
73
73
|
if (!field.integrationField) {
|
|
74
74
|
const foundField = integrationFields.find(
|
|
@@ -231,7 +231,7 @@ const Field = ({
|
|
|
231
231
|
integrationFieldType: (_p = (_o = (_m = (_k = field == null ? void 0 : field.integrationFieldType) == null ? void 0 : _k.value) != null ? _m : (_l = integrationFields.find(
|
|
232
232
|
(integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
|
|
233
233
|
)) == null ? void 0 : _l.type) != null ? _o : (_n = field.integrationField) == null ? void 0 : _n.type) != null ? _p : "STRING",
|
|
234
|
-
|
|
234
|
+
defaultValue: field == null ? void 0 : field.defaultValue
|
|
235
235
|
}
|
|
236
236
|
)
|
|
237
237
|
)),
|
|
@@ -253,8 +253,19 @@ const Field = ({
|
|
|
253
253
|
)
|
|
254
254
|
));
|
|
255
255
|
};
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
function resolveDefaultValueForControl(defaultValue) {
|
|
257
|
+
if (defaultValue == null) {
|
|
258
|
+
return void 0;
|
|
259
|
+
}
|
|
260
|
+
if (typeof defaultValue === "object" && defaultValue !== null && "value" in defaultValue) {
|
|
261
|
+
return defaultValue.value;
|
|
262
|
+
}
|
|
263
|
+
return defaultValue;
|
|
264
|
+
}
|
|
265
|
+
const DefaultField = ({ integrationFieldType, handleFieldValue, defaultValue }) => {
|
|
266
|
+
const value = resolveDefaultValueForControl(defaultValue);
|
|
267
|
+
const normalizedType = `${integrationFieldType != null ? integrationFieldType : "STRING"}`.toUpperCase();
|
|
268
|
+
switch (normalizedType) {
|
|
258
269
|
case "BOOLEAN":
|
|
259
270
|
return /* @__PURE__ */ React.createElement(
|
|
260
271
|
select.Select,
|
|
@@ -279,10 +290,12 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
279
290
|
}
|
|
280
291
|
);
|
|
281
292
|
case "DATE_TIME":
|
|
293
|
+
case "DATETIME":
|
|
282
294
|
return /* @__PURE__ */ React.createElement(
|
|
283
295
|
customDateMenu.default,
|
|
284
296
|
{
|
|
285
|
-
|
|
297
|
+
variant: "datetime",
|
|
298
|
+
value: value != null && value !== "" ? String(value) : "",
|
|
286
299
|
onChangeHandler: (dateValue) => {
|
|
287
300
|
handleFieldValue({
|
|
288
301
|
type: "DATE_TIME",
|
|
@@ -291,6 +304,20 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
291
304
|
}
|
|
292
305
|
}
|
|
293
306
|
);
|
|
307
|
+
case "DATE":
|
|
308
|
+
return /* @__PURE__ */ React.createElement(
|
|
309
|
+
customDateMenu.default,
|
|
310
|
+
{
|
|
311
|
+
variant: "date",
|
|
312
|
+
value: value != null && value !== "" ? String(value) : "",
|
|
313
|
+
onChangeHandler: (dateValue) => {
|
|
314
|
+
handleFieldValue({
|
|
315
|
+
type: "DATE",
|
|
316
|
+
value: dateValue
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
);
|
|
294
321
|
case "NUMBER":
|
|
295
322
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
296
323
|
input.Input,
|
|
@@ -298,11 +325,11 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
298
325
|
size: "lg",
|
|
299
326
|
type: "number",
|
|
300
327
|
placeholder: "",
|
|
301
|
-
value,
|
|
328
|
+
value: value === null || value === void 0 ? "" : value,
|
|
302
329
|
min: 0,
|
|
303
330
|
onChange: (e) => handleFieldValue({
|
|
304
331
|
type: "NUMBER",
|
|
305
|
-
value: parseInt(e.currentTarget.value)
|
|
332
|
+
value: parseInt(e.currentTarget.value, 10)
|
|
306
333
|
})
|
|
307
334
|
}
|
|
308
335
|
));
|
|
@@ -312,7 +339,7 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
312
339
|
{
|
|
313
340
|
size: "lg",
|
|
314
341
|
placeholder: "",
|
|
315
|
-
value,
|
|
342
|
+
value: value === null || value === void 0 ? "" : String(value),
|
|
316
343
|
onChange: (e) => handleFieldValue({
|
|
317
344
|
type: "STRING",
|
|
318
345
|
value: e.currentTarget.value
|