@sparrowengg/integrations-templates-frontend 2.1.0-notion-release.33 → 2.1.0-notion-release.35
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/_virtual/index5.js +2 -2
- package/dist/cjs/_virtual/index8.js +2 -2
- package/dist/cjs/_virtual/index9.js +2 -2
- package/dist/cjs/commons/constants/index.js +0 -2
- package/dist/cjs/commons/constants/index.js.map +1 -1
- package/dist/cjs/contact-import/components/ContactImportHeader.js +27 -37
- package/dist/cjs/contact-import/components/ContactImportHeader.js.map +1 -1
- package/dist/cjs/contact-import/components/ContactImportModal.js +53 -54
- package/dist/cjs/contact-import/components/ContactImportModal.js.map +1 -1
- package/dist/cjs/contact-import/constants/ui-strings.js +18 -0
- package/dist/cjs/contact-import/constants/ui-strings.js.map +1 -0
- package/dist/cjs/contact-import/index.js +13 -230
- package/dist/cjs/contact-import/index.js.map +1 -1
- package/dist/cjs/contact-import/utils/validation.utils.js +18 -0
- package/dist/cjs/contact-import/utils/validation.utils.js.map +1 -0
- package/dist/cjs/dynamic-mapping/constants/ui-strings.js +52 -0
- package/dist/cjs/dynamic-mapping/constants/ui-strings.js.map +1 -0
- package/dist/cjs/dynamic-mapping/index.js +4 -3
- package/dist/cjs/dynamic-mapping/index.js.map +1 -1
- package/dist/cjs/index.js +10 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/integration-template/components/ConfigureTemplate.js +43 -31
- package/dist/cjs/integration-template/components/ConfigureTemplate.js.map +1 -1
- package/dist/cjs/integration-template/components/TemplateCard.js +2 -3
- package/dist/cjs/integration-template/components/TemplateCard.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/DashboardItem.js +273 -0
- package/dist/cjs/integration-template/components/dashboard/DashboardItem.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard/DropdownItem.js +1 -2
- package/dist/cjs/integration-template/components/dashboard/DropdownItem.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/EventComponent.js +1 -1
- package/dist/cjs/integration-template/components/dashboard/EventComponent.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/MultiAccountFallback.js +4 -4
- package/dist/cjs/integration-template/components/dashboard/MultiAccountFallback.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/SingleMappingChipWrapper.js +75 -0
- package/dist/cjs/integration-template/components/dashboard/SingleMappingChipWrapper.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js +346 -0
- package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js +79 -0
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js +214 -0
- package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard-constants.js +92 -0
- package/dist/cjs/integration-template/components/dashboard-constants.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard-utils.js +39 -0
- package/dist/cjs/integration-template/components/dashboard-utils.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard.js +55 -1195
- package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
- package/dist/cjs/integration-template/constants/index.js +1 -41
- package/dist/cjs/integration-template/constants/index.js.map +1 -1
- package/dist/cjs/integration-template/constants/ui-strings.js +15 -0
- package/dist/cjs/integration-template/constants/ui-strings.js.map +1 -0
- package/dist/cjs/integration-template/index.js +155 -217
- package/dist/cjs/integration-template/index.js.map +1 -1
- package/dist/cjs/integration-template/utils/component.utils.js +22 -0
- package/dist/cjs/integration-template/utils/component.utils.js.map +1 -0
- package/dist/cjs/integration-template/utils/url.utils.js +16 -0
- package/dist/cjs/integration-template/utils/url.utils.js.map +1 -0
- package/dist/cjs/mapping/components/ConfigurationField.js +178 -0
- package/dist/cjs/mapping/components/ConfigurationField.js.map +1 -0
- package/dist/cjs/mapping/components/ConfigurationSetup.js +19 -16
- package/dist/cjs/mapping/components/ConfigurationSetup.js.map +1 -1
- package/dist/cjs/mapping/components/CustomAddNewSelect.js +64 -61
- package/dist/cjs/mapping/components/CustomAddNewSelect.js.map +1 -1
- package/dist/cjs/mapping/components/EventSetup.js +25 -22
- package/dist/cjs/mapping/components/EventSetup.js.map +1 -1
- package/dist/cjs/mapping/components/MappingHeader.js +24 -24
- package/dist/cjs/mapping/components/MappingHeader.js.map +1 -1
- package/dist/cjs/mapping/constants/index.js.map +1 -1
- package/dist/cjs/mapping/constants/ui-strings.js +39 -0
- package/dist/cjs/mapping/constants/ui-strings.js.map +1 -0
- package/dist/cjs/mapping/index.js +7 -612
- package/dist/cjs/mapping/index.js.map +1 -1
- package/dist/cjs/mapping/utils/validation.utils.js +32 -0
- package/dist/cjs/mapping/utils/validation.utils.js.map +1 -0
- package/dist/cjs/node_modules/domelementtype/lib/index.js +1 -1
- package/dist/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/lib/server/html-to-dom.js +2 -2
- package/dist/cjs/node_modules/html-dom-parser/node_modules/dom-serializer/lib/index.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -2
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/helpers.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/legacy.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/querying.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/stringify.js +2 -2
- package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/traversal.js +1 -1
- package/dist/cjs/node_modules/html-dom-parser/node_modules/htmlparser2/lib/index.js +3 -3
- package/dist/cjs/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +1 -1
- package/dist/cjs/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +1 -1
- package/dist/cjs/node_modules/style-to-js/cjs/index.js +1 -1
- package/dist/cjs/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/cjs/single-mapping/components/ConfigurationField.js +243 -0
- package/dist/cjs/single-mapping/components/ConfigurationField.js.map +1 -0
- package/dist/cjs/single-mapping/components/ConfigurationSetup.js +14 -13
- package/dist/cjs/single-mapping/components/ConfigurationSetup.js.map +1 -1
- package/dist/cjs/single-mapping/components/CustomDropdown.js +157 -228
- package/dist/cjs/single-mapping/components/CustomDropdown.js.map +1 -1
- package/dist/cjs/single-mapping/components/MappingHeader.js +67 -48
- package/dist/cjs/single-mapping/components/MappingHeader.js.map +1 -1
- package/dist/cjs/single-mapping/hooks/useEditState.js +58 -0
- package/dist/cjs/single-mapping/hooks/useEditState.js.map +1 -0
- package/dist/cjs/single-mapping/index.js +32 -940
- package/dist/cjs/single-mapping/index.js.map +1 -1
- package/dist/cjs/single-mapping/utils/validation.utils.js +36 -30
- package/dist/cjs/single-mapping/utils/validation.utils.js.map +1 -1
- package/dist/cjs/triggers/components/EventSetup.js +64 -58
- package/dist/cjs/triggers/components/EventSetup.js.map +1 -1
- package/dist/cjs/triggers/components/TriggerHeader.js +26 -30
- package/dist/cjs/triggers/components/TriggerHeader.js.map +1 -1
- package/dist/cjs/triggers/components/subcomponents.js +3 -3
- package/dist/cjs/triggers/components/subcomponents.js.map +1 -1
- package/dist/cjs/triggers/constants/index.js.map +1 -1
- package/dist/cjs/triggers/constants/ui-strings.js +28 -0
- package/dist/cjs/triggers/constants/ui-strings.js.map +1 -0
- package/dist/cjs/triggers/index.js +6 -252
- package/dist/cjs/triggers/index.js.map +1 -1
- package/dist/cjs/triggers/utils/validation.utils.js +36 -0
- package/dist/cjs/triggers/utils/validation.utils.js.map +1 -0
- package/dist/es/_virtual/index5.js +2 -2
- package/dist/es/_virtual/index8.js +2 -2
- package/dist/es/_virtual/index9.js +2 -2
- package/dist/es/commons/constants/index.js +1 -2
- package/dist/es/commons/constants/index.js.map +1 -1
- package/dist/es/contact-import/components/ContactImportHeader.js +30 -38
- package/dist/es/contact-import/components/ContactImportHeader.js.map +1 -1
- package/dist/es/contact-import/components/ContactImportModal.js +51 -50
- package/dist/es/contact-import/components/ContactImportModal.js.map +1 -1
- package/dist/es/contact-import/constants/ui-strings.js +16 -0
- package/dist/es/contact-import/constants/ui-strings.js.map +1 -0
- package/dist/es/contact-import/index.js +12 -229
- package/dist/es/contact-import/index.js.map +1 -1
- package/dist/es/contact-import/utils/validation.utils.js +15 -0
- package/dist/es/contact-import/utils/validation.utils.js.map +1 -0
- package/dist/es/dynamic-mapping/constants/ui-strings.js +50 -0
- package/dist/es/dynamic-mapping/constants/ui-strings.js.map +1 -0
- package/dist/es/dynamic-mapping/index.js +4 -3
- package/dist/es/dynamic-mapping/index.js.map +1 -1
- package/dist/es/index.js +0 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/integration-template/components/ConfigureTemplate.js +43 -31
- package/dist/es/integration-template/components/ConfigureTemplate.js.map +1 -1
- package/dist/es/integration-template/components/TemplateCard.js +2 -3
- package/dist/es/integration-template/components/TemplateCard.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/DashboardItem.js +271 -0
- package/dist/es/integration-template/components/dashboard/DashboardItem.js.map +1 -0
- package/dist/es/integration-template/components/dashboard/DropdownItem.js +1 -2
- package/dist/es/integration-template/components/dashboard/DropdownItem.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/EventComponent.js +1 -1
- package/dist/es/integration-template/components/dashboard/EventComponent.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/MultiAccountFallback.js +4 -4
- package/dist/es/integration-template/components/dashboard/MultiAccountFallback.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/SingleMappingChipWrapper.js +73 -0
- package/dist/es/integration-template/components/dashboard/SingleMappingChipWrapper.js.map +1 -0
- package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js +344 -0
- package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -0
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js +77 -0
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -0
- package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js +212 -0
- package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -0
- package/dist/es/integration-template/components/dashboard-constants.js +88 -0
- package/dist/es/integration-template/components/dashboard-constants.js.map +1 -0
- package/dist/es/integration-template/components/dashboard-utils.js +36 -0
- package/dist/es/integration-template/components/dashboard-utils.js.map +1 -0
- package/dist/es/integration-template/components/dashboard.js +43 -1183
- package/dist/es/integration-template/components/dashboard.js.map +1 -1
- package/dist/es/integration-template/constants/index.js +2 -36
- package/dist/es/integration-template/constants/index.js.map +1 -1
- package/dist/es/integration-template/constants/ui-strings.js +13 -0
- package/dist/es/integration-template/constants/ui-strings.js.map +1 -0
- package/dist/es/integration-template/index.js +154 -216
- package/dist/es/integration-template/index.js.map +1 -1
- package/dist/es/integration-template/utils/component.utils.js +18 -0
- package/dist/es/integration-template/utils/component.utils.js.map +1 -0
- package/dist/es/integration-template/utils/url.utils.js +13 -0
- package/dist/es/integration-template/utils/url.utils.js.map +1 -0
- package/dist/es/mapping/components/ConfigurationField.js +174 -0
- package/dist/es/mapping/components/ConfigurationField.js.map +1 -0
- package/dist/es/mapping/components/ConfigurationSetup.js +17 -16
- package/dist/es/mapping/components/ConfigurationSetup.js.map +1 -1
- package/dist/es/mapping/components/CustomAddNewSelect.js +62 -61
- package/dist/es/mapping/components/CustomAddNewSelect.js.map +1 -1
- package/dist/es/mapping/components/EventSetup.js +23 -22
- package/dist/es/mapping/components/EventSetup.js.map +1 -1
- package/dist/es/mapping/components/MappingHeader.js +23 -25
- package/dist/es/mapping/components/MappingHeader.js.map +1 -1
- package/dist/es/mapping/constants/index.js.map +1 -1
- package/dist/es/mapping/constants/ui-strings.js +37 -0
- package/dist/es/mapping/constants/ui-strings.js.map +1 -0
- package/dist/es/mapping/index.js +5 -610
- package/dist/es/mapping/index.js.map +1 -1
- package/dist/es/mapping/utils/validation.utils.js +28 -0
- package/dist/es/mapping/utils/validation.utils.js.map +1 -0
- package/dist/es/node_modules/domelementtype/lib/index.js +1 -1
- package/dist/es/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/es/node_modules/html-dom-parser/lib/server/html-to-dom.js +2 -2
- package/dist/es/node_modules/html-dom-parser/node_modules/dom-serializer/lib/index.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -2
- package/dist/es/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/helpers.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/legacy.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/querying.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/stringify.js +2 -2
- package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/traversal.js +1 -1
- package/dist/es/node_modules/html-dom-parser/node_modules/htmlparser2/lib/index.js +3 -3
- package/dist/es/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +1 -1
- package/dist/es/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +1 -1
- package/dist/es/node_modules/style-to-js/cjs/index.js +1 -1
- package/dist/es/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/es/single-mapping/components/ConfigurationField.js +241 -0
- package/dist/es/single-mapping/components/ConfigurationField.js.map +1 -0
- package/dist/es/single-mapping/components/ConfigurationSetup.js +14 -13
- package/dist/es/single-mapping/components/ConfigurationSetup.js.map +1 -1
- package/dist/es/single-mapping/components/CustomDropdown.js +156 -227
- package/dist/es/single-mapping/components/CustomDropdown.js.map +1 -1
- package/dist/es/single-mapping/components/MappingHeader.js +68 -49
- package/dist/es/single-mapping/components/MappingHeader.js.map +1 -1
- package/dist/es/single-mapping/hooks/useEditState.js +56 -0
- package/dist/es/single-mapping/hooks/useEditState.js.map +1 -0
- package/dist/es/single-mapping/index.js +30 -941
- package/dist/es/single-mapping/index.js.map +1 -1
- package/dist/es/single-mapping/utils/validation.utils.js +31 -27
- package/dist/es/single-mapping/utils/validation.utils.js.map +1 -1
- package/dist/es/triggers/components/EventSetup.js +62 -58
- package/dist/es/triggers/components/EventSetup.js.map +1 -1
- package/dist/es/triggers/components/TriggerHeader.js +26 -32
- package/dist/es/triggers/components/TriggerHeader.js.map +1 -1
- package/dist/es/triggers/components/subcomponents.js +3 -3
- package/dist/es/triggers/components/subcomponents.js.map +1 -1
- package/dist/es/triggers/constants/index.js.map +1 -1
- package/dist/es/triggers/constants/ui-strings.js +26 -0
- package/dist/es/triggers/constants/ui-strings.js.map +1 -0
- package/dist/es/triggers/index.js +5 -251
- package/dist/es/triggers/index.js.map +1 -1
- package/dist/es/triggers/utils/validation.utils.js +30 -0
- package/dist/es/triggers/utils/validation.utils.js.map +1 -0
- package/dist/index.d.ts +216 -143
- package/package.json +1 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
+
import Arrow from '../../commons/icons/arrow.js';
|
|
2
3
|
import EditConfirmation from '../../commons/components/edit-confirmation.js';
|
|
3
|
-
import
|
|
4
|
-
import { useMappingHeaderLogic } from '../hooks/useMappingHeaderLogic.js';
|
|
5
|
-
import { UI_LABELS, UI_MESSAGES } from '../constants/index.js';
|
|
4
|
+
import { hasMappingDataLength, hasMappingDataEnabled, areAllConfigFieldsFilled, isResponseImportSettingsValid } from '../utils/validation.utils.js';
|
|
6
5
|
import { Flex } from '../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
|
|
7
6
|
import { IconButton } from '../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
|
|
8
7
|
import { ArrowLeftIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/arrow-left.js';
|
|
@@ -24,24 +23,68 @@ const MappingHeader = ({
|
|
|
24
23
|
saveConfiguration,
|
|
25
24
|
setIsEditConfirmationOpen
|
|
26
25
|
}) => {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
const isButtonDisabled = () => {
|
|
27
|
+
if (isMappingPage) {
|
|
28
|
+
return isMappingPageButtonDisabled();
|
|
29
|
+
}
|
|
30
|
+
return isConfigurationPageButtonDisabled();
|
|
31
|
+
};
|
|
32
|
+
const isMappingPageButtonDisabled = () => {
|
|
33
|
+
var _a;
|
|
34
|
+
if (editField == null ? void 0 : editField.id) {
|
|
35
|
+
return !hasFieldsChanged;
|
|
36
|
+
}
|
|
37
|
+
if (((_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.importMethod) === "SEND_ALL_DATA") {
|
|
38
|
+
return !hasMappingDataLength(ssMappingData);
|
|
39
|
+
}
|
|
40
|
+
return !hasMappingDataEnabled(ssMappingData);
|
|
41
|
+
};
|
|
42
|
+
const isConfigurationPageButtonDisabled = () => {
|
|
43
|
+
const allFieldsFilled = areAllConfigFieldsFilled(configuration.configurationFields);
|
|
44
|
+
const importSettingsValid = isResponseImportSettingsValid(
|
|
45
|
+
configuration.configurationFields,
|
|
46
|
+
configuration.configuredFields
|
|
47
|
+
);
|
|
48
|
+
return !allFieldsFilled || !importSettingsValid;
|
|
49
|
+
};
|
|
50
|
+
const isMappingNavigationDisabled = () => {
|
|
51
|
+
const allFieldsFilled = areAllConfigFieldsFilled(configuration.configurationFields);
|
|
52
|
+
const importSettingsValid = isResponseImportSettingsValid(
|
|
53
|
+
configuration.configurationFields,
|
|
54
|
+
configuration.configuredFields
|
|
55
|
+
);
|
|
56
|
+
return !allFieldsFilled || !importSettingsValid;
|
|
57
|
+
};
|
|
58
|
+
const handleSaveClick = () => {
|
|
59
|
+
if (isMappingPage) {
|
|
60
|
+
if (editField == null ? void 0 : editField.id) {
|
|
61
|
+
setIsEditConfirmationOpen(true);
|
|
62
|
+
} else {
|
|
63
|
+
onSaveHandler({});
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
saveConfiguration();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const handleMappingNavigation = () => {
|
|
70
|
+
if (isMappingPage) {
|
|
71
|
+
onSaveHandler({});
|
|
72
|
+
} else {
|
|
73
|
+
saveConfiguration();
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const getButtonText = () => {
|
|
77
|
+
if (isMappingPage) {
|
|
78
|
+
return (editField == null ? void 0 : editField.id) ? "Update Mapping" : "Save Mapping";
|
|
79
|
+
}
|
|
80
|
+
return "Continue, Mapping";
|
|
81
|
+
};
|
|
35
82
|
return /* @__PURE__ */ React__default.createElement(
|
|
36
83
|
Flex,
|
|
37
84
|
{
|
|
38
85
|
alignItems: "center",
|
|
39
86
|
justifyContent: "space-between",
|
|
40
87
|
css: {
|
|
41
|
-
position: "sticky",
|
|
42
|
-
top: 0,
|
|
43
|
-
zIndex: 100,
|
|
44
|
-
background: "#ffff",
|
|
45
88
|
borderBottom: "$borderWidths$xs solid $neutral200",
|
|
46
89
|
padding: "$8 $12"
|
|
47
90
|
}
|
|
@@ -62,7 +105,7 @@ const MappingHeader = ({
|
|
|
62
105
|
size: "lg"
|
|
63
106
|
}
|
|
64
107
|
),
|
|
65
|
-
/* @__PURE__ */ React__default.createElement(Heading, { size: "h6" }, (editField == null ? void 0 : editField.id) ?
|
|
108
|
+
/* @__PURE__ */ React__default.createElement(Heading, { size: "h6" }, (editField == null ? void 0 : editField.id) ? "Edit Mapping" : "New Mapping")
|
|
66
109
|
),
|
|
67
110
|
/* @__PURE__ */ React__default.createElement(
|
|
68
111
|
Flex,
|
|
@@ -82,55 +125,31 @@ const MappingHeader = ({
|
|
|
82
125
|
size: "md",
|
|
83
126
|
onClick: () => isMappingPage && navigateConfigPage()
|
|
84
127
|
},
|
|
85
|
-
|
|
128
|
+
"Configuration"
|
|
86
129
|
),
|
|
87
|
-
/* @__PURE__ */ React__default.createElement(
|
|
130
|
+
/* @__PURE__ */ React__default.createElement(Arrow, null),
|
|
88
131
|
/* @__PURE__ */ React__default.createElement(
|
|
89
132
|
Button,
|
|
90
133
|
{
|
|
91
|
-
disabled:
|
|
134
|
+
disabled: isMappingNavigationDisabled(),
|
|
92
135
|
css: {
|
|
93
136
|
color: isMappingPage ? "$neutral900" : "$neutral800",
|
|
94
|
-
cursor:
|
|
137
|
+
cursor: isMappingNavigationDisabled() ? "not-allowed" : "pointer"
|
|
95
138
|
},
|
|
96
139
|
color: "default",
|
|
97
140
|
variant: "ghost",
|
|
98
|
-
onClick:
|
|
99
|
-
if (isMappingPage) {
|
|
100
|
-
onSaveHandler({});
|
|
101
|
-
} else {
|
|
102
|
-
saveConfiguration();
|
|
103
|
-
}
|
|
104
|
-
},
|
|
141
|
+
onClick: handleMappingNavigation,
|
|
105
142
|
size: "md"
|
|
106
143
|
},
|
|
107
|
-
|
|
144
|
+
"Mapping"
|
|
108
145
|
)
|
|
109
146
|
),
|
|
110
|
-
/* @__PURE__ */ React__default.createElement(Flex, { justifyContent: "end", css: { width: "180px" } }, /* @__PURE__ */ React__default.createElement(
|
|
111
|
-
Button,
|
|
112
|
-
{
|
|
113
|
-
size: "lg",
|
|
114
|
-
disabled: isButtonDisabled(),
|
|
115
|
-
onClick: () => {
|
|
116
|
-
if (isMappingPage) {
|
|
117
|
-
if (editField == null ? void 0 : editField.id) {
|
|
118
|
-
setIsEditConfirmationOpen(true);
|
|
119
|
-
} else {
|
|
120
|
-
onSaveHandler({});
|
|
121
|
-
}
|
|
122
|
-
} else {
|
|
123
|
-
saveConfiguration();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
isMappingPage ? (editField == null ? void 0 : editField.id) ? UI_LABELS.UPDATE_MAPPING : UI_LABELS.SAVE_MAPPING : UI_LABELS.CONTINUE_MAPPING
|
|
128
|
-
)),
|
|
147
|
+
/* @__PURE__ */ React__default.createElement(Flex, { justifyContent: "end", css: { width: "180px" } }, /* @__PURE__ */ React__default.createElement(Button, { size: "lg", disabled: isButtonDisabled(), onClick: handleSaveClick }, getButtonText())),
|
|
129
148
|
isEditConfirmationOpen && /* @__PURE__ */ React__default.createElement(
|
|
130
149
|
EditConfirmation,
|
|
131
150
|
{
|
|
132
|
-
name:
|
|
133
|
-
description:
|
|
151
|
+
name: "Are you sure?",
|
|
152
|
+
description: "Saving this updated mapping properties will generate new sheet with the revised mapping.",
|
|
134
153
|
onConfirm: async () => {
|
|
135
154
|
await onSaveHandler({});
|
|
136
155
|
setIsEditConfirmationOpen(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingHeader.js","sources":["../../../../src/single-mapping/components/MappingHeader.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Flex,\n IconButton,\n Heading,\n Button,\n} from \"@sparrowengg/twigs-react\";\nimport { ArrowLeftIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { MappingHeaderProps } from \"../types/mapping.types\";\nimport EditConfirmation from \"../../commons/components/edit-confirmation\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { useMappingHeaderLogic } from \"../hooks/useMappingHeaderLogic\";\nimport { UI_LABELS, UI_MESSAGES } from \"../constants\";\n\nexport const MappingHeader: React.FC<MappingHeaderProps> = ({\n ssMappingData,\n configuration,\n hasFieldsChanged,\n isEditConfirmationOpen,\n editField,\n importResponse,\n hasExistingMapping,\n isMappingPage,\n navigateConfigPage,\n onSaveHandler,\n previousMappingHandler,\n saveConfiguration,\n setIsEditConfirmationOpen,\n}) => {\n const { isButtonDisabled, isMappingPageDisabled } = useMappingHeaderLogic({\n ssMappingData,\n configuration,\n hasFieldsChanged,\n editField,\n importResponse,\n isMappingPage,\n });\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n top: 0,\n zIndex: 100,\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasExistingMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler?.()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editField?.id ? UI_LABELS.EDIT_MAPPING : UI_LABELS.NEW_MAPPING}\n </Heading>\n </Flex>\n\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateConfigPage()}\n >\n {UI_LABELS.CONFIGURATION}\n </Button>\n <Arrow />\n <Button\n disabled={isMappingPageDisabled()}\n css={{\n color: isMappingPage ? \"$neutral900\" : \"$neutral800\",\n cursor: isMappingPageDisabled() ? \"not-allowed\" : \"pointer\",\n }}\n color=\"default\"\n variant=\"ghost\"\n onClick={() => {\n if (isMappingPage) {\n onSaveHandler({});\n } else {\n saveConfiguration();\n }\n }}\n size=\"md\"\n >\n {UI_LABELS.MAPPING}\n </Button>\n </Flex>\n\n <Flex justifyContent=\"end\" css={{ width: \"180px\" }}>\n <Button\n size=\"lg\"\n disabled={isButtonDisabled()}\n onClick={() => {\n if (isMappingPage) {\n if (editField?.id) {\n setIsEditConfirmationOpen(true);\n } else {\n onSaveHandler({});\n }\n } else {\n saveConfiguration();\n }\n }}\n >\n {isMappingPage\n ? editField?.id\n ? UI_LABELS.UPDATE_MAPPING\n : UI_LABELS.SAVE_MAPPING\n : UI_LABELS.CONTINUE_MAPPING}\n </Button>\n </Flex>\n\n {isEditConfirmationOpen && (\n <EditConfirmation\n name={UI_MESSAGES.EDIT_CONFIRMATION_TITLE}\n description={UI_MESSAGES.EDIT_CONFIRMATION_DESCRIPTION}\n onConfirm={async () => {\n await onSaveHandler({});\n setIsEditConfirmationOpen(false);\n }}\n onCancel={() => {\n setIsEditConfirmationOpen(false);\n }}\n />\n )}\n </Flex>\n );\n};\n\n"],"names":["React","Arrow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MappingHeader.js","sources":["../../../../src/single-mapping/components/MappingHeader.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Box, Button, Flex, Heading, IconButton } from \"@sparrowengg/twigs-react\";\nimport { ArrowLeftIcon, ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport EditConfirmation from \"../../commons/components/edit-confirmation\";\nimport { MappingData } from \"../../commons/types/enhanced\";\nimport { ConfigurationType } from \"../types/configuration.types\";\nimport {\n hasMappingDataEnabled,\n hasMappingDataLength,\n areAllConfigFieldsFilled,\n isResponseImportSettingsValid,\n} from \"../utils/validation.utils\";\n\ntype MappingHeaderProps = {\n ssMappingData: MappingData;\n configuration: ConfigurationType;\n hasFieldsChanged: boolean;\n isEditConfirmationOpen: boolean;\n editField?: any;\n importResponse: any;\n hasExistingMapping: boolean;\n isMappingPage: boolean;\n navigateConfigPage: (value?: boolean) => void;\n onSaveHandler: (fields: any) => void;\n previousMappingHandler?: (value?: boolean) => void;\n saveConfiguration: () => void;\n setIsEditConfirmationOpen: (value: boolean) => void;\n};\n\n/**\n * Header component for the single mapping interface\n * Handles navigation between configuration and mapping pages\n */\nexport const MappingHeader: React.FC<MappingHeaderProps> = ({\n ssMappingData,\n configuration,\n hasFieldsChanged,\n isEditConfirmationOpen,\n editField,\n importResponse,\n hasExistingMapping,\n isMappingPage,\n navigateConfigPage,\n onSaveHandler,\n previousMappingHandler,\n saveConfiguration,\n setIsEditConfirmationOpen,\n}) => {\n const isButtonDisabled = (): boolean => {\n if (isMappingPage) {\n return isMappingPageButtonDisabled();\n }\n return isConfigurationPageButtonDisabled();\n };\n\n const isMappingPageButtonDisabled = (): boolean => {\n // In edit mode, check if any fields have changed\n if (editField?.id) {\n return !hasFieldsChanged;\n }\n\n // Check import method\n if ((importResponse?.value as any)?.importMethod === \"SEND_ALL_DATA\") {\n return !hasMappingDataLength(ssMappingData);\n }\n\n return !hasMappingDataEnabled(ssMappingData);\n };\n\n const isConfigurationPageButtonDisabled = (): boolean => {\n const allFieldsFilled = areAllConfigFieldsFilled(configuration.configurationFields);\n const importSettingsValid = isResponseImportSettingsValid(\n configuration.configurationFields,\n configuration.configuredFields\n );\n\n return !allFieldsFilled || !importSettingsValid;\n };\n\n const isMappingNavigationDisabled = (): boolean => {\n const allFieldsFilled = areAllConfigFieldsFilled(configuration.configurationFields);\n const importSettingsValid = isResponseImportSettingsValid(\n configuration.configurationFields,\n configuration.configuredFields\n );\n\n return !allFieldsFilled || !importSettingsValid;\n };\n\n const handleSaveClick = () => {\n if (isMappingPage) {\n if (editField?.id) {\n setIsEditConfirmationOpen(true);\n } else {\n onSaveHandler({});\n }\n } else {\n saveConfiguration();\n }\n };\n\n const handleMappingNavigation = () => {\n if (isMappingPage) {\n onSaveHandler({});\n } else {\n saveConfiguration();\n }\n };\n\n const getButtonText = (): string => {\n if (isMappingPage) {\n return editField?.id ? \"Update Mapping\" : \"Save Mapping\";\n }\n return \"Continue, Mapping\";\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {/* Back Button and Title */}\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasExistingMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler?.()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editField?.id ? \"Edit Mapping\" : \"New Mapping\"}\n </Heading>\n </Flex>\n\n {/* Navigation Buttons */}\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateConfigPage()}\n >\n Configuration\n </Button>\n <Arrow />\n <Button\n disabled={isMappingNavigationDisabled()}\n css={{\n color: isMappingPage ? \"$neutral900\" : \"$neutral800\",\n cursor: isMappingNavigationDisabled() ? \"not-allowed\" : \"pointer\",\n }}\n color=\"default\"\n variant=\"ghost\"\n onClick={handleMappingNavigation}\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n\n {/* Save Button */}\n <Flex justifyContent=\"end\" css={{ width: \"180px\" }}>\n <Button size=\"lg\" disabled={isButtonDisabled()} onClick={handleSaveClick}>\n {getButtonText()}\n </Button>\n </Flex>\n\n {/* Edit Confirmation Modal */}\n {isEditConfirmationOpen && (\n <EditConfirmation\n name=\"Are you sure?\"\n description=\"Saving this updated mapping properties will generate new sheet with the revised mapping.\"\n onConfirm={async () => {\n await onSaveHandler({});\n setIsEditConfirmationOpen(false);\n }}\n onCancel={() => {\n setIsEditConfirmationOpen(false);\n }}\n />\n )}\n </Flex>\n );\n};\n\n"],"names":["React"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { deepClone, areObjectsEqual } from '../utils/validation.utils.js';
|
|
3
|
+
|
|
4
|
+
const useEditState = ({
|
|
5
|
+
editField,
|
|
6
|
+
configuration,
|
|
7
|
+
importResponse,
|
|
8
|
+
navigateMappingPage
|
|
9
|
+
}) => {
|
|
10
|
+
const [originalMappingData, setOriginalMappingData] = useState(null);
|
|
11
|
+
const [originalConfigurationFields, setOriginalConfigurationFields] = useState(null);
|
|
12
|
+
const [originalConfiguredFields, setOriginalConfiguredFields] = useState(null);
|
|
13
|
+
const [originalImportResponse, setOriginalImportResponse] = useState(null);
|
|
14
|
+
const [isInitialLoad, setIsInitialLoad] = useState(true);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (editField == null ? void 0 : editField.id) {
|
|
17
|
+
navigateMappingPage(true);
|
|
18
|
+
setOriginalConfigurationFields(deepClone(configuration.configurationFields));
|
|
19
|
+
setOriginalConfiguredFields(deepClone(configuration.configuredFields));
|
|
20
|
+
setOriginalImportResponse(deepClone(importResponse));
|
|
21
|
+
}
|
|
22
|
+
}, []);
|
|
23
|
+
const hasFieldsChanged = () => {
|
|
24
|
+
if (!(editField == null ? void 0 : editField.id) || !originalMappingData) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
const mappingDataChanged = !areObjectsEqual(
|
|
28
|
+
originalMappingData,
|
|
29
|
+
originalMappingData
|
|
30
|
+
// This will be compared with current state in the component
|
|
31
|
+
);
|
|
32
|
+
const importResponseChanged = !areObjectsEqual(
|
|
33
|
+
deepClone(importResponse),
|
|
34
|
+
originalImportResponse
|
|
35
|
+
);
|
|
36
|
+
const configFieldsChanged = !areObjectsEqual(
|
|
37
|
+
configuration.configurationFields,
|
|
38
|
+
originalConfigurationFields
|
|
39
|
+
);
|
|
40
|
+
const configuredFieldsChanged = !areObjectsEqual(
|
|
41
|
+
configuration.configuredFields,
|
|
42
|
+
originalConfiguredFields
|
|
43
|
+
);
|
|
44
|
+
return configFieldsChanged || configuredFieldsChanged || !isInitialLoad && mappingDataChanged || importResponseChanged;
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
originalMappingData,
|
|
48
|
+
setOriginalMappingData,
|
|
49
|
+
isInitialLoad,
|
|
50
|
+
setIsInitialLoad,
|
|
51
|
+
hasFieldsChanged
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { useEditState };
|
|
56
|
+
//# sourceMappingURL=useEditState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditState.js","sources":["../../../../src/single-mapping/hooks/useEditState.ts"],"sourcesContent":["import { useState, useEffect } from \"react\";\nimport { MappingData } from \"../../commons/types/enhanced\";\nimport { ConfigurationFieldType } from \"../types/configuration.types\";\nimport { deepClone, areObjectsEqual } from \"../utils/validation.utils\";\n\ntype UseEditStateProps = {\n editField: any;\n configuration: {\n configurationFields: Array<ConfigurationFieldType>;\n configuredFields: Record<string, any>;\n };\n importResponse: any;\n navigateMappingPage: (value?: boolean) => void;\n};\n\ntype UseEditStateReturn = {\n originalMappingData: MappingData | null;\n setOriginalMappingData: (data: MappingData | null) => void;\n isInitialLoad: boolean;\n setIsInitialLoad: (value: boolean) => void;\n hasFieldsChanged: () => boolean;\n};\n\n/**\n * Custom hook to manage edit state and track changes\n */\nexport const useEditState = ({\n editField,\n configuration,\n importResponse,\n navigateMappingPage,\n}: UseEditStateProps): UseEditStateReturn => {\n const [originalMappingData, setOriginalMappingData] = useState<MappingData | null>(null);\n const [originalConfigurationFields, setOriginalConfigurationFields] = useState<any>(null);\n const [originalConfiguredFields, setOriginalConfiguredFields] = useState<any>(null);\n const [originalImportResponse, setOriginalImportResponse] = useState<any>(null);\n const [isInitialLoad, setIsInitialLoad] = useState(true);\n\n useEffect(() => {\n if (editField?.id) {\n navigateMappingPage(true);\n // Store original state when entering edit mode\n setOriginalConfigurationFields(deepClone(configuration.configurationFields));\n setOriginalConfiguredFields(deepClone(configuration.configuredFields));\n setOriginalImportResponse(deepClone(importResponse));\n }\n }, []);\n\n const hasFieldsChanged = (): boolean => {\n // Not in edit mode or no original data\n if (!editField?.id || !originalMappingData) {\n return true;\n }\n\n // Check if mapping data has changed\n const mappingDataChanged = !areObjectsEqual(\n originalMappingData,\n originalMappingData // This will be compared with current state in the component\n );\n\n const importResponseChanged = !areObjectsEqual(\n deepClone(importResponse),\n originalImportResponse\n );\n\n // Check if configuration fields have changed\n const configFieldsChanged = !areObjectsEqual(\n configuration.configurationFields,\n originalConfigurationFields\n );\n\n // Check if configured fields have changed\n const configuredFieldsChanged = !areObjectsEqual(\n configuration.configuredFields,\n originalConfiguredFields\n );\n\n return (\n configFieldsChanged ||\n configuredFieldsChanged ||\n (!isInitialLoad && mappingDataChanged) ||\n importResponseChanged\n );\n };\n\n return {\n originalMappingData,\n setOriginalMappingData,\n isInitialLoad,\n setIsInitialLoad,\n hasFieldsChanged,\n };\n};\n\n"],"names":[],"mappings":";;;AA0BO,MAAM,eAAe,CAAC;AAAA,EAC3B,SAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,mBAAA;AACF,CAA6C,KAAA;AAC3C,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAI,SAA6B,IAAI,CAAA,CAAA;AACvF,EAAA,MAAM,CAAC,2BAAA,EAA6B,8BAA8B,CAAA,GAAI,SAAc,IAAI,CAAA,CAAA;AACxF,EAAA,MAAM,CAAC,wBAAA,EAA0B,2BAA2B,CAAA,GAAI,SAAc,IAAI,CAAA,CAAA;AAClF,EAAA,MAAM,CAAC,sBAAA,EAAwB,yBAAyB,CAAA,GAAI,SAAc,IAAI,CAAA,CAAA;AAC9E,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAEvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,uCAAW,EAAI,EAAA;AACjB,MAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAExB,MAA+B,8BAAA,CAAA,SAAA,CAAU,aAAc,CAAA,mBAAmB,CAAC,CAAA,CAAA;AAC3E,MAA4B,2BAAA,CAAA,SAAA,CAAU,aAAc,CAAA,gBAAgB,CAAC,CAAA,CAAA;AACrE,MAA0B,yBAAA,CAAA,SAAA,CAAU,cAAc,CAAC,CAAA,CAAA;AAAA,KACrD;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,mBAAmB,MAAe;AAEtC,IAAA,IAAI,EAAC,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,EAAM,CAAA,IAAA,CAAC,mBAAqB,EAAA;AAC1C,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAGA,IAAA,MAAM,qBAAqB,CAAC,eAAA;AAAA,MAC1B,mBAAA;AAAA,MACA,mBAAA;AAAA;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,wBAAwB,CAAC,eAAA;AAAA,MAC7B,UAAU,cAAc,CAAA;AAAA,MACxB,sBAAA;AAAA,KACF,CAAA;AAGA,IAAA,MAAM,sBAAsB,CAAC,eAAA;AAAA,MAC3B,aAAc,CAAA,mBAAA;AAAA,MACd,2BAAA;AAAA,KACF,CAAA;AAGA,IAAA,MAAM,0BAA0B,CAAC,eAAA;AAAA,MAC/B,aAAc,CAAA,gBAAA;AAAA,MACd,wBAAA;AAAA,KACF,CAAA;AAEA,IAAA,OACE,mBACA,IAAA,uBAAA,IACC,CAAC,aAAA,IAAiB,kBACnB,IAAA,qBAAA,CAAA;AAAA,GAEJ,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,mBAAA;AAAA,IACA,sBAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,GACF,CAAA;AACF;;;;"}
|