@capillarytech/creatives-library 1.0.1-alpha.0 → 1.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/app.js +14 -22
- package/assets/atoms-illustration.png +0 -0
- package/components/atoms/AvatarIcon/stories/AvatarIcon.stories.js +12 -0
- package/components/atoms/EllipsisText/EllipsisText.js +2 -6
- package/components/atoms/EllipsisText/index.js +2 -1
- package/components/atoms/GroupItemLabel/GroupItemLabel.js +45 -0
- package/components/atoms/GroupItemLabel/style.js +15 -0
- package/components/atoms/GroupItemLabel/tests/__snapshots__/index.test.js.snap +32 -0
- package/components/atoms/GroupItemLabel/tests/index.test.js +35 -0
- package/components/atoms/PrimaryInput/PrimaryInput.js +0 -4
- package/components/atoms/PrimarySelect/PrimarySelect.js +16 -14
- package/components/atoms/RenderRoute/tests/__snapshots__/index.test.js.snap +105 -13
- package/components/atoms/RenderRoute/tests/index.test.js +1 -1
- package/components/atoms/ReonNotEnabled/ReonNotEnabled.js +5 -1
- package/components/atoms/SelectOptionLabelWithInfo/SelectOptionLabelWithInfo.js +6 -10
- package/components/atoms/SelectOptionLabelWithInfo/tests/__snapshots__/index.test.js.snap +2 -4
- package/components/atoms/TriggerAction/TriggerAction.js +2 -1
- package/components/atoms/TriggerAction/index.js +1 -1
- package/components/atoms/TriggerAction/tests/__snapshots__/index.test.js.snap +6 -3
- package/components/molecules/ActionExpression/ActionExpression.js +135 -0
- package/components/molecules/ActionExpression/index.js +1 -0
- package/components/molecules/ActionExpression/style.js +10 -0
- package/components/{organisms → molecules}/ActionExpression/tests/ActionExpression.test.js +2 -21
- package/components/molecules/ActionExpression/tests/__snapshots__/ActionExpression.test.js.snap +87 -0
- package/components/molecules/ActionTitle/ActionTitle.js +11 -14
- package/components/molecules/ActionTitle/tests/ActionTitle.test.js +0 -21
- package/components/molecules/ActionTitle/tests/__snapshots__/ActionTitle.test.js.snap +1 -21
- package/components/molecules/AddActionConditionWorkflow/AddActionConditionWorkflow.js +7 -4
- package/components/molecules/AddActionConditionWorkflow/style.js +2 -16
- package/components/molecules/AddMoreCard/AddMoreCard.js +7 -1
- package/components/molecules/AddTierBanner/AddTierBanner.js +3 -2
- package/components/molecules/AddTierPrimaryInfo/AddTierPrimaryInfo.js +7 -3
- package/components/molecules/AddTrackersInfo/AddTrackersInfo.js +7 -2
- package/components/molecules/AddTrackersInfo/style.js +2 -2
- package/components/molecules/AdvanceSettingScrollContainer/AdvanceSettingScrollContainer.js +2 -2
- package/components/molecules/CardsCommunication/CardsCommunication.js +13 -37
- package/components/molecules/CardsCommunication/constants.js +0 -1
- package/components/molecules/CardsCommunication/messages.js +4 -0
- package/components/molecules/CardsWithCheckboxCommunication/CardsWithCheckboxCommunication.js +2 -2
- package/components/molecules/CardsWithCheckboxCommunication/messages.js +17 -0
- package/components/molecules/CheckboxWithInputPrefix/CheckboxWithInputPrefix.js +9 -48
- package/components/molecules/CollapsableContent/CollapsableContent.js +21 -144
- package/components/molecules/CollapsableContent/style.js +16 -92
- package/components/molecules/CollapseWithDateRange/CollapseWithDateRange.js +0 -11
- package/components/molecules/CollapseWithMultiSelect/CollapseWithMultiSelect.js +12 -28
- package/components/molecules/CollapseWithRadioGroup/CollapseWithRadioGroup.js +5 -17
- package/components/molecules/CollapseWithStore/CollapseWithStore.js +33 -228
- package/components/molecules/CollapseWithSwitchSelect/CollapseWithSwitchSelect.js +26 -60
- package/components/molecules/ColorPatch/ColorPatch.js +1 -1
- package/components/molecules/ColorSelector/ColorSelector.js +60 -98
- package/components/molecules/ColorSelector/style.js +16 -19
- package/components/molecules/CommunicationTable/CommunicationTable.js +3 -25
- package/components/molecules/CommunicationTable/messages.js +8 -0
- package/components/molecules/CommunicationTable/style.js +0 -8
- package/components/molecules/CommunicationTable/tests/index.test.js +6 -41
- package/components/molecules/ConfirmationModal/ConfirmationModal.js +2 -18
- package/components/molecules/ConfirmationModal/style.js +0 -110
- package/components/molecules/ContentPreviews/tests/__snapshots__/index.test.js.snap +82 -4
- package/components/molecules/CreateActionButton/CreateActionButton.js +1 -1
- package/components/molecules/CreateOfferInfo/CreateOfferInfo.js +4 -8
- package/components/molecules/CreateOfferInfo/messages.js +4 -0
- package/components/molecules/CreateTracker/CreateTracker.js +86 -483
- package/components/molecules/CreateTracker/constants.js +0 -2
- package/components/molecules/CreateTracker/messages.js +42 -84
- package/components/molecules/CreateTracker/reducer.js +1 -1
- package/components/molecules/CreateTracker/style.js +0 -58
- package/components/molecules/CustomTree/CustomTree.js +15 -279
- package/components/molecules/CustomTree/style.js +2 -65
- package/components/molecules/DelayCreatives/DelayCreatives.js +2 -12
- package/components/molecules/DividerInlinedText/style.js +2 -3
- package/components/molecules/DowngradeTier/DowngradeTier.js +90 -657
- package/components/molecules/DowngradeTier/constants.js +0 -18
- package/components/molecules/DowngradeTier/messages.js +0 -84
- package/components/molecules/EmptyStateIllustration/EmptyStateIllustration.js +3 -25
- package/components/molecules/EmptyStateIllustration/tests/index.test.js +11 -0
- package/components/molecules/FileSelector/FileSelector.js +3 -4
- package/components/molecules/FileSelector/messages.js +21 -1
- package/components/molecules/FileSelector/style.js +2 -2
- package/components/molecules/HeaderWithInput/HeaderWithInput.js +22 -41
- package/components/molecules/InfoBanner/InfoBanner.js +1 -2
- package/components/molecules/InfoBanner/style.js +0 -2
- package/components/molecules/InputToInput/InputToInput.js +1 -3
- package/components/molecules/LabelWithDivider/LabelWithDivider.js +2 -18
- package/components/molecules/LoyaltyStatus/tests/__snapshots__/LoyaltyStatus.test.js.snap +1140 -5238
- package/components/molecules/MoreLabel/MoreLabel.js +2 -2
- package/components/molecules/MoreLabel/messages.js +16 -0
- package/components/molecules/NumberInput/NumberInput.js +2 -9
- package/components/molecules/NumberInput/constants.js +0 -3
- package/components/molecules/PageHeader/PageHeader.js +177 -0
- package/components/molecules/PageHeader/stories/PageHeader.stories.js +20 -0
- package/components/{organisms → molecules}/PageHeader/style.js +18 -35
- package/components/molecules/PageHeader/tests/PageHeader.test.js +40 -0
- package/components/molecules/PageHeader/tests/__snapshots__/PageHeader.test.js.snap +2342 -0
- package/components/molecules/PageHeaderDescription/PageHeaderDescription.js +10 -53
- package/components/molecules/PageHeaderDescription/tests/PageHeaderDescription.test.js +2 -6
- package/components/molecules/PageHeaderDescription/tests/__snapshots__/PageHeaderDescription.test.js.snap +615 -111
- package/components/molecules/PointExpiryCommunication/PointExpiryCommunication.js +2 -5
- package/components/molecules/PointExpiryCommunication/messages.js +16 -0
- package/components/molecules/PointExpiryCommunication/tests/__snapshots__/index.test.js.snap +0 -1
- package/components/molecules/ProgramName/ProgramName.js +39 -97
- package/components/molecules/ProgramName/stories/ProgramName.stories.js +5 -0
- package/components/molecules/ProgramName/style.js +0 -32
- package/components/molecules/ProgramName/tests/index.test.js +11 -0
- package/components/molecules/ProgramTitle/stories/ProgramTitle.stories.js +5 -0
- package/components/molecules/ProgramValueSkeleton/stories/ProgramValueSkeleton.stories.js +5 -0
- package/components/molecules/RadioCardWithAction/RadioCardWithAction.js +57 -0
- package/components/molecules/RadioCardWithAction/index.js +1 -0
- package/components/molecules/RadioContentSlidebox/RadioContentSlidebox.js +5 -4
- package/components/molecules/RadioWithInfo/stories/RadioWithInfo.stories.js +15 -0
- package/components/molecules/RadioWithInfo/tests/__snapshots__/RadioWithInfo.test.js.snap +366 -86
- package/components/molecules/RenewalTier/RenewalTier.js +5 -7
- package/components/molecules/RenewalTier/messages.js +20 -0
- package/components/molecules/ReviewTierModal/ReviewTierModal.js +1 -1
- package/components/molecules/ReviewTierModal/messages.js +4 -0
- package/components/molecules/RowHeader/RowHeader.js +5 -20
- package/components/molecules/RowHeader/stories/RowHeader.stories.js +7 -0
- package/components/molecules/RowHeader/tests/RowHeader.test.js +1 -7
- package/components/molecules/RowHeader/tests/__snapshots__/RowHeader.test.js.snap +604 -196
- package/components/molecules/SelectApiWrapper/SelectApiWrapper.js +0 -1
- package/components/molecules/SelectCollection/SelectCollection.js +24 -43
- package/components/molecules/SelectCollection/stories/SelectCollection.stories.js +24 -0
- package/components/molecules/SenderInformation/SenderInformation.js +6 -38
- package/components/molecules/SenderInformation/messages.js +4 -0
- package/components/molecules/SenderSlideBox/SenderSlideBox.js +4 -8
- package/components/molecules/SenderSlideBox/style.js +0 -3
- package/components/molecules/SortHeader/stories/SortHeader.stories.js +5 -0
- package/components/molecules/SuggestionCard/stories/SuggestionCard.stories.js +16 -0
- package/components/molecules/SuggestionCard/style.js +3 -3
- package/components/molecules/SwitchWithDivider/SwitchWithDivider.js +3 -24
- package/components/molecules/SwitchWithDivider/style.js +2 -2
- package/components/molecules/SyncLabel/SyncLabel.js +1 -0
- package/components/molecules/SyncLabel/messages.js +11 -0
- package/components/molecules/SyncLabel/stories/SyncLabel.stories.js +5 -0
- package/components/molecules/SyncLabel/tests/__snapshots__/SyncLabel.test.js.snap +1016 -3612
- package/components/molecules/TableOption/TableOption.js +5 -95
- package/components/molecules/TableOption/stories/TableOption.stories.js +5 -0
- package/components/molecules/TagsTab/stories/TagsTab.stories.js +8 -0
- package/components/molecules/TagsTab/stories/mockData.js +9 -0
- package/components/molecules/TierButtonInput/TierButtonInput.js +2 -2
- package/components/molecules/TierButtonInput/messages.js +16 -0
- package/components/molecules/TierCard/BlockContent.js +11 -30
- package/components/molecules/TierCard/CardBody.js +34 -153
- package/components/molecules/TierCard/CardContent.js +5 -5
- package/components/molecules/TierCard/TierCard.js +1 -1
- package/components/molecules/TierCard/TierWithContent.js +1 -0
- package/components/molecules/TierCard/constants.js +3 -8
- package/components/molecules/TierCard/messages.js +28 -24
- package/components/molecules/TierCard/stories/TierCard.stories.js +7 -0
- package/components/molecules/TierCard/style.js +3 -10
- package/components/molecules/TierRenewalCommunication/TierRenewalCommunication.js +1 -6
- package/components/molecules/TierUpgradeCommunication/TierUpgradeCommunication.js +0 -3
- package/components/molecules/TierUpgradeCommunication/messages.js +40 -0
- package/components/molecules/TitleWithStatus/TitleWithStatus.js +1 -1
- package/components/molecules/TitleWithStatus/stories/TitleWithStatus.stories.js +5 -0
- package/components/molecules/UpgradeTier/UpgradeTier.js +21 -75
- package/components/molecules/UpgradeTier/messages.js +6 -7
- package/components/molecules/UpgradeTrackerTier/messages.js +11 -0
- package/components/organisms/AddEarnCondition/AddEarnCondition.js +77 -202
- package/components/organisms/AddEarnCondition/constants.js +0 -7
- package/components/organisms/AddEarnCondition/messages.js +32 -41
- package/components/organisms/AddEarnCondition/style.js +13 -21
- package/components/organisms/AddPaymentMethod/AddPaymentMethod.js +31 -23
- package/components/organisms/AddPaymentMethod/messages.js +44 -0
- package/components/organisms/AddTier/AddTier.js +67 -306
- package/components/organisms/AddTier/constants.js +0 -5
- package/components/organisms/AddTier/defaultStates.js +2 -19
- package/components/organisms/AddTier/messages.js +4 -60
- package/components/organisms/AddTier/style.js +7 -82
- package/components/organisms/AddTier/utils.js +35 -189
- package/components/organisms/AddTierSetting/AddTierSetting.js +1 -5
- package/components/organisms/AddTierSetting/messages.js +4 -0
- package/components/organisms/AdvancedOption/AdvancedOption.js +61 -313
- package/components/organisms/AdvancedOption/constants.js +0 -226
- package/components/organisms/AdvancedOption/messages.js +21 -33
- package/components/organisms/AdvancedOption/style.js +2 -123
- package/components/organisms/AllocationPointWorkflowAction/AllocationPointWorkflowAction.js +16 -143
- package/components/organisms/AllocationPointWorkflowAction/constants.js +1 -1
- package/components/organisms/AllocationStrategy/AllocationStrategy.js +94 -155
- package/components/organisms/AllocationStrategy/constants.js +0 -4
- package/components/organisms/AllocationStrategy/messages.js +29 -15
- package/components/organisms/AllocationStrategy/tests/AllocationStrategy.test.js +0 -48
- package/components/organisms/AllocationStrategy/tests/mockData.js +0 -161
- package/components/organisms/AwardPointsConfig/AwardPointsConfig.js +108 -981
- package/components/organisms/AwardPointsConfig/constants.js +0 -7
- package/components/organisms/AwardPointsConfig/messages.js +28 -241
- package/components/organisms/AwardPointsConfig/style.js +1 -175
- package/components/organisms/AwardRefereePointsWorkflowAction/AwardRefereePointsWorkflowAction.js +4 -34
- package/components/organisms/AwardReferrerPointsWorkflowAction/AwardReferrerPointsWorkflowAction.js +4 -34
- package/components/organisms/CappingSlidebox/CappingSlidebox.js +200 -473
- package/components/organisms/CappingSlidebox/messages.js +17 -55
- package/components/organisms/CappingSlidebox/style.js +1 -86
- package/components/organisms/Communication/Communication.js +13 -20
- package/components/organisms/Communication/constants.js +0 -2
- package/components/organisms/Communication/index.js +1 -1
- package/components/organisms/Communication/messages.js +24 -0
- package/components/organisms/Communication/tests/index.test.js +4 -47
- package/components/organisms/CommunicationAdvancedOption/CommunicationAdvancedOption.js +10 -6
- package/components/organisms/CommunicationAdvancedOption/messages.js +17 -0
- package/components/organisms/CommunicationStrategies/CommunicationStrategies.js +8 -9
- package/components/organisms/CommunicationStrategies/messages.js +38 -1
- package/components/organisms/CommunicationStrategies/tests/__snapshots__/index.test.js.snap +380 -1746
- package/components/organisms/CommunicationStrategies/utils.js +2 -2
- package/components/organisms/ConfigureKPI/ConfigureKPI.js +4 -17
- package/components/organisms/ConfigureKPI/messages.js +11 -0
- package/components/organisms/ConfigureKPI/tests/ConfigureKPI.test.js +9 -25
- package/components/organisms/ConfigureKPI/tests/__snapshots__/ConfigureKPI.test.js.snap +2 -4
- package/components/organisms/ConfigureProgramSteps/ConfigureProgramSteps.js +36 -191
- package/components/organisms/ConfigureProgramSteps/messages.js +8 -26
- package/components/organisms/ConfigureProgramSteps/style.js +2 -60
- package/components/organisms/ConfigureStrategies/ConfigureStrategies.js +80 -342
- package/components/organisms/ConfigureStrategies/actions.js +0 -4
- package/components/organisms/ConfigureStrategies/constants.js +0 -8
- package/components/organisms/ConfigureStrategies/messages.js +28 -6
- package/components/organisms/ConfigureStrategies/style.js +1 -50
- package/components/organisms/ConfigureTrackers/ConfigureTrackers.js +4 -30
- package/components/organisms/ConfigureTrackers/style.js +1 -5
- package/components/organisms/ConfigureWorkflows/ConfigureWorkflows.js +208 -480
- package/components/organisms/ConfigureWorkflows/ScopingAndCapping.js +53 -112
- package/components/organisms/ConfigureWorkflows/WorkflowActions.js +246 -360
- package/components/organisms/ConfigureWorkflows/WorkflowConfigurationSection.js +556 -1676
- package/components/organisms/ConfigureWorkflows/actions.js +10 -142
- package/components/organisms/ConfigureWorkflows/constants.js +34 -223
- package/components/organisms/ConfigureWorkflows/index.js +1 -1
- package/components/organisms/ConfigureWorkflows/messages.js +26 -121
- package/components/organisms/ConfigureWorkflows/reducer.js +17 -191
- package/components/organisms/ConfigureWorkflows/saga.js +75 -541
- package/components/organisms/ConfigureWorkflows/selectors.js +8 -72
- package/components/organisms/ConfigureWorkflows/style.js +17 -425
- package/components/organisms/ConfigureWorkflows/utils.js +27 -816
- package/components/organisms/CouponSlidebox/CouponSlidebox.js +6 -5
- package/components/organisms/CouponSlidebox/_coupons.scss +0 -6
- package/components/organisms/CouponSlidebox/messages.js +84 -0
- package/components/organisms/CouponSlidebox/saga.js +18 -0
- package/components/organisms/Coupons/Coupons.js +9 -64
- package/components/organisms/Coupons/index.js +1 -1
- package/components/organisms/Coupons/messages.js +103 -2
- package/components/organisms/Coupons/saga.js +11 -1
- package/components/organisms/Coupons/stories/Coupons.stories.js +5 -0
- package/components/organisms/Coupons/style.js +0 -33
- package/components/organisms/Coupons/tests/index.test.js +0 -49
- package/components/organisms/CreateProgram/CreateProgram.js +78 -323
- package/components/organisms/CreateProgram/constants.js +0 -21
- package/components/organisms/CreateProgram/messages.js +0 -52
- package/components/organisms/CreateProgram/saga.js +1 -1
- package/components/organisms/CreateProgram/style.js +1 -191
- package/components/organisms/CreateProgram/tests/CreateProgram.test.js +66 -498
- package/components/organisms/CreateProgram/tests/__snapshots__/reducer.test.js.snap +0 -8
- package/components/organisms/CreateProgram/tests/reducer.test.js +0 -1
- package/components/organisms/CreateProgramIllustration/CreateProgramIllustration.js +3 -13
- package/components/organisms/CreateTender/CreateTender.js +8 -8
- package/components/organisms/CreateTender/messages.js +33 -0
- package/components/organisms/CreateTender/saga.js +1 -4
- package/components/organisms/CreateTender/style.js +0 -1
- package/components/organisms/CreateTier/CreateTier.js +8 -12
- package/components/organisms/CreateTier/utils.js +1 -5
- package/components/organisms/Creatives/Creatives.js +49 -106
- package/components/organisms/Creatives/actions.js +1 -18
- package/components/organisms/Creatives/constants.js +0 -6
- package/components/organisms/Creatives/messages.js +283 -0
- package/components/organisms/Creatives/reducer.js +3 -52
- package/components/organisms/Creatives/saga.js +137 -49
- package/components/organisms/Creatives/tests/index.test.js +3 -89
- package/components/organisms/CustomerActivity/CustomerActivity.js +25 -74
- package/components/organisms/CustomerActivity/messages.js +9 -257
- package/components/organisms/CustomerActivity/style.js +1 -6
- package/components/organisms/EbillWorkflowAction/EbillWorkflowAction.js +15 -43
- package/components/organisms/ExpiryCommunication/ExpiryCommunication.js +4 -15
- package/components/organisms/ExpiryCommunication/messages.js +12 -0
- package/components/organisms/ExpiryCommunication/tests/index.test.js +6 -19
- package/components/organisms/ExpiryConditions/ExpiryConditions.js +87 -546
- package/components/organisms/ExpiryConditions/constants.js +0 -6
- package/components/organisms/ExpiryConditions/messages.js +34 -55
- package/components/organisms/ExpiryConditions/style.js +4 -177
- package/components/organisms/ExpiryStrategy/ExpiryStrategy.js +39 -165
- package/components/organisms/ExpiryStrategy/constants.js +1 -7
- package/components/organisms/ExpiryStrategy/messages.js +3 -15
- package/components/organisms/ExpiryStrategy/tests/ExpiryStrategy.test.js +0 -65
- package/components/organisms/ExpiryStrategy/tests/mockData.js +0 -125
- package/components/organisms/ForwardToSetWorkflowAction/ForwardToSetWorkflowAction.js +24 -128
- package/components/organisms/ForwardToSetWorkflowAction/constants.js +0 -5
- package/components/organisms/ForwardToSetWorkflowAction/messages.js +10 -5
- package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/InitiateSupplementaryMemberShipWorkflowAction.js +55 -195
- package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/constants.js +8 -9
- package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/messages.js +4 -24
- package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/style.js +3 -18
- package/components/organisms/IssueCouponsWorkflowAction/IssueCouponsWorkflowAction.js +82 -1130
- package/components/organisms/IssueCouponsWorkflowAction/actions.js +1 -2
- package/components/organisms/IssueCouponsWorkflowAction/constants.js +0 -13
- package/components/organisms/IssueCouponsWorkflowAction/messages.js +1 -184
- package/components/organisms/IssueCouponsWorkflowAction/saga.js +1 -2
- package/components/organisms/IssueCouponsWorkflowAction/style.js +4 -338
- package/components/organisms/LoyaltyDetail/LoyaltyDetail.js +9 -34
- package/components/organisms/LoyaltyDetail/messages.js +16 -0
- package/components/organisms/LoyaltyDetail/style.js +0 -6
- package/components/organisms/LoyaltyDetail/tests/LoyaltyDetail.test.js +0 -39
- package/components/organisms/LoyaltyDetail/tests/mockdata.js +3 -3
- package/components/organisms/LoyaltyDetail/utils.js +2 -4
- package/components/organisms/LoyaltyGraph/LoyaltyGraph.js +3 -10
- package/components/organisms/LoyaltyGraph/tests/mockdata.js +0 -15
- package/components/organisms/MandatoryAndPriorityChannel/MandatoryAndPriorityChannel.js +0 -14
- package/components/organisms/NavigationBar/NavigationBar.js +73 -173
- package/components/organisms/NavigationBar/constants.js +1 -10
- package/components/organisms/NavigationBar/messages.js +0 -4
- package/components/organisms/NavigationBar/style.js +3 -109
- package/components/organisms/NavigationBar/tests/NavigationBar.test.js +42 -159
- package/components/organisms/NavigationBar/tests/__snapshots__/NavigationBar.test.js.snap +42 -0
- package/components/organisms/NavigationBar/tests/mockdata.js +0 -128
- package/components/organisms/NoConfigWorkflowAction/NoConfigWorkflowAction.js +0 -3
- package/components/organisms/Nudges/Nudges.js +2 -22
- package/components/organisms/Nudges/style.js +0 -3
- package/components/organisms/OrgChange/OrgChange.js +2 -2
- package/components/organisms/OrgChange/tests/OrgChange.test.js +4 -4
- package/components/organisms/OrgChange/tests/__snapshots__/OrgChange.test.js.snap +1521 -20275
- package/components/organisms/PaymentMethodsAdvanced/PaymentSettingsAdvanced.js +5 -5
- package/components/organisms/PaymentMethodsAdvanced/messages.js +16 -0
- package/components/organisms/PerformanceCard/PerformanceCard.js +9 -60
- package/components/organisms/PerformanceCard/messages.js +0 -29
- package/components/organisms/PerformanceCard/style.js +0 -21
- package/components/organisms/PerformanceCard/tests/PerformanceCard.test.js +0 -30
- package/components/organisms/PerformanceCard/tests/__snapshots__/PerformanceCard.test.js.snap +3739 -5541
- package/components/organisms/PerformanceStats/PerformanceStats.js +69 -85
- package/components/organisms/PerformanceStats/messages.js +1 -1
- package/components/organisms/PerformanceStats/style.js +0 -5
- package/components/organisms/PerformanceStats/tests/PerformanceStats.test.js +2 -5
- package/components/organisms/PerformanceStats/tests/__snapshots__/PerformanceStats.test.js.snap +14902 -17458
- package/components/organisms/PerformanceStats/tests/mockdata.js +2 -1
- package/components/organisms/PointContributionToGroup/PointContributionToGroup.js +2 -11
- package/components/organisms/PointStrategies/PointStrategies.js +23 -21
- package/components/organisms/PointStrategies/messages.js +58 -0
- package/components/organisms/PointsAdvancedOption/PointsAdvancedOption.js +11 -78
- package/components/organisms/PointsAdvancedOption/constants.js +0 -7
- package/components/organisms/PointsAdvancedOption/messages.js +3 -63
- package/components/organisms/PointsAdvancedOption/style.js +1 -21
- package/components/organisms/PointsAdvancedOption/utils.js +0 -56
- package/components/organisms/PointsGroupRedemptionWorkflowAction/PointsGroupRedemptionWorkflowAction.js +0 -3
- package/components/organisms/PointsRedemptionReversalWorkflowAction/PointsRedemptionReversalWorkflowAction.js +4 -12
- package/components/organisms/PointsRedemptionWorkflowAction/PointsRedemptionWorkflowAction.js +0 -3
- package/components/organisms/Preview/Preview.js +2 -3
- package/components/organisms/Preview/messages.js +14 -0
- package/components/organisms/Preview/tests/__snapshots__/index.test.js.snap +6 -11
- package/components/organisms/ProgramPerformance/index.js +1 -1
- package/components/organisms/ProgramSettings/ProgramSettings.js +92 -251
- package/components/organisms/ProgramSettings/actions.js +17 -0
- package/components/organisms/ProgramSettings/constants.js +14 -0
- package/components/organisms/ProgramSettings/reducer.js +46 -0
- package/components/organisms/ProgramSettings/saga.js +59 -0
- package/components/organisms/{AdvancedOption → ProgramSettings}/selectors.js +1 -1
- package/components/organisms/ProgramWorkflows/ProgramWorkflows.js +3 -3
- package/components/organisms/ProgramWorkflows/messages.js +8 -0
- package/components/organisms/ProgramWorkflows/tests/index.test.js +4 -11
- package/components/organisms/PromisedPointToCurrentPointWorkflowAction/PromisedPointToCurrentPointWorkflowAction.js +0 -3
- package/components/organisms/RadioTreeSelect/style.js +1 -1
- package/components/organisms/RedeemConditionFields/RedeemConditionFields.js +1 -25
- package/components/organisms/RedeemConditionFields/messages.js +10 -14
- package/components/organisms/RedeemConditionFields/tests/index.test.js +5 -15
- package/components/organisms/RedeemConditions/RedeemConditions.js +53 -123
- package/components/organisms/RedeemConditions/constants.js +0 -2
- package/components/organisms/RedeemConditions/messages.js +7 -3
- package/components/organisms/RedemptionStrategy/RedemptionStrategy.js +68 -113
- package/components/organisms/RedemptionStrategy/constants.js +0 -4
- package/components/organisms/RedemptionStrategy/messages.js +5 -9
- package/components/organisms/RedemptionStrategy/tests/RedemptionStrategy.test.js +0 -75
- package/components/organisms/RedemptionStrategy/tests/mockData.js +0 -46
- package/components/organisms/RenewTierWorkflowAction/RenewTierWorkflowAction.js +1 -8
- package/components/organisms/RenewalCommunication/RenewalCommunication.js +2 -4
- package/components/organisms/RenewalCommunication/tests/index.test.js +7 -20
- package/components/organisms/ReturnConditions/ReturnConditions.js +5 -15
- package/components/organisms/ReturnConditions/messages.js +11 -7
- package/components/organisms/ReturnConditions/style.js +1 -2
- package/components/organisms/ReturnStrategy/ReturnStrategy.js +12 -39
- package/components/organisms/ReturnStrategy/messages.js +13 -1
- package/components/organisms/ReturnStrategy/tests/ReturnStrategy.test.js +0 -68
- package/components/organisms/ReviewTierUnloadModal/ReviewTierUnloadModal.js +3 -3
- package/components/organisms/ReviewTierUnloadModal/messages.js +10 -0
- package/components/organisms/ScopeSlidebox/ScopeSlidebox.js +270 -1931
- package/components/organisms/ScopeSlidebox/constants.js +2 -115
- package/components/organisms/ScopeSlidebox/messages.js +12 -76
- package/components/organisms/SendEmailWorkflowAction/SendEmailWorkflowAction.js +4 -16
- package/components/organisms/SendMessagesWorkflowAction/SendMessagesWorkflowAction.js +4 -15
- package/components/organisms/SendMessagesWorkflowAction/index.js +1 -1
- package/components/organisms/SendMobilePushWorkflowAction/SendMobilePushWorkflowAction.js +4 -15
- package/components/organisms/SendSmsWorkflowAction/SendSmsWorkflowAction.js +4 -14
- package/components/organisms/SocialConnectWorkflowAction/SocialConnectWorkflowAction.js +4 -14
- package/components/organisms/StrategyDashboard/StrategyDashboard.js +8 -64
- package/components/organisms/StrategyDashboard/index.js +1 -1
- package/components/organisms/StrategyDashboard/style.js +1 -35
- package/components/organisms/TagCustomerAction/TagCustomerAction.js +16 -33
- package/components/organisms/TierUpgradeAndDowngrade/TierUpgradeAndDowngrade.js +60 -566
- package/components/organisms/TierUpgradeAndDowngrade/messages.js +0 -118
- package/components/organisms/TierUpgradeAndDowngrade/style.js +15 -557
- package/components/organisms/TierUpgradeAndDowngrade/utils.js +14 -179
- package/components/organisms/TieradvancedOption/TierAdvancedOption.js +29 -83
- package/components/organisms/TieradvancedOption/messages.js +50 -5
- package/components/organisms/TieradvancedOption/style.js +2 -3
- package/components/organisms/TieradvancedOption/utils.js +3 -12
- package/components/organisms/Tiers/Tiers.js +39 -305
- package/components/organisms/Tiers/actions.js +13 -0
- package/components/organisms/Tiers/constants.js +4 -4
- package/components/organisms/Tiers/index.js +1 -1
- package/components/organisms/Tiers/messages.js +4 -8
- package/components/organisms/Tiers/reducer.js +16 -29
- package/components/organisms/Tiers/saga.js +26 -8
- package/components/organisms/Tiers/selectors.js +13 -11
- package/components/organisms/Tiers/style.js +1 -92
- package/components/organisms/Tiers/tests/actions.test.js +4 -19
- package/components/organisms/Tiers/tests/index.test.js +4 -119
- package/components/organisms/Tiers/tests/reducer.test.js +1 -57
- package/components/organisms/Tiers/tests/selectors.test.js +1 -21
- package/components/organisms/TrackerEvaluationWorkflowAction/TrackerEvaluationWorkflowAction.js +8 -19
- package/components/organisms/Trackers/Trackers.js +31 -122
- package/components/organisms/Trackers/index.js +1 -1
- package/components/organisms/Trackers/messages.js +13 -1
- package/components/organisms/Trackers/style.js +0 -8
- package/components/organisms/Trackers/tests/Trackers.test.js +3 -43
- package/components/organisms/TransactionAllocationPointWorkflowAction/TransactionAllocationPointWorkflowAction.js +15 -117
- package/components/organisms/TransferGroupPoints/TransferGroupPoints.js +23 -118
- package/components/organisms/TransferGroupPoints/messages.js +8 -0
- package/components/organisms/TransferGroupPoints/style.js +1 -4
- package/components/organisms/UpgradeCommunication/UpgradeCommunication.js +5 -12
- package/components/organisms/UpgradeCommunication/messages.js +20 -0
- package/components/organisms/UpgradeCommunication/tests/index.test.js +6 -19
- package/components/organisms/UpgradeCommunication/utils.js +2 -2
- package/components/organisms/UpgradeToTierSettingsWorkflowAction/UpgradeToTierSettingsWorkflowAction.js +3 -12
- package/components/organisms/UpgradeToTierSettingsWorkflowAction/messages.js +17 -0
- package/components/organisms/UpgradeToTierWorkflowAction/UpgradeToTierWorkflowAction.js +6 -18
- package/components/organisms/UpgradeToTierWorkflowAction/index.js +1 -1
- package/components/organisms/UpgradeToTierWorkflowAction/messages.js +32 -0
- package/components/pages/App/constants.js +26 -277
- package/components/pages/App/index.js +1 -2
- package/components/pages/Cap/Cap.js +56 -245
- package/components/pages/Cap/Loadable.js +5 -9
- package/components/pages/Cap/actions.js +1 -129
- package/components/pages/Cap/constants.js +2 -162
- package/components/pages/Cap/messages.js +28 -1338
- package/components/pages/Cap/reducer.js +11 -238
- package/components/pages/Cap/routes.js +6 -38
- package/components/pages/Cap/saga.js +61 -609
- package/components/pages/Cap/selectors.js +1 -130
- package/components/pages/Cap/style.js +0 -8
- package/components/pages/ConfigureProgram/ConfigureProgram.js +6 -30
- package/components/pages/ConfigureProgram/messages.js +33 -0
- package/components/pages/Dashboard/Dashboard.js +8 -18
- package/components/pages/Dashboard/Loadable.js +4 -6
- package/components/pages/Dashboard/index.js +1 -1
- package/components/pages/Dashboard/messages.js +35 -0
- package/components/pages/LanguageProvider/actions.js +27 -0
- package/components/pages/LanguageProvider/constants.js +16 -0
- package/components/pages/LanguageProvider/index.js +115 -16
- package/components/pages/LanguageProvider/reducer.js +39 -0
- package/components/pages/LanguageProvider/saga.js +30 -10
- package/components/pages/LanguageProvider/selectors.js +18 -0
- package/components/pages/LanguageProvider/style.js +0 -3
- package/components/pages/LanguageProvider/tests/actions.test.js +15 -0
- package/components/pages/LanguageProvider/tests/index.test.js +66 -0
- package/components/pages/LanguageProvider/tests/reducer.test.js +30 -0
- package/components/pages/LanguageProvider/tests/saga.test.js +63 -0
- package/components/pages/LanguageProvider/tests/selectors.test.js +12 -0
- package/components/pages/Login/Loadable.js +3 -5
- package/components/pages/Login/Login.js +17 -13
- package/components/pages/LoyaltySetting/LoyaltySetting.js +7 -49
- package/components/pages/LoyaltySetting/style.js +1 -5
- package/components/pages/LoyaltySetting/tests/LoyaltySetting.test.js +3 -12
- package/components/pages/LoyaltySetting/tests/__snapshots__/LoyaltySetting.test.js.snap +9 -0
- package/components/pages/NotFoundPage/Loadable.js +10 -0
- package/components/pages/NotFoundPage/index.js +1 -1
- package/components/pages/ProgramSummary/ProgramSummary.js +238 -654
- package/components/pages/ProgramSummary/actions.js +9 -29
- package/components/pages/ProgramSummary/constants.js +6 -39
- package/components/pages/ProgramSummary/context.js +0 -0
- package/components/pages/ProgramSummary/index.js +0 -0
- package/components/pages/ProgramSummary/messages.js +40 -30
- package/components/pages/ProgramSummary/reducer.js +40 -83
- package/components/pages/ProgramSummary/saga.js +28 -202
- package/components/pages/ProgramSummary/selectors.js +2 -50
- package/components/pages/ProgramSummary/style.js +22 -189
- package/components/pages/ProgramSummary/tests/ProgramSummary.test.js +9 -706
- package/components/pages/ProgramSummary/tests/__snapshots__/ProgramSummary.test.js.snap +63 -0
- package/config/app.js +5 -26
- package/config/constants.js +1 -1
- package/config/urls.js +1 -1
- package/configureStore.js +51 -0
- package/global-styles.js +5 -315
- package/i18n.js +10 -11
- package/index.js +22 -0
- package/initialState.js +2 -58
- package/package.json +8 -13
- package/reducers.js +25 -0
- package/services/api.js +34 -720
- package/services/requestConstructor.js +1 -56
- package/tests/integration/CreateProgram/CreateProgram.integration.test.js +33 -143
- package/tests/integration/CreateProgram/mocks/handler.js +15 -0
- package/tests/integration/{commonMocks → CreateProgram/mocks}/initialState.js +1 -1
- package/tests/{test-utils.js → integration/test-utils.js} +3 -30
- package/tests/store.test.js +3 -6
- package/translations/en.json +380 -1746
- package/translations/zh.json +1150 -0
- package/utils/authWrapper.js +0 -62
- package/utils/clearDataOnUnmount.js +2 -5
- package/utils/commonUtils.js +27 -147
- package/utils/constants.js +4 -0
- package/utils/injectReducer.js +40 -2
- package/utils/injectSaga.js +58 -3
- package/utils/intlWrapper.js +1 -1
- package/utils/reducerInjectors.js +34 -0
- package/utils/sagaInjectors.js +92 -0
- package/utils/tiers.js +21 -147
- package/utils/validationHelper.js +0 -15
- package/utils/workflow.js +12 -203
- package/assets/EmptyStateIllustrationForPromos.png +0 -0
- package/assets/Points.png +0 -0
- package/assets/addCustomer.svg +0 -9
- package/assets/advanced-promotion-not-enabled.png +0 -0
- package/assets/badgeMask.svg +0 -3
- package/assets/bulb.svg +0 -9
- package/assets/bulk-configs-illustration.svg +0 -198
- package/assets/cluster.svg +0 -3
- package/assets/draft-not-exist-Illustration.svg +0 -16
- package/assets/drag.svg +0 -8
- package/assets/dummyIcon.png +0 -0
- package/assets/empty.svg +0 -35
- package/assets/emptyBadge.svg +0 -15
- package/assets/enrolPoints.svg +0 -9
- package/assets/filled-arrow.svg +0 -3
- package/assets/loyalty.svg +0 -9
- package/assets/not-supported-yet.svg +0 -4
- package/assets/pointsConversion.svg +0 -15
- package/assets/promotion.svg +0 -9
- package/assets/reEvaluate.svg +0 -17
- package/assets/receipt.svg +0 -14
- package/assets/rewardCurrencyLimitIcon.svg +0 -11
- package/assets/rewards-empty-placeholder.svg +0 -104
- package/assets/search.svg +0 -9
- package/assets/storeCode.csv +0 -5
- package/assets/survey-response.svg +0 -9
- package/assets/user_personlaisation.svg +0 -13
- package/assets/zones.svg +0 -14
- package/components/atoms/AccessDeniedTooltipMessage/AccessDeniedTooltipMessage.js +0 -29
- package/components/atoms/AccessDeniedTooltipMessage/index.js +0 -1
- package/components/atoms/AccessDeniedTooltipMessage/style.js +0 -24
- package/components/atoms/ActionViewModeHeader/ActionViewModeHeader.js +0 -60
- package/components/atoms/ActionViewModeHeader/index.js +0 -1
- package/components/atoms/ActionViewModeHeader/style.js +0 -7
- package/components/atoms/ButtonDropdown/ButtonDropdown.js +0 -41
- package/components/atoms/ButtonDropdown/index.js +0 -1
- package/components/atoms/ButtonDropdown/tests/ButtonDropdown.test.js +0 -20
- package/components/atoms/CenteredSkeleton/CenteredSkeleton.js +0 -19
- package/components/atoms/CenteredSkeleton/index.js +0 -1
- package/components/atoms/CustomIcons/CustomClose.js +0 -14
- package/components/atoms/CustomIcons/CustomDelete.js +0 -18
- package/components/atoms/CustomIcons/CustomTick.js +0 -14
- package/components/atoms/DateTimePicker/DateTimePicker.js +0 -68
- package/components/atoms/DateTimePicker/index.js +0 -1
- package/components/atoms/DateTimePicker/style.js +0 -31
- package/components/atoms/DisabledMoreIcon/DisabledMoreIcon.js +0 -29
- package/components/atoms/DisabledMoreIcon/index.js +0 -1
- package/components/atoms/DisabledMoreIcon/styles.js +0 -9
- package/components/atoms/HighlightedBackgroundText/HighlightedBackgroundText.js +0 -32
- package/components/atoms/HighlightedBackgroundText/index.js +0 -1
- package/components/atoms/HighlightedBackgroundText/style.js +0 -24
- package/components/atoms/HighlightedBackgroundText/tests/HighlightedBackgroundText.test.js +0 -21
- package/components/atoms/IllustrationWithTitleAndDesc/IllustrationWithTitleAndDesc.js +0 -44
- package/components/atoms/IllustrationWithTitleAndDesc/index.js +0 -1
- package/components/atoms/IllustrationWithTitleAndDesc/tests/IllustrationWithTitleAndDesc.test.js +0 -21
- package/components/atoms/IssuePromotionTooltip/IssuePromotionTooltip.js +0 -66
- package/components/atoms/IssuePromotionTooltip/index.js +0 -1
- package/components/atoms/LabelCustomisation/LabelCustomisation.js +0 -78
- package/components/atoms/LabelCustomisation/index.js +0 -1
- package/components/atoms/LabelCustomisation/style.js +0 -23
- package/components/atoms/LabelCustomisation/tests/LabelCustomisation.test.js +0 -67
- package/components/atoms/OptionWithTooltip/OptionWithTooltip.js +0 -35
- package/components/atoms/OptionWithTooltip/index.js +0 -1
- package/components/atoms/RenewalExpression/RenewalExpression.js +0 -72
- package/components/atoms/RenewalExpression/index.js +0 -1
- package/components/atoms/RenewalExpression/style.js +0 -47
- package/components/atoms/RewardCatalogTooltip/RewardCatalogTooltip.js +0 -106
- package/components/atoms/RewardCatalogTooltip/index.js +0 -1
- package/components/atoms/RoleBasedAuth/RoleBasedAuth.js +0 -28
- package/components/atoms/RoleBasedAuth/index.js +0 -1
- package/components/atoms/RoleBasedAuth/tests/RequireRoleBasedAuth.test.js +0 -55
- package/components/atoms/RoleBasedAuth/tests/mockData.js +0 -303
- package/components/atoms/Toaster/Toaster.js +0 -50
- package/components/atoms/Toaster/index.js +0 -1
- package/components/atoms/Toaster/style.js +0 -14
- package/components/atoms/Toaster/tests/Toastr.test.js +0 -32
- package/components/atoms/Toaster/toastrStyle.js +0 -44
- package/components/atoms/ToastrMessage/ToastrMessage.js +0 -68
- package/components/atoms/ToastrMessage/index.js +0 -1
- package/components/atoms/ToastrMessage/style.js +0 -38
- package/components/atoms/ToastrMessage/tests/ToastrMessageTimer.test.js +0 -60
- package/components/atoms/TrackerExpressionCondition/TrackerExpressionCondition.js +0 -118
- package/components/atoms/TrackerExpressionCondition/index.js +0 -1
- package/components/atoms/TrackerExpressionCondition/style.js +0 -38
- package/components/atoms/TrackerExpressionCondition/tests/TrackerExpressionCondition.test.js +0 -19
- package/components/atoms/VersioningNote/VersioningNote.js +0 -46
- package/components/atoms/VersioningNote/index.js +0 -1
- package/components/atoms/VersioningNote/style.js +0 -31
- package/components/atoms/VersioningNote/tests/VersioningNote.test.js +0 -27
- package/components/molecules/AccessDeniedTooltip/AccessDeniedTooltip.js +0 -34
- package/components/molecules/AccessDeniedTooltip/index.js +0 -1
- package/components/molecules/AccessDeniedTooltip/tests/AccessDeniedTooltip.test.js +0 -35
- package/components/molecules/AddActionConditionWorkflow/tests/AddActionConditionWorkflow.test.js +0 -16
- package/components/molecules/AddActionConditionWorkflow/tests/__snapshots__/AddActionConditionWorkflow.test.js.snap +0 -40
- package/components/molecules/AddMoreCard/tests/AddMoreCard.test.js +0 -23
- package/components/molecules/AddMoreCard/tests/__snapshots__/AddMoreCard.test.js.snap +0 -30
- package/components/molecules/AddPartnerPrograms/AddPartnerPrograms.js +0 -1012
- package/components/molecules/AddPartnerPrograms/constants.js +0 -2
- package/components/molecules/AddPartnerPrograms/index.js +0 -1
- package/components/molecules/AddPartnerPrograms/messages.js +0 -60
- package/components/molecules/AddPartnerPrograms/style.js +0 -53
- package/components/molecules/AddPartnerPrograms/tests/AddExternalPrograms.test.js +0 -493
- package/components/molecules/AddPartnerPrograms/tests/AddSupplementaryPrograms.test.js +0 -489
- package/components/molecules/AddPartnerPrograms/tests/mockData.js +0 -205
- package/components/molecules/AddPartnerPrograms/utils.js +0 -22
- package/components/molecules/AddPartnerProgramsBasicDetails/AddPartnerProgramsBasicDetails.js +0 -156
- package/components/molecules/AddPartnerProgramsBasicDetails/index.js +0 -1
- package/components/molecules/AddPartnerProgramsBasicDetails/messages.js +0 -53
- package/components/molecules/AddPartnerProgramsBasicDetails/style.js +0 -60
- package/components/molecules/AddPartnerProgramsBasicDetails/tests/AddSupplementaryBasicDetails.test.js +0 -77
- package/components/molecules/AddPartnerProgramsBasicDetails/utils.js +0 -116
- package/components/molecules/AddTierBanner/tests/AddTierBanner.test.js +0 -27
- package/components/molecules/AddTierBanner/tests/__snapshots__/AddTierBanner.test.js.snap +0 -25
- package/components/molecules/AddTierPrimaryInfo/tests/AddTierPrimaryInfo.test.js +0 -49
- package/components/molecules/AddTierPrimaryInfo/tests/__snapshots__/AddTierPrimaryInfo.test.js.snap +0 -132
- package/components/molecules/AddTrackersInfo/tests/AddTrackersInfo.test.js +0 -23
- package/components/molecules/AddTrackersInfo/tests/__snapshots__/AddTrackersInfo.test.js.snap +0 -103
- package/components/molecules/AdvanceSettingScrollContainer/tests/AdvanceSettingScrollContainer.test.js +0 -30
- package/components/molecules/AdvanceSettingScrollContainer/tests/__snapshots__/AdvanceSettingScrollContainer.test.js.snap +0 -82
- package/components/molecules/AlternateCurrencyWorkflowHeader/AlternateCurrencyWorkflowHeader.js +0 -114
- package/components/molecules/AlternateCurrencyWorkflowHeader/index.js +0 -1
- package/components/molecules/AlternateCurrencyWorkflowHeader/messages.js +0 -34
- package/components/molecules/AlternateCurrencyWorkflowHeader/style.js +0 -38
- package/components/molecules/AnyOrCustomPathBlock/AnyOrCustomPathBlock.js +0 -149
- package/components/molecules/AnyOrCustomPathBlock/index.js +0 -1
- package/components/molecules/AnyOrCustomPathBlock/style.js +0 -94
- package/components/molecules/BenefitsAndLimitsList/BenefitsAndLimitsList.js +0 -327
- package/components/molecules/BenefitsAndLimitsList/actions.js +0 -13
- package/components/molecules/BenefitsAndLimitsList/constants.js +0 -3
- package/components/molecules/BenefitsAndLimitsList/index.js +0 -1
- package/components/molecules/BenefitsAndLimitsList/messages.js +0 -56
- package/components/molecules/BenefitsAndLimitsList/reducer.js +0 -33
- package/components/molecules/BenefitsAndLimitsList/saga.js +0 -40
- package/components/molecules/BenefitsAndLimitsList/selectors.js +0 -26
- package/components/molecules/BenefitsAndLimitsList/style.js +0 -71
- package/components/molecules/BenefitsAndLimitsList/tests/BenefitsAndLimitsList.test.js +0 -124
- package/components/molecules/BenefitsAndLimitsList/tests/actions.test.js +0 -10
- package/components/molecules/BenefitsAndLimitsList/tests/mockData.js +0 -551
- package/components/molecules/BenefitsAndLimitsList/tests/reducer.test.js +0 -51
- package/components/molecules/BenefitsAndLimitsList/tests/saga.test.js +0 -62
- package/components/molecules/BenefitsAndLimitsList/tests/selectors.test.js +0 -41
- package/components/molecules/BenefitsAndLimitsList/utils.js +0 -51
- package/components/molecules/BenefitsAndLimitsPane/BenefitsAndLimitsPane.js +0 -120
- package/components/molecules/BenefitsAndLimitsPane/index.js +0 -1
- package/components/molecules/BenefitsAndLimitsPane/messages.js +0 -19
- package/components/molecules/BenefitsAndLimitsPane/style.js +0 -56
- package/components/molecules/BenefitsAndLimitsPane/tests/BenefitsAndLimitsPane.test.js +0 -47
- package/components/molecules/BenefitsAndLimitsPane/tests/mockData.js +0 -14
- package/components/molecules/BulkConfigPulishAlert/BulkConfigPulishAlert.js +0 -98
- package/components/molecules/BulkConfigPulishAlert/index.js +0 -1
- package/components/molecules/BulkConfigPulishAlert/messages.js +0 -28
- package/components/molecules/BulkConfigPulishAlert/style.js +0 -48
- package/components/molecules/BulkConfigPulishAlert/tests/BulkConfigPublishAlert.test.js +0 -57
- package/components/molecules/CapReportLink/CapReportLink.js +0 -52
- package/components/molecules/CapReportLink/index.js +0 -1
- package/components/molecules/CapReportLink/style.js +0 -29
- package/components/molecules/CapReportLink/tests/CapReport.test.js +0 -49
- package/components/molecules/CardsCommunication/tests/CardCommunication.test.js +0 -50
- package/components/molecules/CartLevelLimits/CartLevelLimits.js +0 -135
- package/components/molecules/CartLevelLimits/index.js +0 -1
- package/components/molecules/CartLevelLimits/style.js +0 -66
- package/components/molecules/CartLevelLimits/tests/CartLevelLimit.test.js +0 -62
- package/components/molecules/CollapsableHeaderContent/CollapsableHeaderContent.js +0 -69
- package/components/molecules/CollapsableHeaderContent/index.js +0 -1
- package/components/molecules/CollapsableHeaderContent/style.js +0 -51
- package/components/molecules/CollapsableHeaderContent/tests/CollapsableHeaderContent.test.js +0 -33
- package/components/molecules/CollapseWithMultiSelect/style.js +0 -9
- package/components/molecules/CollapseWithStore/messages.js +0 -68
- package/components/molecules/CollapseWithStore/style.js +0 -108
- package/components/molecules/CollapseWithStore/tests/CollapseWithStore.test.js +0 -30
- package/components/molecules/CollapseWithStore/tests/mockData.js +0 -72
- package/components/molecules/ColorPatch/tests/ColorPatch.test.js +0 -21
- package/components/molecules/ColorPatch/tests/__snapshots__/ColorPatch.test.js.snap +0 -5100
- package/components/molecules/ColorSelector/tests/ColorSelector.test.js +0 -62
- package/components/molecules/ConditionExpressionLayout/ConditionExpressionLayout.js +0 -103
- package/components/molecules/ConditionExpressionLayout/index.js +0 -1
- package/components/molecules/CreateActionButton/tests/CreateActionButton.test.js +0 -27
- package/components/molecules/CreateActionButton/tests/__snapshots__/CreateActionButton.test.js.snap +0 -57
- package/components/molecules/CreateCustomFieldPopover/CreateCustomFieldPopover.js +0 -236
- package/components/molecules/CreateCustomFieldPopover/index.js +0 -1
- package/components/molecules/CreateCustomFieldPopover/style.js +0 -55
- package/components/molecules/CreateCustomFieldPopover/tests/CreateCustomFieldPopover.test.js +0 -137
- package/components/molecules/CreateOfferInfo/tests/CreateOfferInfo.test.js +0 -23
- package/components/molecules/CreateOfferInfo/tests/__snapshots__/CreateOfferInfo.test.js.snap +0 -127
- package/components/molecules/CreateTracker/tests/CreateTracker.test.js +0 -426
- package/components/molecules/CreateTracker/tests/__snapshots__/actions.test.js.snap +0 -44
- package/components/molecules/CreateTracker/tests/__snapshots__/reducer.test.js.snap +0 -112
- package/components/molecules/CreateTracker/tests/actions.test.js +0 -19
- package/components/molecules/CreateTracker/tests/mockData.js +0 -876
- package/components/molecules/CreateTracker/tests/reducer.test.js +0 -164
- package/components/molecules/CreateTracker/tests/saga.test.js +0 -178
- package/components/molecules/CreateTracker/tests/selectors.test.js +0 -67
- package/components/molecules/CustomTree/messages.js +0 -20
- package/components/molecules/CustomTree/tests/CustomTree.test.js +0 -87
- package/components/molecules/CustomTree/tests/mocks/data.js +0 -50
- package/components/molecules/CustomTree/utils.js +0 -40
- package/components/molecules/CustomTreeHelper/CustomTreeHelper.js +0 -284
- package/components/molecules/CustomTreeHelper/constants.js +0 -20
- package/components/molecules/CustomTreeHelper/index.js +0 -1
- package/components/molecules/CustomTreeHelper/messages.js +0 -133
- package/components/molecules/CustomTreeHelper/style.js +0 -183
- package/components/molecules/CustomTreeHelper/tests/CustomTreeHelper.test.js +0 -474
- package/components/molecules/CustomTreeHelper/tests/mocks/data.js +0 -152
- package/components/molecules/CustomerLevelLimits/CustomerLevelLimits.js +0 -203
- package/components/molecules/CustomerLevelLimits/index.js +0 -1
- package/components/molecules/CustomerLevelLimits/messages.js +0 -81
- package/components/molecules/CustomerLevelLimits/style.js +0 -72
- package/components/molecules/CustomerLevelLimits/tests/CustomerLevelLimits.test.js +0 -69
- package/components/molecules/CustomerLevelLimits/tests/mockData.js +0 -189
- package/components/molecules/DateTimeMetaDataAttribute/DateTimeMetaDataAttribute.js +0 -143
- package/components/molecules/DateTimeMetaDataAttribute/index.js +0 -1
- package/components/molecules/DateTimeMetaDataAttribute/style.js +0 -17
- package/components/molecules/DelayCreatives/tests/DelayCreatives.test.js +0 -28
- package/components/molecules/DestinationMapper/DestinationMapper.js +0 -225
- package/components/molecules/DestinationMapper/index.js +0 -1
- package/components/molecules/DestinationMapper/messages.js +0 -59
- package/components/molecules/DestinationMapper/style.js +0 -125
- package/components/molecules/DestinationMapper/tests/DestinationMapper.test.js +0 -73
- package/components/molecules/DifferentDestinationPrograms/DifferentDestinationPrograms.js +0 -692
- package/components/molecules/DifferentDestinationPrograms/index.js +0 -1
- package/components/molecules/DifferentDestinationPrograms/messages.js +0 -90
- package/components/molecules/DifferentDestinationPrograms/style.js +0 -242
- package/components/molecules/DifferentDestinationPrograms/tests/DifferentDestinationPrograms.test.js +0 -195
- package/components/molecules/DifferentDestinationPrograms/tests/mockData.js +0 -256
- package/components/molecules/DifferentDestinationPrograms/utils.js +0 -197
- package/components/molecules/DividerWithOverlappedText/DividerWithOverlappedText.js +0 -48
- package/components/molecules/DividerWithOverlappedText/index.js +0 -1
- package/components/molecules/DividerWithOverlappedText/style.js +0 -16
- package/components/molecules/DoubleMetaDataAttribute/DoubleMetaDataAttribute.js +0 -92
- package/components/molecules/DoubleMetaDataAttribute/index.js +0 -1
- package/components/molecules/DoubleMetaDataAttribute/messages.js +0 -10
- package/components/molecules/DoubleMetaDataAttribute/style.js +0 -7
- package/components/molecules/DowngradeTier/style.js +0 -230
- package/components/molecules/DowngradeTier/tests/DowngradeTier.test.js +0 -274
- package/components/molecules/DowngradeTier/utils.js +0 -88
- package/components/molecules/EarnStrategyConditions/EarnStrategyConditions.js +0 -236
- package/components/molecules/EarnStrategyConditions/index.js +0 -1
- package/components/molecules/EarnStrategyConditions/messages.js +0 -42
- package/components/molecules/EarnStrategyConditions/style.js +0 -68
- package/components/molecules/EarnStrategyConditions/tests/EarnStrategyConditions.test.js +0 -64
- package/components/molecules/EarnStrategyConditions/tests/EarnStrategySameConditions.test.js +0 -102
- package/components/molecules/EmptyStateIllustration/tests/EmptyStateIllustration.test.js +0 -35
- package/components/molecules/ExpiryConditionSlideBox/ExpiryConditionSlideBox.js +0 -169
- package/components/molecules/ExpiryConditionSlideBox/constants.js +0 -4
- package/components/molecules/ExpiryConditionSlideBox/index.js +0 -1
- package/components/molecules/ExpiryConditionSlideBox/messages.js +0 -106
- package/components/molecules/ExpiryConditionSlideBox/style.js +0 -36
- package/components/molecules/ExpiryConditionSlideBox/tests/ExpiryConditionSlideBox.test.js +0 -42
- package/components/molecules/ExpiryReminder/ExpiryReminder.js +0 -229
- package/components/molecules/ExpiryReminder/index.js +0 -1
- package/components/molecules/ExpiryReminder/messages.js +0 -23
- package/components/molecules/ExpiryReminder/style.js +0 -61
- package/components/molecules/ExpiryReminder/tests/ExpiryReminder.test.js +0 -204
- package/components/molecules/HeaderWithSwitch/HeaderWithSwitch.js +0 -121
- package/components/molecules/HeaderWithSwitch/index.js +0 -1
- package/components/molecules/ImageUploadMolecule/UploadImageMolecule.js +0 -137
- package/components/molecules/ImageUploadMolecule/index.js +0 -1
- package/components/molecules/ImageUploadMolecule/messages.js +0 -26
- package/components/molecules/ImageUploadMolecule/style.js +0 -69
- package/components/molecules/ImageUploadMolecule/tests/UploadImageMolecule.test.js +0 -139
- package/components/molecules/InputWithPrefixSufixAndCommChannel/InputWithPrefixSufixAndCommChannel.js +0 -135
- package/components/molecules/InputWithPrefixSufixAndCommChannel/index.js +0 -1
- package/components/molecules/InputWithPrefixSufixAndCommChannel/messages.js +0 -11
- package/components/molecules/InputWithPrefixSufixAndCommChannel/style.js +0 -65
- package/components/molecules/InstructionList.js/InstructionList.js +0 -41
- package/components/molecules/InstructionList.js/index.js +0 -1
- package/components/molecules/InstructionList.js/style.js +0 -54
- package/components/molecules/IssueRewardsCustomFields/IssueRewardsCustomFields.js +0 -892
- package/components/molecules/IssueRewardsCustomFields/index.js +0 -1
- package/components/molecules/IssueRewardsCustomFields/messages.js +0 -108
- package/components/molecules/IssueRewardsCustomFields/style.js +0 -159
- package/components/molecules/IssueRewardsCustomFields/tests/IssueRewardsCustomFields.test.js +0 -212
- package/components/molecules/IssueRewardsCustomFields/tests/mockData.js +0 -164
- package/components/molecules/IssueRewardsCustomFields/tests/utils.test.js +0 -38
- package/components/molecules/IssueRewardsCustomFields/utils.js +0 -88
- package/components/molecules/LabelValueWithVerticalDivider/LabelValueWithVerticalDivider.js +0 -82
- package/components/molecules/LabelValueWithVerticalDivider/index.js +0 -1
- package/components/molecules/LabelValueWithVerticalDivider/style.js +0 -28
- package/components/molecules/LabelValueWithVerticalDivider/tests/LabelValueWithVerticalDivider.test.js +0 -46
- package/components/molecules/LabelValueWithVerticalDivider/tests/mockData.js +0 -14
- package/components/molecules/ListDragAndDrop/ListDragAndDrop.js +0 -103
- package/components/molecules/ListDragAndDrop/index.js +0 -1
- package/components/molecules/ListDragAndDrop/tests/ListDragAndDrop.test.js +0 -30
- package/components/molecules/NoTargetView/NoTargetView.js +0 -84
- package/components/molecules/NoTargetView/index.js +0 -1
- package/components/molecules/NoTargetView/style.js +0 -55
- package/components/molecules/NoTargetView/tests/NoTargetView.test.js +0 -53
- package/components/molecules/PageHeaderDescription/messages.js +0 -11
- package/components/molecules/PageHeaderDescription/tests/PageHeaderDescription_jest.test.js +0 -53
- package/components/molecules/PartnerProgramsConfigPane/PartnerProgramsConfigPane.js +0 -263
- package/components/molecules/PartnerProgramsConfigPane/constants.js +0 -2
- package/components/molecules/PartnerProgramsConfigPane/index.js +0 -1
- package/components/molecules/PartnerProgramsConfigPane/messages.js +0 -39
- package/components/molecules/PartnerProgramsConfigPane/style.js +0 -26
- package/components/molecules/PartnerProgramsConfigPane/tests/SupplementaryProgramsConfigPane.test.js +0 -26
- package/components/molecules/PartnerProgramsSettings/PartnerProgramsSettings.js +0 -266
- package/components/molecules/PartnerProgramsSettings/constants.js +0 -5
- package/components/molecules/PartnerProgramsSettings/index.js +0 -1
- package/components/molecules/PartnerProgramsSettings/messages.js +0 -57
- package/components/molecules/PartnerProgramsSettings/style.js +0 -72
- package/components/molecules/PartnerProgramsSettings/tests/SupplementaryProgramsSettings.test.js +0 -116
- package/components/molecules/PartnerProgramsSettings/tests/mockData.js +0 -42
- package/components/molecules/PartnerProgramsSettings/utils.js +0 -32
- package/components/molecules/PointsLimitContent/PointsLimitContent.js +0 -30
- package/components/molecules/PointsLimitContent/index.js +0 -1
- package/components/molecules/PointsTransferCollapseData/PointsTransferCollapseData.js +0 -805
- package/components/molecules/PointsTransferCollapseData/index.js +0 -1
- package/components/molecules/PointsTransferCollapseData/messages.js +0 -92
- package/components/molecules/PointsTransferCollapseData/stories/CollapseData.stories.js +0 -5
- package/components/molecules/PointsTransferCollapseData/style.js +0 -40
- package/components/molecules/PointsTransferCollapseData/tests/index.test.js +0 -680
- package/components/molecules/PointsTransferCollapseData/tests/mockData.js +0 -168
- package/components/molecules/PointsTransferSettings/PointsTransferSettings.js +0 -24
- package/components/molecules/PointsTransferSettings/index.js +0 -1
- package/components/molecules/PointsTransferSettings/messages.js +0 -16
- package/components/molecules/PointsTransferSettings/tests/index.test.js +0 -11
- package/components/molecules/ProgramName/messages.js +0 -20
- package/components/molecules/ProgramName/tests/ProgramName.test.js +0 -60
- package/components/molecules/PromotionCalendarLazyLoad/PromotionCalendarLazyLoad.js +0 -27
- package/components/molecules/PromotionCalendarLazyLoad/index.js +0 -1
- package/components/molecules/PromotionCalendarLazyLoad/style.js +0 -11
- package/components/molecules/PromotionCalendarLazyLoad/tests/PromotionCalendarLazyLoad.test.js +0 -16
- package/components/molecules/PromotionCalendarPopoverContent/PromotionCalendarPopoverContent.js +0 -157
- package/components/molecules/PromotionCalendarPopoverContent/index.js +0 -1
- package/components/molecules/PromotionCalendarPopoverContent/messages.js +0 -23
- package/components/molecules/PromotionCalendarPopoverContent/tests/PromotionCalendarPopoverContent.test.js +0 -52
- package/components/molecules/PromotionCalendarPopoverContent/tests/mockData.js +0 -199
- package/components/molecules/PromotionListLazyLoad/PromotionListLazyLoad.js +0 -24
- package/components/molecules/PromotionListLazyLoad/index.js +0 -1
- package/components/molecules/PromotionListLazyLoad/style.js +0 -13
- package/components/molecules/PromotionSettingsContent/PromotionSettingsContent.js +0 -46
- package/components/molecules/PromotionSettingsContent/index.js +0 -1
- package/components/molecules/PromotionsTableHeader/PromotionsTableHeader.js +0 -303
- package/components/molecules/PromotionsTableHeader/index.js +0 -1
- package/components/molecules/PromotionsTableHeader/style.js +0 -178
- package/components/molecules/PromotionsTableHeader/tests/PromotionsTableHeader.test.js +0 -126
- package/components/molecules/PromotionsTableHeader/tests/mockData.js +0 -81
- package/components/molecules/PublishAndActivateModal/PublishAndActivateModal.js +0 -222
- package/components/molecules/PublishAndActivateModal/index.js +0 -1
- package/components/molecules/PublishAndActivateModal/messages.js +0 -33
- package/components/molecules/PublishAndActivateModal/style.js +0 -53
- package/components/molecules/PublishAndActivateModal/tests/PublishAndActivateModal.test.js +0 -63
- package/components/molecules/RenewalTierV2/RenewalTierV2.js +0 -503
- package/components/molecules/RenewalTierV2/constants.js +0 -9
- package/components/molecules/RenewalTierV2/index.js +0 -1
- package/components/molecules/RenewalTierV2/messages.js +0 -66
- package/components/molecules/RenewalTierV2/tests/RenewalTierV2.test.js +0 -49
- package/components/molecules/RenewalTierV2/utils.js +0 -115
- package/components/molecules/ReplaceExistingDraftNotification/ReplaceExistingDraftNotification.js +0 -161
- package/components/molecules/ReplaceExistingDraftNotification/index.js +0 -1
- package/components/molecules/ReplaceExistingDraftNotification/messages.js +0 -36
- package/components/molecules/ReplaceExistingDraftNotification/style.js +0 -87
- package/components/molecules/ReplaceExistingDraftNotification/tests/ReplaceExistingDraftNotification.test.js +0 -83
- package/components/molecules/ReplaceExistingDraftNotification/tests/mockData.js +0 -73
- package/components/molecules/RestoreModal/RestoreModal.js +0 -159
- package/components/molecules/RestoreModal/index.js +0 -1
- package/components/molecules/RestoreModal/messages.js +0 -39
- package/components/molecules/RestoreModal/style.js +0 -74
- package/components/molecules/RestoreModal/tests/RestoreModal.test.js +0 -57
- package/components/molecules/RewardCatalogViewTitle/RewardCatalogViewTitle.js +0 -66
- package/components/molecules/RewardCatalogViewTitle/index.js +0 -1
- package/components/molecules/RootConfirmModal/RootConfirmModal.js +0 -68
- package/components/molecules/RootConfirmModal/index.js +0 -1
- package/components/molecules/SameDestinationPrograms/SameDestinationPrograms.js +0 -583
- package/components/molecules/SameDestinationPrograms/index.js +0 -1
- package/components/molecules/SameDestinationPrograms/messages.js +0 -67
- package/components/molecules/SameDestinationPrograms/style.js +0 -224
- package/components/molecules/SameDestinationPrograms/tests/SameDestinationPrograms.test.js +0 -197
- package/components/molecules/SenderInformation/tests/SenderInformation.test.js +0 -34
- package/components/molecules/SenderSlideBox/tests/SenderSlideBox.test.js +0 -48
- package/components/molecules/StepFunctionEarnStrategy/StepFunctionEarnStrategy.js +0 -153
- package/components/molecules/StepFunctionEarnStrategy/index.js +0 -1
- package/components/molecules/StepFunctionEarnStrategy/messages.js +0 -33
- package/components/molecules/StepFunctionEarnStrategy/style.js +0 -56
- package/components/molecules/StepFunctionEarnStrategy/tests/StepFunctionEarnStrategy.test.js +0 -113
- package/components/molecules/StepFunctionEarnStrategy/tests/mockData.js +0 -29
- package/components/molecules/StringMetaDataAttribute/StringMetaDataAttribute.js +0 -86
- package/components/molecules/StringMetaDataAttribute/index.js +0 -1
- package/components/molecules/StringMetaDataAttribute/messages.js +0 -10
- package/components/molecules/StringMetaDataAttribute/style.js +0 -3
- package/components/molecules/SupplementaryExpiryReminder/SupplementaryExpiryReminder.js +0 -171
- package/components/molecules/SupplementaryExpiryReminder/index.js +0 -1
- package/components/molecules/SupplementaryExpiryReminder/messages.js +0 -19
- package/components/molecules/SupplementaryExpiryReminder/style.js +0 -16
- package/components/molecules/SupplementaryExpiryReminder/tests/SupplementaryExpiryReminder.test.js +0 -77
- package/components/molecules/SupplementaryExpiryReminder/tests/SupplementaryViewExpiryReminder.test.js +0 -58
- package/components/molecules/SupplementaryExpiryReminder/utils.js +0 -7
- package/components/molecules/Switch/Switch.js +0 -113
- package/components/molecules/Switch/index.js +0 -1
- package/components/molecules/Switch/style.js +0 -30
- package/components/molecules/Switch/tests/Switch.test.js +0 -26
- package/components/molecules/Switch/tests/mockData.js +0 -9
- package/components/molecules/SwitchWithDivider/tests/SwitchWithDivider.test.js +0 -26
- package/components/molecules/SwitchWithDivider/tests/mockData.js +0 -9
- package/components/molecules/TableOption/constants.js +0 -1
- package/components/molecules/TableOption/style.js +0 -19
- package/components/molecules/TierCard/tests/BlockContent.test.js +0 -37
- package/components/molecules/TierCard/tests/CardBody.test.js +0 -497
- package/components/molecules/TierCard/tests/CardContent.test.js +0 -36
- package/components/molecules/TierCard/tests/mockData.js +0 -21
- package/components/molecules/UpgradeTier/tests/UpgradeTier.test.js +0 -48
- package/components/molecules/UpgradeTierV2/UpgradeTierV2.js +0 -912
- package/components/molecules/UpgradeTierV2/constants.js +0 -5
- package/components/molecules/UpgradeTierV2/index.js +0 -1
- package/components/molecules/UpgradeTierV2/messages.js +0 -95
- package/components/molecules/UpgradeTierV2/tests/UpgradeTierV2.test.js +0 -350
- package/components/molecules/UpgradeTierV2/tests/mockData.js +0 -840
- package/components/molecules/UpgradeTierV2/tests/utils.test.js +0 -299
- package/components/molecules/UpgradeTierV2/utils.js +0 -323
- package/components/molecules/UpgradeTrackerTierV2/UpgradeTrackerTierV2.js +0 -480
- package/components/molecules/UpgradeTrackerTierV2/index.js +0 -1
- package/components/molecules/UpgradeTrackerTierV2/style.js +0 -53
- package/components/molecules/UpgradeTrackerTierV2/tests/UpgradeTrackerTierV2.test.js +0 -276
- package/components/molecules/UpgradeTrackerTierV2/tests/mockData.js +0 -696
- package/components/molecules/VersioningPublishModal/VersioningPublishModal.js +0 -134
- package/components/molecules/VersioningPublishModal/index.js +0 -1
- package/components/molecules/VersioningPublishModal/messages.js +0 -39
- package/components/molecules/VersioningPublishModal/style.js +0 -41
- package/components/molecules/VersioningPublishModal/tests/VersioningPublishModal.test.js +0 -89
- package/components/organisms/ActionExpression/ActionExpression.js +0 -357
- package/components/organisms/ActionExpression/actions.js +0 -12
- package/components/organisms/ActionExpression/constants.js +0 -25
- package/components/organisms/ActionExpression/index.js +0 -1
- package/components/organisms/ActionExpression/messages.js +0 -17
- package/components/organisms/ActionExpression/reducer.js +0 -112
- package/components/organisms/ActionExpression/saga.js +0 -63
- package/components/organisms/ActionExpression/selectors.js +0 -13
- package/components/organisms/ActionExpression/style.js +0 -126
- package/components/organisms/ActionExpression/tests/ActionExpression1.test.js +0 -262
- package/components/organisms/ActionExpression/tests/__snapshots__/ActionExpression.test.js.snap +0 -170
- package/components/organisms/ActionExpression/tests/actions.test.js +0 -24
- package/components/organisms/ActionExpression/tests/mockData.js +0 -50
- package/components/organisms/ActionExpression/tests/reducer.test.js +0 -124
- package/components/organisms/ActionExpression/tests/saga.test.js +0 -144
- package/components/organisms/ActionExpression/tests/selectors.test.js +0 -18
- package/components/organisms/ActionExpression/tests/utils.test.js +0 -49
- package/components/organisms/ActionExpression/utils.js +0 -50
- package/components/organisms/ActivityRewardCurrencyCard/ActivityRewardCurrencyCard.js +0 -414
- package/components/organisms/ActivityRewardCurrencyCard/actions.js +0 -21
- package/components/organisms/ActivityRewardCurrencyCard/constants.js +0 -7
- package/components/organisms/ActivityRewardCurrencyCard/index.js +0 -1
- package/components/organisms/ActivityRewardCurrencyCard/messages.js +0 -48
- package/components/organisms/ActivityRewardCurrencyCard/reducer.js +0 -48
- package/components/organisms/ActivityRewardCurrencyCard/saga.js +0 -65
- package/components/organisms/ActivityRewardCurrencyCard/selectors.js +0 -12
- package/components/organisms/ActivityRewardCurrencyCard/style.js +0 -85
- package/components/organisms/ActivityRewardCurrencyCard/tests/actions.test.js +0 -18
- package/components/organisms/ActivityRewardCurrencyCard/tests/activityRewardCurrencyLimit.test.js +0 -93
- package/components/organisms/ActivityRewardCurrencyCard/tests/noTargetGroups.test.js +0 -71
- package/components/organisms/ActivityRewardCurrencyCard/tests/reducer.test.js +0 -93
- package/components/organisms/ActivityRewardCurrencyCard/tests/saga.test.js +0 -140
- package/components/organisms/ActivityRewardCurrencyCard/tests/selectors.test.js +0 -21
- package/components/organisms/ActivityRewardSlider/ConfirmEditModal.js +0 -86
- package/components/organisms/ActivityRewardSlider/actions.js +0 -42
- package/components/organisms/ActivityRewardSlider/activityRewardSlider.js +0 -1135
- package/components/organisms/ActivityRewardSlider/constants.js +0 -77
- package/components/organisms/ActivityRewardSlider/context.js +0 -7
- package/components/organisms/ActivityRewardSlider/index.js +0 -1
- package/components/organisms/ActivityRewardSlider/messages.js +0 -203
- package/components/organisms/ActivityRewardSlider/reducer.js +0 -43
- package/components/organisms/ActivityRewardSlider/saga.js +0 -126
- package/components/organisms/ActivityRewardSlider/selectors.js +0 -29
- package/components/organisms/ActivityRewardSlider/style.js +0 -90
- package/components/organisms/ActivityRewardSlider/tests/actions.test.js +0 -20
- package/components/organisms/ActivityRewardSlider/tests/activityRewardSlider.test.js +0 -163
- package/components/organisms/ActivityRewardSlider/tests/activityRewardSliderEmpty.test.js +0 -92
- package/components/organisms/ActivityRewardSlider/tests/activityRewardSliderRevamp.test.js +0 -292
- package/components/organisms/ActivityRewardSlider/tests/cartLevelLimits.test.js +0 -91
- package/components/organisms/ActivityRewardSlider/tests/mockData.js +0 -528
- package/components/organisms/ActivityRewardSlider/tests/noTargetView.test.js +0 -90
- package/components/organisms/ActivityRewardSlider/tests/reducer.test.js +0 -90
- package/components/organisms/ActivityRewardSlider/tests/saga.test.js +0 -363
- package/components/organisms/ActivityRewardSlider/tests/selector.test.js +0 -21
- package/components/organisms/ActivityRewardSlider/tests/utils.test.js +0 -188
- package/components/organisms/ActivityRewardSlider/utils.js +0 -43
- package/components/organisms/ActivityRewardSliderV1/actions.js +0 -14
- package/components/organisms/ActivityRewardSliderV1/activityRewardSliderV1.js +0 -316
- package/components/organisms/ActivityRewardSliderV1/constants.js +0 -27
- package/components/organisms/ActivityRewardSliderV1/context.js +0 -7
- package/components/organisms/ActivityRewardSliderV1/index.js +0 -1
- package/components/organisms/ActivityRewardSliderV1/messages.js +0 -19
- package/components/organisms/ActivityRewardSliderV1/reducer.js +0 -29
- package/components/organisms/ActivityRewardSliderV1/saga.js +0 -43
- package/components/organisms/ActivityRewardSliderV1/selectors.js +0 -12
- package/components/organisms/ActivityRewardSliderV1/style.js +0 -25
- package/components/organisms/ActivityRewardSliderV1/tests/actions.test.js +0 -12
- package/components/organisms/ActivityRewardSliderV1/tests/activityRewardSliderEmpty.test.js +0 -92
- package/components/organisms/ActivityRewardSliderV1/tests/activityRewardSliderV1.test.js +0 -271
- package/components/organisms/ActivityRewardSliderV1/tests/reducer.test.js +0 -53
- package/components/organisms/ActivityRewardSliderV1/tests/saga.test.js +0 -78
- package/components/organisms/ActivityRewardSliderV1/tests/selector.test.js +0 -21
- package/components/organisms/AddEarnCondition/context.js +0 -7
- package/components/organisms/AddEarnCondition/tests/AddEarnCondition.test.js +0 -482
- package/components/organisms/AddEarnCondition/tests/actions.test.js +0 -23
- package/components/organisms/AddEarnCondition/tests/mockData.js +0 -107
- package/components/organisms/AddEarnCondition/tests/saga.test.js +0 -156
- package/components/organisms/AddPaymentMethod/tests/AddPaymentMethod.test.js +0 -20
- package/components/organisms/AddPointsAllocationLimitDetails/AddPointsAllocationLimitDetails.js +0 -1629
- package/components/organisms/AddPointsAllocationLimitDetails/constants.js +0 -37
- package/components/organisms/AddPointsAllocationLimitDetails/index.js +0 -1
- package/components/organisms/AddPointsAllocationLimitDetails/messages.js +0 -364
- package/components/organisms/AddPointsAllocationLimitDetails/style.js +0 -428
- package/components/organisms/AddPointsAllocationLimitDetails/tests/AddPointsAllocationLimitDetails.test.js +0 -611
- package/components/organisms/AddPointsAllocationLimitDetails/tests/actions.test.js +0 -53
- package/components/organisms/AddPointsAllocationLimitDetails/tests/mockData.js +0 -38
- package/components/organisms/AddPointsAllocationLimitDetails/tests/mocks/data.js +0 -76
- package/components/organisms/AddPointsAllocationLimitDetails/tests/reducer.test.js +0 -223
- package/components/organisms/AddPointsAllocationLimitDetails/tests/saga.test.js +0 -275
- package/components/organisms/AddPointsAllocationLimitDetails/tests/selectors.test.js +0 -60
- package/components/organisms/AddPointsAllocationLimitDetails/utils.js +0 -27
- package/components/organisms/AddPointsAllocationLimitSlider/AddPointsAllocationLimitSlider.js +0 -596
- package/components/organisms/AddPointsAllocationLimitSlider/constants.js +0 -40
- package/components/organisms/AddPointsAllocationLimitSlider/index.js +0 -1
- package/components/organisms/AddPointsAllocationLimitSlider/messages.js +0 -44
- package/components/organisms/AddPointsAllocationLimitSlider/style.js +0 -63
- package/components/organisms/AddPointsAllocationLimitSlider/tests/AddPointsAllocationLimitSlider.test.js +0 -274
- package/components/organisms/AddPointsAllocationLimitSlider/tests/mockData.js +0 -533
- package/components/organisms/AddPointsAllocationLimitSlider/tests/utils.test.js +0 -52
- package/components/organisms/AddPointsAllocationLimitSlider/utils.js +0 -64
- package/components/organisms/AddPointsFilterTransaction/AddPointsFilterTransaction.js +0 -577
- package/components/organisms/AddPointsFilterTransaction/constants.js +0 -15
- package/components/organisms/AddPointsFilterTransaction/index.js +0 -1
- package/components/organisms/AddPointsFilterTransaction/messages.js +0 -45
- package/components/organisms/AddPointsFilterTransaction/style.js +0 -97
- package/components/organisms/AddPointsFilterTransaction/tests/AddPointsFilterTransaction.test.js +0 -429
- package/components/organisms/AddPointsFilterTransaction/tests/mockData.js +0 -148
- package/components/organisms/AddTier/tests/AddTier.test.js +0 -92
- package/components/organisms/AddTier/tests/AddTier1.test.js +0 -268
- package/components/organisms/AddTier/tests/mocks/data.js +0 -454
- package/components/organisms/AddTier/tests/saga.test.js +0 -199
- package/components/organisms/AddTier/tests/utils.test.js +0 -17
- package/components/organisms/AdvancedOption/actions.js +0 -39
- package/components/organisms/AdvancedOption/reducer.js +0 -73
- package/components/organisms/AdvancedOption/saga.js +0 -113
- package/components/organisms/AdvancedOption/tests/AdvancedOption.test.js +0 -128
- package/components/organisms/AdvancedOption/tests/reducer.test.js +0 -191
- package/components/organisms/AdvancedOption/tests/saga.test.js +0 -248
- package/components/organisms/AllocationPointWorkflowAction/tests/AllocationPointWorkflowAction.test.js +0 -343
- package/components/organisms/AlternateCurrencyList/AlternateCurrencyList.js +0 -670
- package/components/organisms/AlternateCurrencyList/constants.js +0 -53
- package/components/organisms/AlternateCurrencyList/index.js +0 -1
- package/components/organisms/AlternateCurrencyList/messages.js +0 -74
- package/components/organisms/AlternateCurrencyList/style.js +0 -292
- package/components/organisms/AlternateCurrencyList/tests/AlternateCurrencyList.test.js +0 -99
- package/components/organisms/AlternateCurrencyList/tests/mockData.js +0 -285
- package/components/organisms/AlternateCurrencyList/utils.js +0 -42
- package/components/organisms/AudienceList/AudienceList.js +0 -621
- package/components/organisms/AudienceList/AudienceListContainer.js +0 -244
- package/components/organisms/AudienceList/actions.js +0 -23
- package/components/organisms/AudienceList/constants.js +0 -42
- package/components/organisms/AudienceList/index.js +0 -1
- package/components/organisms/AudienceList/messages.js +0 -100
- package/components/organisms/AudienceList/reducer.js +0 -69
- package/components/organisms/AudienceList/saga.js +0 -99
- package/components/organisms/AudienceList/selector.js +0 -26
- package/components/organisms/AudienceList/styles.js +0 -366
- package/components/organisms/AudienceList/tests/AudienceList.test.js +0 -202
- package/components/organisms/AudienceList/tests/AudienceListContainer.test.js +0 -159
- package/components/organisms/AudienceList/tests/actions.test.js +0 -51
- package/components/organisms/AudienceList/tests/mockData.js +0 -362
- package/components/organisms/AudienceList/tests/reducer.test.js +0 -172
- package/components/organisms/AudienceList/tests/saga.test.js +0 -240
- package/components/organisms/AudienceList/tests/selector.test.js +0 -35
- package/components/organisms/AwardPointsConfig/tests/AwardPointsConfig.test.js +0 -304
- package/components/organisms/AwardPointsConfig/tests/CapVirtualSelect.test.js +0 -83
- package/components/organisms/AwardPointsConfig/tests/mockData.js +0 -285
- package/components/organisms/AwardRefereePointsWorkflowAction/tests/AwardRefereePointsWorkflowAction.test.js +0 -130
- package/components/organisms/AwardReferrerPointsWorkflowAction/tests/AwardReferrerPointsWorkflowAction.test.js +0 -130
- package/components/organisms/BulkConfigurationsDetail/BulkConfigurationsDetail.js +0 -689
- package/components/organisms/BulkConfigurationsDetail/actions.js +0 -31
- package/components/organisms/BulkConfigurationsDetail/constants.js +0 -34
- package/components/organisms/BulkConfigurationsDetail/index.js +0 -1
- package/components/organisms/BulkConfigurationsDetail/messages.js +0 -68
- package/components/organisms/BulkConfigurationsDetail/mocks/data.js +0 -531
- package/components/organisms/BulkConfigurationsDetail/reducer.js +0 -68
- package/components/organisms/BulkConfigurationsDetail/saga.js +0 -86
- package/components/organisms/BulkConfigurationsDetail/selectors.js +0 -26
- package/components/organisms/BulkConfigurationsDetail/style.js +0 -197
- package/components/organisms/BulkConfigurationsDetail/tests/BulkConfigurationsDetail.test.js +0 -572
- package/components/organisms/BulkConfigurationsDetail/tests/actions.test.js +0 -52
- package/components/organisms/BulkConfigurationsDetail/tests/reducer.test.js +0 -236
- package/components/organisms/BulkConfigurationsDetail/tests/saga.test.js +0 -197
- package/components/organisms/BulkConfigurationsDetail/tests/selectors.test.js +0 -42
- package/components/organisms/BulkConfigurationsDetail/utils.js +0 -540
- package/components/organisms/CappingSlidebox/tests/CappingSlidebox.test.js +0 -659
- package/components/organisms/CappingSlidebox/tests/TrackerCapping.test.js +0 -183
- package/components/organisms/ChangeLog/ChangeLog.js +0 -324
- package/components/organisms/ChangeLog/index.js +0 -1
- package/components/organisms/ChangeLog/messages.js +0 -36
- package/components/organisms/ChangeLog/style.js +0 -24
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/ChangeTierPartnerProgramWorkflowAction.js +0 -330
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/constants.js +0 -17
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/index.js +0 -1
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/messages.js +0 -44
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/style.js +0 -32
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/tests/ChangeTierPartnerProgramWorkflowAction.test.js +0 -148
- package/components/organisms/ChangeTierPartnerProgramWorkflowAction/tests/mockData.js +0 -29
- package/components/organisms/Communication/Loadable.js +0 -7
- package/components/organisms/Communication/tests/mockData.js +0 -146
- package/components/organisms/CommunicationAdvancedOption/tests/mocks/data.js +0 -14
- package/components/organisms/CommunicationAdvancedOption/tests/saga.test.js +0 -87
- package/components/organisms/CommunicationStrategies/tests/mocks/data.js +0 -14
- package/components/organisms/CommunicationStrategies/tests/saga.test.js +0 -157
- package/components/organisms/ConfigureProgramSteps/tests/ConfigureProgramSteps.test.js +0 -109
- package/components/organisms/ConfigureStrategies/tests/ConfigureStrategies.test.js +0 -363
- package/components/organisms/ConfigureStrategies/tests/mocks/data.js +0 -14
- package/components/organisms/ConfigureStrategies/tests/saga.test.js +0 -87
- package/components/organisms/ConfigureTrackers/messages.js +0 -10
- package/components/organisms/ConfigureWorkflows/Loadable.js +0 -7
- package/components/organisms/ConfigureWorkflows/PreviewBulkConfiguration.js +0 -131
- package/components/organisms/ConfigureWorkflows/context.js +0 -7
- package/components/organisms/ConfigureWorkflows/tests/ConfigureWorkflows.test.js +0 -210
- package/components/organisms/ConfigureWorkflows/tests/PreviewBulkConfiguration.test.js +0 -46
- package/components/organisms/ConfigureWorkflows/tests/WorkflowActions.test.js +0 -105
- package/components/organisms/ConfigureWorkflows/tests/WorkflowConfigurationSection.test.js +0 -791
- package/components/organisms/ConfigureWorkflows/tests/WorkflowConfigurationSectionView.test.js +0 -342
- package/components/organisms/ConfigureWorkflows/tests/__snapshots__/actions.test.js.snap +0 -15
- package/components/organisms/ConfigureWorkflows/tests/__snapshots__/reducer.test.js.snap +0 -8993
- package/components/organisms/ConfigureWorkflows/tests/actions.test.js +0 -405
- package/components/organisms/ConfigureWorkflows/tests/mockData.js +0 -7161
- package/components/organisms/ConfigureWorkflows/tests/mocks/data.js +0 -171
- package/components/organisms/ConfigureWorkflows/tests/mocks/rulesetsData.js +0 -637
- package/components/organisms/ConfigureWorkflows/tests/reducer.test.js +0 -1640
- package/components/organisms/ConfigureWorkflows/tests/saga.test.js +0 -2543
- package/components/organisms/ConfigureWorkflows/tests/selectors.test.js +0 -67
- package/components/organisms/ConfigureWorkflows/tests/utils.test.js +0 -442
- package/components/organisms/CouponSlidebox/tests/CouponSlidebox.test.js +0 -20
- package/components/organisms/Coupons/Loadable.js +0 -5
- package/components/organisms/Coupons/tests/mockdata.js +0 -2842
- package/components/organisms/CreateAlternateCurrency/CreateAlternateCurrency.js +0 -821
- package/components/organisms/CreateAlternateCurrency/actions.js +0 -12
- package/components/organisms/CreateAlternateCurrency/constants.js +0 -7
- package/components/organisms/CreateAlternateCurrency/index.js +0 -1
- package/components/organisms/CreateAlternateCurrency/messages.js +0 -177
- package/components/organisms/CreateAlternateCurrency/reducer.js +0 -34
- package/components/organisms/CreateAlternateCurrency/saga.js +0 -41
- package/components/organisms/CreateAlternateCurrency/selectors.js +0 -17
- package/components/organisms/CreateAlternateCurrency/style.js +0 -168
- package/components/organisms/CreateAlternateCurrency/tests/CreateAlternateCurrency.test.js +0 -381
- package/components/organisms/CreateAlternateCurrency/tests/actions.test.js +0 -29
- package/components/organisms/CreateAlternateCurrency/tests/mockData.js +0 -208
- package/components/organisms/CreateAlternateCurrency/tests/reducer.test.js +0 -70
- package/components/organisms/CreateAlternateCurrency/tests/saga.test.js +0 -103
- package/components/organisms/CreateAlternateCurrency/tests/selectors.test.js +0 -32
- package/components/organisms/CreateAlternateCurrency/utils.js +0 -45
- package/components/organisms/CreateBulkConfigForm/CreateBulkConfigForm.js +0 -56
- package/components/organisms/CreateBulkConfigForm/index.js +0 -1
- package/components/organisms/CreateBulkConfigForm/messages.js +0 -18
- package/components/organisms/CreateBulkConfigForm/style.js +0 -35
- package/components/organisms/CreateBulkConfigForm/tests/CreateBulkConfigForm.test.js +0 -35
- package/components/organisms/CreateProgram/tests/mocks/initialState.js +0 -4
- package/components/organisms/CreateProgramIllustration/tests/CreateProgramIllustration.test.js +0 -56
- package/components/organisms/CreatePromotionForm/CreatePromotionForm.js +0 -879
- package/components/organisms/CreatePromotionForm/index.js +0 -1
- package/components/organisms/CreatePromotionForm/messages.js +0 -110
- package/components/organisms/CreatePromotionForm/style.js +0 -253
- package/components/organisms/CreatePromotionForm/tests/CreatePromotionForm.test.js +0 -484
- package/components/organisms/CreatePromotionForm/tests/mockData.js +0 -130
- package/components/organisms/CreatePromotionForm/tests/utils.test.js +0 -38
- package/components/organisms/CreatePromotionForm/utils.js +0 -38
- package/components/organisms/CreateTender/tests/CreateTender.test.js +0 -102
- package/components/organisms/CreateTender/tests/mockData.js +0 -489
- package/components/organisms/CreateTender/tests/mocks/data.js +0 -16
- package/components/organisms/CreateTender/tests/saga.test.js +0 -123
- package/components/organisms/CreateTier/tests/mocks/data.js +0 -15
- package/components/organisms/CreateTier/tests/saga.test.js +0 -136
- package/components/organisms/Creatives/mockdata.js +0 -222
- package/components/organisms/Creatives/tests/Creatives.test.js +0 -128
- package/components/organisms/Creatives/tests/__snapshots__/index.test.js.snap +0 -217
- package/components/organisms/CustomFieldSettings/CustomFieldSettings.js +0 -244
- package/components/organisms/CustomFieldSettings/actions.js +0 -12
- package/components/organisms/CustomFieldSettings/constants.js +0 -12
- package/components/organisms/CustomFieldSettings/index.js +0 -1
- package/components/organisms/CustomFieldSettings/message.js +0 -30
- package/components/organisms/CustomFieldSettings/reducer.js +0 -43
- package/components/organisms/CustomFieldSettings/saga.js +0 -70
- package/components/organisms/CustomFieldSettings/selectors.js +0 -14
- package/components/organisms/CustomFieldSettings/style.js +0 -44
- package/components/organisms/CustomFieldSettings/tests/CustomFieldSettings.test.js +0 -269
- package/components/organisms/CustomFieldSettings/tests/actions.test.js +0 -31
- package/components/organisms/CustomFieldSettings/tests/mockData.js +0 -56
- package/components/organisms/CustomFieldSettings/tests/mocks/data.js +0 -14
- package/components/organisms/CustomFieldSettings/tests/reducer.test.js +0 -102
- package/components/organisms/CustomFieldSettings/tests/saga.test.js +0 -193
- package/components/organisms/CustomFieldSettings/tests/selectors.test.js +0 -35
- package/components/organisms/CustomerActivity/tests/CustomerActivity.test.js +0 -30
- package/components/organisms/CustomerActivity/tests/mockData.js +0 -149
- package/components/organisms/CustomerStatusLabelWorkflowActions/CustomerStatusLabelWorkflowAction.js +0 -250
- package/components/organisms/CustomerStatusLabelWorkflowActions/actions.js +0 -5
- package/components/organisms/CustomerStatusLabelWorkflowActions/constants.js +0 -25
- package/components/organisms/CustomerStatusLabelWorkflowActions/index.js +0 -1
- package/components/organisms/CustomerStatusLabelWorkflowActions/messages.js +0 -50
- package/components/organisms/CustomerStatusLabelWorkflowActions/reducer.js +0 -32
- package/components/organisms/CustomerStatusLabelWorkflowActions/saga.js +0 -29
- package/components/organisms/CustomerStatusLabelWorkflowActions/selectors.js +0 -15
- package/components/organisms/CustomerStatusLabelWorkflowActions/style.js +0 -173
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/CustomerStatusLabelWorkflowAction.test.js +0 -82
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/actions.test.js +0 -11
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/mocks/mockData.js +0 -127
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/reducer.test.js +0 -57
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/saga.test.js +0 -79
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/selectors.test.js +0 -21
- package/components/organisms/CustomerStatusLabelWorkflowActions/tests/utils.test.js +0 -143
- package/components/organisms/CustomerStatusLabelWorkflowActions/utils.js +0 -129
- package/components/organisms/DelayedAccrual/DelayedAccrual.js +0 -309
- package/components/organisms/DelayedAccrual/actions.js +0 -27
- package/components/organisms/DelayedAccrual/constants.js +0 -28
- package/components/organisms/DelayedAccrual/index.js +0 -1
- package/components/organisms/DelayedAccrual/messages.js +0 -40
- package/components/organisms/DelayedAccrual/reducer.js +0 -45
- package/components/organisms/DelayedAccrual/saga.js +0 -91
- package/components/organisms/DelayedAccrual/selectors.js +0 -44
- package/components/organisms/DelayedAccrual/style.js +0 -38
- package/components/organisms/DelayedAccrual/tests/DelayedAccuralAdvancedOption.test.js +0 -131
- package/components/organisms/DelayedAccrual/tests/mockData.js +0 -11
- package/components/organisms/DelayedAccrual/tests/reducer.test.js +0 -92
- package/components/organisms/DelayedAccrual/tests/saga.test.js +0 -214
- package/components/organisms/DelayedAccrual/tests/selectors.test.js +0 -33
- package/components/organisms/DiscardDraft/DiscardDraft.js +0 -190
- package/components/organisms/DiscardDraft/actions.js +0 -12
- package/components/organisms/DiscardDraft/constants.js +0 -5
- package/components/organisms/DiscardDraft/index.js +0 -1
- package/components/organisms/DiscardDraft/messages.js +0 -41
- package/components/organisms/DiscardDraft/mocks/data.js +0 -24
- package/components/organisms/DiscardDraft/reducer.js +0 -29
- package/components/organisms/DiscardDraft/saga.js +0 -32
- package/components/organisms/DiscardDraft/selector.js +0 -17
- package/components/organisms/DiscardDraft/style.js +0 -18
- package/components/organisms/DiscardDraft/tests/DiscardDraft.test.js +0 -101
- package/components/organisms/DiscardDraft/tests/action.test.js +0 -10
- package/components/organisms/DiscardDraft/tests/reducer.test.js +0 -44
- package/components/organisms/DiscardDraft/tests/saga.test.js +0 -85
- package/components/organisms/DiscardDraft/tests/selector.test.js +0 -22
- package/components/organisms/EbillWorkflowAction/tests/EbillWorkflowAction.test.js +0 -56
- package/components/organisms/ExpiryConditions/tests/ExpiryConditions.test.js +0 -400
- package/components/organisms/ExpiryConditions/tests/ExtendedFields.test.js +0 -134
- package/components/organisms/ExpiryConditions/tests/mocks/data.js +0 -30
- package/components/organisms/ExpiryConditions/tests/saga.test.js +0 -87
- package/components/organisms/ExpiryConditions/tests/utils.test.js +0 -47
- package/components/organisms/ExpiryConditions/utils.js +0 -16
- package/components/organisms/ForwardToSetWorkflowAction/tests/ForwardToSetWorkflowAction.test.js +0 -123
- package/components/organisms/ForwardToSetWorkflowAction/tests/mockData.js +0 -10
- package/components/organisms/GroupItemLabel/GroupItemLabel.js +0 -471
- package/components/organisms/GroupItemLabel/constants.js +0 -2
- package/components/organisms/GroupItemLabel/messages.js +0 -33
- package/components/organisms/GroupItemLabel/mocks/data.js +0 -142
- package/components/organisms/GroupItemLabel/style.js +0 -54
- package/components/organisms/GroupItemLabel/tests/GroupItemLabel.test.js +0 -366
- package/components/organisms/GroupItemLabel/tests/__snapshots__/index.test.js.snap +0 -296
- package/components/organisms/GroupItemLabel/tests/index.test.js +0 -67
- package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/tests/InitiateSupplementaryMemberShipWorkflowAction.test.js +0 -168
- package/components/organisms/InitiateSupplementaryMemberShipWorkflowAction/tests/mockData.js +0 -29
- package/components/organisms/IssueBadgeWorkflowAction/IssueBadgeWorkflowAction.js +0 -577
- package/components/organisms/IssueBadgeWorkflowAction/actions.js +0 -19
- package/components/organisms/IssueBadgeWorkflowAction/constants.js +0 -31
- package/components/organisms/IssueBadgeWorkflowAction/index.js +0 -1
- package/components/organisms/IssueBadgeWorkflowAction/messages.js +0 -134
- package/components/organisms/IssueBadgeWorkflowAction/reducer.js +0 -41
- package/components/organisms/IssueBadgeWorkflowAction/saga.js +0 -58
- package/components/organisms/IssueBadgeWorkflowAction/selectors.js +0 -17
- package/components/organisms/IssueBadgeWorkflowAction/style.js +0 -292
- package/components/organisms/IssueBadgeWorkflowAction/tests/IssueBadgeWorkflowAction.test.js +0 -184
- package/components/organisms/IssueBadgeWorkflowAction/tests/mocks/mockData.js +0 -183
- package/components/organisms/IssueBadgeWorkflowAction/tests/reducer.test.js +0 -101
- package/components/organisms/IssueBadgeWorkflowAction/tests/saga.test.js +0 -136
- package/components/organisms/IssueBadgeWorkflowAction/tests/selectors.test.js +0 -22
- package/components/organisms/IssueBadgeWorkflowAction/tests/utils.test.js +0 -30
- package/components/organisms/IssueBadgeWorkflowAction/utils.js +0 -36
- package/components/organisms/IssueCatalogRewardsAction/IssueCatalogRewardsAction.js +0 -1034
- package/components/organisms/IssueCatalogRewardsAction/actions.js +0 -28
- package/components/organisms/IssueCatalogRewardsAction/constants.js +0 -70
- package/components/organisms/IssueCatalogRewardsAction/index.js +0 -1
- package/components/organisms/IssueCatalogRewardsAction/messages.js +0 -275
- package/components/organisms/IssueCatalogRewardsAction/reducer.js +0 -83
- package/components/organisms/IssueCatalogRewardsAction/saga.js +0 -141
- package/components/organisms/IssueCatalogRewardsAction/selectors.js +0 -31
- package/components/organisms/IssueCatalogRewardsAction/style.js +0 -362
- package/components/organisms/IssueCatalogRewardsAction/tests/IssueCatalogRewardsAction.test.js +0 -788
- package/components/organisms/IssueCatalogRewardsAction/tests/actions.test.js +0 -23
- package/components/organisms/IssueCatalogRewardsAction/tests/mockData.js +0 -534
- package/components/organisms/IssueCatalogRewardsAction/tests/reducer.test.js +0 -184
- package/components/organisms/IssueCatalogRewardsAction/tests/saga.test.js +0 -277
- package/components/organisms/IssueCatalogRewardsAction/tests/selectors.test.js +0 -53
- package/components/organisms/IssueCatalogRewardsAction/tests/utils.test.js +0 -33
- package/components/organisms/IssueCatalogRewardsAction/utils.js +0 -125
- package/components/organisms/IssueCouponsWorkflowAction/tests/IssueCouponWorkflowAction.test.js +0 -551
- package/components/organisms/IssueCouponsWorkflowAction/tests/actions.test.js +0 -18
- package/components/organisms/IssueCouponsWorkflowAction/tests/index.test.js +0 -219
- package/components/organisms/IssueCouponsWorkflowAction/tests/mocks/data.js +0 -244
- package/components/organisms/IssueCouponsWorkflowAction/tests/reducer.test.js +0 -76
- package/components/organisms/IssueCouponsWorkflowAction/tests/saga.test.js +0 -80
- package/components/organisms/IssueCouponsWorkflowAction/tests/selectors.test.js +0 -21
- package/components/organisms/IssueCouponsWorkflowAction/tests/utils.test.js +0 -15
- package/components/organisms/IssueCouponsWorkflowAction/utils.js +0 -13
- package/components/organisms/IssuePromotionWorkflowAction/IssuePromotionWorkflowAction.js +0 -608
- package/components/organisms/IssuePromotionWorkflowAction/actions.js +0 -10
- package/components/organisms/IssuePromotionWorkflowAction/constants.js +0 -14
- package/components/organisms/IssuePromotionWorkflowAction/index.js +0 -1
- package/components/organisms/IssuePromotionWorkflowAction/messages.js +0 -73
- package/components/organisms/IssuePromotionWorkflowAction/reducer.js +0 -32
- package/components/organisms/IssuePromotionWorkflowAction/saga.js +0 -33
- package/components/organisms/IssuePromotionWorkflowAction/selectors.js +0 -18
- package/components/organisms/IssuePromotionWorkflowAction/style.js +0 -317
- package/components/organisms/IssuePromotionWorkflowAction/tests/IssuePromotionWorkflowAction.test.js +0 -211
- package/components/organisms/IssuePromotionWorkflowAction/tests/mocks/mockData.js +0 -126
- package/components/organisms/IssuePromotionWorkflowAction/tests/reducer.test.js +0 -60
- package/components/organisms/IssuePromotionWorkflowAction/tests/saga.test.js +0 -84
- package/components/organisms/IssuePromotionWorkflowAction/tests/selectors.test.js +0 -22
- package/components/organisms/IssuePromotionWorkflowAction/tests/utils.test.js +0 -29
- package/components/organisms/IssuePromotionWorkflowAction/utils.js +0 -38
- package/components/organisms/LiabilitySettings/LiabilitySettings.js +0 -899
- package/components/organisms/LiabilitySettings/actions.js +0 -33
- package/components/organisms/LiabilitySettings/constants.js +0 -38
- package/components/organisms/LiabilitySettings/index.js +0 -1
- package/components/organisms/LiabilitySettings/messages.js +0 -58
- package/components/organisms/LiabilitySettings/mockData.js +0 -30
- package/components/organisms/LiabilitySettings/reducer.js +0 -95
- package/components/organisms/LiabilitySettings/saga.js +0 -151
- package/components/organisms/LiabilitySettings/selectors.js +0 -21
- package/components/organisms/LiabilitySettings/style.js +0 -48
- package/components/organisms/LiabilitySettings/tests/LiabilitySettings.test.js +0 -488
- package/components/organisms/LiabilitySettings/tests/actions.test.js +0 -72
- package/components/organisms/LiabilitySettings/tests/mockData.js +0 -34
- package/components/organisms/LiabilitySettings/tests/reducer.test.js +0 -205
- package/components/organisms/LiabilitySettings/tests/saga.test.js +0 -353
- package/components/organisms/LiabilitySettings/tests/selectors.test.js +0 -32
- package/components/organisms/LoyaltyGraph/tests/saga.test.js +0 -86
- package/components/organisms/LoyaltyPromotions/LoyaltyPromotions.js +0 -626
- package/components/organisms/LoyaltyPromotions/constants.js +0 -15
- package/components/organisms/LoyaltyPromotions/index.js +0 -1
- package/components/organisms/LoyaltyPromotions/messages.js +0 -142
- package/components/organisms/LoyaltyPromotions/style.js +0 -257
- package/components/organisms/LoyaltyPromotions/tests/LoyaltyPromotions.test.js +0 -283
- package/components/organisms/LoyaltyPromotions/tests/utils.test.js +0 -120
- package/components/organisms/LoyaltyPromotions/utils.js +0 -102
- package/components/organisms/NavigationBar/saga.js +0 -11
- package/components/organisms/Nudges/tests/mocks/data.js +0 -12
- package/components/organisms/Nudges/tests/saga.test.js +0 -77
- package/components/organisms/PageHeader/PageHeader.js +0 -328
- package/components/organisms/PageHeader/messages.js +0 -14
- package/components/organisms/PageHeader/tests/PageHeader.test.js +0 -110
- package/components/organisms/PageHeader/tests/__snapshots__/PageHeader.test.js.snap +0 -35058
- package/components/organisms/PageHeaderButton/PageHeaderButton.js +0 -166
- package/components/organisms/PageHeaderButton/index.js +0 -1
- package/components/organisms/PageHeaderButton/messages.js +0 -43
- package/components/organisms/PageHeaderButton/style.js +0 -37
- package/components/organisms/PageHeaderVersioning/PageHeaderVersioning.js +0 -237
- package/components/organisms/PageHeaderVersioning/index.js +0 -1
- package/components/organisms/PageHeaderVersioning/messages.js +0 -29
- package/components/organisms/PageHeaderVersioning/style.js +0 -100
- package/components/organisms/PartnerProgramAdvancedOption/PartnerProgramAdvancedOption.js +0 -169
- package/components/organisms/PartnerProgramAdvancedOption/constants.js +0 -8
- package/components/organisms/PartnerProgramAdvancedOption/index.js +0 -1
- package/components/organisms/PartnerProgramAdvancedOption/messages.js +0 -26
- package/components/organisms/PartnerProgramAdvancedOption/style.js +0 -15
- package/components/organisms/PartnerProgramAdvancedOption/tests/PartnerProgramAdvancedOption.test.js +0 -249
- package/components/organisms/PartnerProgramDashboard/Loadable.js +0 -7
- package/components/organisms/PartnerProgramDashboard/PartnerProgramDashboard.js +0 -416
- package/components/organisms/PartnerProgramDashboard/actions.js +0 -38
- package/components/organisms/PartnerProgramDashboard/constants.js +0 -34
- package/components/organisms/PartnerProgramDashboard/context.js +0 -7
- package/components/organisms/PartnerProgramDashboard/index.js +0 -1
- package/components/organisms/PartnerProgramDashboard/messages.js +0 -62
- package/components/organisms/PartnerProgramDashboard/reducer.js +0 -82
- package/components/organisms/PartnerProgramDashboard/saga.js +0 -128
- package/components/organisms/PartnerProgramDashboard/selectors.js +0 -66
- package/components/organisms/PartnerProgramDashboard/style.js +0 -32
- package/components/organisms/PartnerProgramDashboard/test/PartnerProgramDashboard.test.js +0 -151
- package/components/organisms/PartnerProgramDashboard/test/actions.test.js +0 -12
- package/components/organisms/PartnerProgramDashboard/test/mocks/data.js +0 -321
- package/components/organisms/PartnerProgramDashboard/test/reducer.test.js +0 -322
- package/components/organisms/PartnerProgramDashboard/test/saga.test.js +0 -308
- package/components/organisms/PartnerProgramDashboard/test/selectors.test.js +0 -58
- package/components/organisms/PartnerProgramDashboard/test/utils.test.js +0 -14
- package/components/organisms/PartnerProgramDashboard/utils.js +0 -32
- package/components/organisms/PartnerProgramTierSettings/PartnerProgramTierSettings.js +0 -409
- package/components/organisms/PartnerProgramTierSettings/index.js +0 -1
- package/components/organisms/PartnerProgramTierSettings/messages.js +0 -46
- package/components/organisms/PartnerProgramTierSettings/style.js +0 -88
- package/components/organisms/PartnerProgramTierSettings/tests/PartnerProgramTierSettings.test.js +0 -297
- package/components/organisms/PartnerProgramTierSettings/tests/mocks/data.js +0 -67
- package/components/organisms/PaymentMethodsAdvanced/tests/PaymentSettingsAdvanced.test.js +0 -18
- package/components/organisms/PaymentMethodsAdvanced/tests/mocks/data.js +0 -17
- package/components/organisms/PaymentMethodsAdvanced/tests/saga.test.js +0 -284
- package/components/organisms/PointContributionToGroup/tests/PointContribution.test.js +0 -20
- package/components/organisms/PointStrategies/tests/PointStrategies.test.js +0 -51
- package/components/organisms/PointStrategies/tests/utils.test.js +0 -66
- package/components/organisms/PointStrategies/utils.js +0 -60
- package/components/organisms/PointsAdvancedOption/tests/PointsAdvancedoption.test.js +0 -99
- package/components/organisms/PointsAdvancedOption/tests/mocks/data.js +0 -89
- package/components/organisms/PointsAdvancedOption/tests/saga.test.js +0 -87
- package/components/organisms/PointsAllocationAccordion/PointsAllocationAccordion.js +0 -135
- package/components/organisms/PointsAllocationAccordion/index.js +0 -1
- package/components/organisms/PointsAllocationAccordion/style.js +0 -70
- package/components/organisms/PointsAllocationLimit/PointsAllocationLimit.js +0 -107
- package/components/organisms/PointsAllocationLimit/actions.js +0 -21
- package/components/organisms/PointsAllocationLimit/constants.js +0 -20
- package/components/organisms/PointsAllocationLimit/index.js +0 -1
- package/components/organisms/PointsAllocationLimit/messages.js +0 -122
- package/components/organisms/PointsAllocationLimit/reducer.js +0 -48
- package/components/organisms/PointsAllocationLimit/saga.js +0 -99
- package/components/organisms/PointsAllocationLimit/selectors.js +0 -12
- package/components/organisms/PointsAllocationLimit/style.js +0 -0
- package/components/organisms/PointsAllocationLimit/tests/PointsAllocationLimit.test.js +0 -34
- package/components/organisms/PointsAllocationLimit/tests/reducers.test.js +0 -93
- package/components/organisms/PointsAllocationLimit/tests/saga.test.js +0 -189
- package/components/organisms/PointsAllocationLimit/tests/selectors.test.js +0 -43
- package/components/organisms/PointsBudgetList/PointsBudgetList.js +0 -1220
- package/components/organisms/PointsBudgetList/constants.js +0 -201
- package/components/organisms/PointsBudgetList/index.js +0 -1
- package/components/organisms/PointsBudgetList/messages.js +0 -329
- package/components/organisms/PointsBudgetList/style.js +0 -265
- package/components/organisms/PointsBudgetList/tests/PointsBudgetList.test.js +0 -271
- package/components/organisms/PointsBudgetList/tests/mockData.js +0 -788
- package/components/organisms/PointsBudgetList/tests/utils.test.js +0 -16
- package/components/organisms/PointsBudgetList/utils.js +0 -24
- package/components/organisms/PointsRedemptionReversalWorkflowAction/tests/PointsRedemptionReversalWorkflowAction.test.js +0 -42
- package/components/organisms/PointsRollingExpiry/PointsRollingExpiry.js +0 -637
- package/components/organisms/PointsRollingExpiry/actions.js +0 -10
- package/components/organisms/PointsRollingExpiry/constants.js +0 -48
- package/components/organisms/PointsRollingExpiry/index.js +0 -1
- package/components/organisms/PointsRollingExpiry/messages.js +0 -210
- package/components/organisms/PointsRollingExpiry/reducer.js +0 -51
- package/components/organisms/PointsRollingExpiry/saga.js +0 -72
- package/components/organisms/PointsRollingExpiry/selectors.js +0 -48
- package/components/organisms/PointsRollingExpiry/style.js +0 -190
- package/components/organisms/PointsRollingExpiry/tests/PointsRollingExpiry.test.js +0 -279
- package/components/organisms/PointsRollingExpiry/tests/mocks/mockData.js +0 -62
- package/components/organisms/PointsRollingExpiry/tests/reducer.test.js +0 -81
- package/components/organisms/PointsRollingExpiry/tests/saga.test.js +0 -166
- package/components/organisms/PointsRollingExpiry/tests/selectors.test.js +0 -35
- package/components/organisms/PointsRollingExpiry/tests/utils.test.js +0 -54
- package/components/organisms/PointsRollingExpiry/utils.js +0 -257
- package/components/organisms/PointsTransferOrgSettings/ProgramTransferOrgSettings.js +0 -246
- package/components/organisms/PointsTransferOrgSettings/actions.js +0 -11
- package/components/organisms/PointsTransferOrgSettings/constants.js +0 -47
- package/components/organisms/PointsTransferOrgSettings/index.js +0 -1
- package/components/organisms/PointsTransferOrgSettings/messages.js +0 -57
- package/components/organisms/PointsTransferOrgSettings/reducer.js +0 -36
- package/components/organisms/PointsTransferOrgSettings/saga.js +0 -68
- package/components/organisms/PointsTransferOrgSettings/selectors.js +0 -30
- package/components/organisms/PointsTransferOrgSettings/style.js +0 -19
- package/components/organisms/PointsTransferOrgSettings/tests/PointsTransferOrgSettings.test.js +0 -176
- package/components/organisms/PointsTransferOrgSettings/tests/actions.test.js +0 -19
- package/components/organisms/PointsTransferOrgSettings/tests/mocks/data.js +0 -15
- package/components/organisms/PointsTransferOrgSettings/tests/reducer.test.js +0 -142
- package/components/organisms/PointsTransferOrgSettings/tests/saga.test.js +0 -138
- package/components/organisms/PointsTransferOrgSettings/tests/selectors.test.js +0 -21
- package/components/organisms/PointsTransferSettings/PointsTransferSettings.js +0 -334
- package/components/organisms/PointsTransferSettings/constants.js +0 -60
- package/components/organisms/PointsTransferSettings/index.js +0 -1
- package/components/organisms/PointsTransferSettings/messages.js +0 -43
- package/components/organisms/PointsTransferSettings/style.js +0 -50
- package/components/organisms/PointsTransferSettings/tests/index.test.js +0 -56
- package/components/organisms/ProgramDestinationMapper/ProgramDestinationMapper.js +0 -195
- package/components/organisms/ProgramDestinationMapper/actions.js +0 -9
- package/components/organisms/ProgramDestinationMapper/constants.js +0 -4
- package/components/organisms/ProgramDestinationMapper/index.js +0 -1
- package/components/organisms/ProgramDestinationMapper/messages.js +0 -10
- package/components/organisms/ProgramDestinationMapper/mocks/data.js +0 -22
- package/components/organisms/ProgramDestinationMapper/reducer.js +0 -38
- package/components/organisms/ProgramDestinationMapper/saga.js +0 -33
- package/components/organisms/ProgramDestinationMapper/selectors.js +0 -21
- package/components/organisms/ProgramDestinationMapper/style.js +0 -21
- package/components/organisms/ProgramDestinationMapper/tests/ProgramDestinationMapper.test.js +0 -91
- package/components/organisms/ProgramDestinationMapper/tests/saga.test.js +0 -80
- package/components/organisms/ProgramPerformance/Loadable.js +0 -7
- package/components/organisms/ProgramSettings/tests/ProgramSettings.test.js +0 -176
- package/components/organisms/ProgramSettings/tests/mocks/data.js +0 -22
- package/components/organisms/ProgramSettings/utils.js +0 -17
- package/components/organisms/PromotionAdvancedSettings/PromotionAdvancedSettings.js +0 -1580
- package/components/organisms/PromotionAdvancedSettings/actions.js +0 -14
- package/components/organisms/PromotionAdvancedSettings/constants.js +0 -18
- package/components/organisms/PromotionAdvancedSettings/index.js +0 -1
- package/components/organisms/PromotionAdvancedSettings/messages.js +0 -259
- package/components/organisms/PromotionAdvancedSettings/reducer.js +0 -30
- package/components/organisms/PromotionAdvancedSettings/saga.js +0 -33
- package/components/organisms/PromotionAdvancedSettings/selectors.js +0 -25
- package/components/organisms/PromotionAdvancedSettings/style.js +0 -251
- package/components/organisms/PromotionAdvancedSettings/tests/PromotionAdvancedSettings.test.js +0 -642
- package/components/organisms/PromotionAdvancedSettings/tests/PromotionAdvancedSettingsRevamp.test.js +0 -146
- package/components/organisms/PromotionAdvancedSettings/tests/mockData.js +0 -197
- package/components/organisms/PromotionAdvancedSettings/tests/utils.test.js +0 -48
- package/components/organisms/PromotionAdvancedSettings/utils.js +0 -44
- package/components/organisms/PromotionSettings/PromotionSettings.js +0 -469
- package/components/organisms/PromotionSettings/constants.js +0 -9
- package/components/organisms/PromotionSettings/index.js +0 -1
- package/components/organisms/PromotionSettings/messages.js +0 -93
- package/components/organisms/PromotionSettings/style.js +0 -137
- package/components/organisms/PromotionsDetail/Loadable.js +0 -7
- package/components/organisms/PromotionsDetail/PromotionsDetail.js +0 -1411
- package/components/organisms/PromotionsDetail/actions.js +0 -36
- package/components/organisms/PromotionsDetail/constants.js +0 -124
- package/components/organisms/PromotionsDetail/index.js +0 -1
- package/components/organisms/PromotionsDetail/messages.js +0 -249
- package/components/organisms/PromotionsDetail/reducer.js +0 -183
- package/components/organisms/PromotionsDetail/saga.js +0 -261
- package/components/organisms/PromotionsDetail/selectors.js +0 -56
- package/components/organisms/PromotionsDetail/style.js +0 -317
- package/components/organisms/PromotionsDetail/tests/PromotionsDetail.test.js +0 -511
- package/components/organisms/PromotionsDetail/tests/mockData.js +0 -306
- package/components/organisms/PromotionsDetail/tests/utils.test.js +0 -112
- package/components/organisms/PromotionsDetail/utils.js +0 -618
- package/components/organisms/ReconfigurePromotions/ReconfigurePromotions.js +0 -128
- package/components/organisms/ReconfigurePromotions/index.js +0 -1
- package/components/organisms/ReconfigurePromotions/messages.js +0 -43
- package/components/organisms/ReconfigurePromotions/style.js +0 -66
- package/components/organisms/ReconfigurePromotions/tests/ReconfigurePromotions.test.js +0 -60
- package/components/organisms/RedeemConditions/tests/RedeemConditions.test.js +0 -216
- package/components/organisms/RedeemConditions/tests/mocks/data.js +0 -131
- package/components/organisms/RedeemConditions/tests/saga.test.js +0 -83
- package/components/organisms/ReturnConditions/tests/ReturnConditions.test.js +0 -59
- package/components/organisms/ReturnConditions/tests/mocks/data.js +0 -14
- package/components/organisms/ReturnConditions/tests/mocks/mockData.js +0 -148
- package/components/organisms/ReturnConditions/tests/saga.test.js +0 -87
- package/components/organisms/ReviewPromotionSlider/ReviewPromotionSlider.js +0 -76
- package/components/organisms/ReviewPromotionSlider/index.js +0 -1
- package/components/organisms/ReviewPromotionSlider/style.js +0 -59
- package/components/organisms/ReviewPromotionSlider/tests/ReviewPromotionSlider.test.js +0 -58
- package/components/organisms/ReviewPromotionSlider/tests/mockData.js +0 -535
- package/components/organisms/ReviewPromotionSlider/tests/utils.test.js +0 -11
- package/components/organisms/ReviewPromotionSlider/utils.js +0 -176
- package/components/organisms/ScopeSlidebox/ScopeContentDescription.js +0 -67
- package/components/organisms/ScopeSlidebox/ScopeContentHeader.js +0 -25
- package/components/organisms/ScopeSlidebox/style.js +0 -109
- package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/ScopeSlideBoxWithoutFeature.test.js +0 -1342
- package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/mockData.js +0 -3226
- package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/processedRulesetsData.js +0 -374
- package/components/organisms/ScopeSlidebox/tests/featureControlDisabled/rulesetsData.js +0 -462
- package/components/organisms/ScopeSlidebox/tests/featureControlEnabled/ScopeSlidebox.test.js +0 -1907
- package/components/organisms/ScopeSlidebox/tests/featureControlEnabled/mockData.js +0 -3661
- package/components/organisms/ScopeSlidebox/tests/featureControlEnabled/processedRulesetsData.js +0 -242
- package/components/organisms/ScopeSlidebox/tests/mockData.js +0 -50
- package/components/organisms/ScopeSlidebox/tests/scope-utils.test.js +0 -39
- package/components/organisms/ScopeSlidebox/utils.js +0 -88
- package/components/organisms/SelectTargetSlider/SelectTargetSlider.js +0 -406
- package/components/organisms/SelectTargetSlider/index.js +0 -1
- package/components/organisms/SelectTargetSlider/messages.js +0 -126
- package/components/organisms/SelectTargetSlider/mockData.js +0 -704
- package/components/organisms/SelectTargetSlider/style.js +0 -97
- package/components/organisms/SelectTargetSlider/tests/NoTargetView.test.js +0 -74
- package/components/organisms/SelectTargetSlider/tests/SelectTargetSlider.test.js +0 -209
- package/components/organisms/SelectTargetSlider/utils.js +0 -186
- package/components/organisms/SendEmailWorkflowAction/tests/SendEmailWorkflowAction.test.js +0 -23
- package/components/organisms/SendMessagesWorkflowAction/tests/SendMessagesWorflowAction.test.js +0 -23
- package/components/organisms/SendMobilePushWorkflowAction/tests/SendMobilePushWorkflowAction.test.js +0 -23
- package/components/organisms/SocialConnectWorkflowAction/tests/SocialConnectWorkflowAction.test.js +0 -23
- package/components/organisms/StrategyDashboard/Loadable.js +0 -5
- package/components/organisms/StrategyDashboard/messages.js +0 -21
- package/components/organisms/StrategyDashboard/tests/StrategyDashboard.test.js +0 -80
- package/components/organisms/StrategyDashboard/tests/mocks/data.js +0 -110
- package/components/organisms/StrategyDashboard/tests/saga.test.js +0 -80
- package/components/organisms/TagCustomerAction/tests/TagCustomerAction.test.js +0 -29
- package/components/organisms/TargetPointAllocationWorkflowAction/TargetPointAllocationWorkflowAction.js +0 -623
- package/components/organisms/TargetPointAllocationWorkflowAction/actions.js +0 -32
- package/components/organisms/TargetPointAllocationWorkflowAction/constants.js +0 -37
- package/components/organisms/TargetPointAllocationWorkflowAction/index.js +0 -1
- package/components/organisms/TargetPointAllocationWorkflowAction/reducer.js +0 -88
- package/components/organisms/TargetPointAllocationWorkflowAction/saga.js +0 -128
- package/components/organisms/TargetPointAllocationWorkflowAction/selectors.js +0 -22
- package/components/organisms/TargetPointAllocationWorkflowAction/style.js +0 -17
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/TargetPointAllocationWorkFlowAction.test.js +0 -577
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/__snapshots__/action.test.js.snap +0 -16
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/__snapshots__/reducer.test.js.snap +0 -166
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/action.test.js +0 -31
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/mockData.js +0 -243
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/reducer.test.js +0 -172
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/saga.test.js +0 -290
- package/components/organisms/TargetPointAllocationWorkflowAction/tests/selectors.test.js +0 -16
- package/components/organisms/TierUpgradeAndDowngrade/tests/TierUpgradeAndDowngrade.test.js +0 -326
- package/components/organisms/TierUpgradeAndDowngrade/tests/TiersTooltips.test.js +0 -75
- package/components/organisms/TierUpgradeAndDowngrade/tests/ValidityModal.test.js +0 -82
- package/components/organisms/TierUpgradeAndDowngrade/tests/mocks/data.js +0 -230
- package/components/organisms/TierUpgradeAndDowngrade/tests/utils.test.js +0 -196
- package/components/organisms/TieradvancedOption/tests/TierAdvancedOption.test.js +0 -108
- package/components/organisms/TieradvancedOption/tests/mocks/data.js +0 -14
- package/components/organisms/TieradvancedOption/tests/saga.test.js +0 -83
- package/components/organisms/Tiers/Loadable.js +0 -5
- package/components/organisms/Tiers/tests/mock.js +0 -403
- package/components/organisms/Tiers/tests/saga.test.js +0 -94
- package/components/organisms/Tiers/tests/utils.test.js +0 -15
- package/components/organisms/Tiers/utils.js +0 -10
- package/components/organisms/TrackerEvaluationWorkflowAction/tests/TrackerEvaluationWorkflowAction.test.js +0 -100
- package/components/organisms/Trackers/Loadable.js +0 -5
- package/components/organisms/Trackers/tests/mockData.js +0 -342
- package/components/organisms/TransactionAllocationPointWorkflowAction/tests/TransactionAllocationPointWorkflowAction.test.js +0 -134
- package/components/organisms/TransactionAllocationPointWorkflowAction/tests/mockData.js +0 -349
- package/components/organisms/TransferGroupPoints/tests/TransferGroupPoints.test.js +0 -143
- package/components/organisms/TransferGroupPoints/tests/mockData.js +0 -236
- package/components/organisms/UpgradeToTierWorkflowAction/tests/UpgradeToTierWorkflowAction.test.js +0 -45
- package/components/organisms/VersioningDropdown/VersioningDropdown.js +0 -271
- package/components/organisms/VersioningDropdown/index.js +0 -1
- package/components/organisms/VersioningDropdown/messages.js +0 -18
- package/components/organisms/VersioningDropdown/mocks/data.js +0 -75
- package/components/organisms/VersioningDropdown/style.js +0 -18
- package/components/organisms/VersioningDropdown/tests/VersioningDropdown.test.js +0 -37
- package/components/organisms/VersioningDropdown/utils.js +0 -16
- package/components/pages/BulkConfiguration/BulkConfigurations.js +0 -877
- package/components/pages/BulkConfiguration/actions.js +0 -30
- package/components/pages/BulkConfiguration/constants.js +0 -31
- package/components/pages/BulkConfiguration/index.js +0 -1
- package/components/pages/BulkConfiguration/messages.js +0 -144
- package/components/pages/BulkConfiguration/reducer.js +0 -74
- package/components/pages/BulkConfiguration/saga.js +0 -119
- package/components/pages/BulkConfiguration/selector.js +0 -33
- package/components/pages/BulkConfiguration/style.js +0 -222
- package/components/pages/BulkConfiguration/tests/BulkConfigurations.test.js +0 -595
- package/components/pages/BulkConfiguration/tests/BulkConfigurations1.test.js +0 -114
- package/components/pages/BulkConfiguration/tests/BulkConfigurationsEdit.test.js +0 -128
- package/components/pages/BulkConfiguration/tests/actions.test.js +0 -53
- package/components/pages/BulkConfiguration/tests/mockData.js +0 -163
- package/components/pages/BulkConfiguration/tests/reducer.test.js +0 -318
- package/components/pages/BulkConfiguration/tests/saga.test.js +0 -363
- package/components/pages/BulkConfiguration/tests/selectors.test.js +0 -61
- package/components/pages/Cap/context.js +0 -7
- package/components/pages/Cap/mocks/data.js +0 -623
- package/components/pages/Cap/tests/Cap.test.js +0 -217
- package/components/pages/Cap/tests/__snapshots__/reducer.test.js.snap +0 -111
- package/components/pages/Cap/tests/actions.test.js +0 -76
- package/components/pages/Cap/tests/reducer.test.js +0 -424
- package/components/pages/Cap/tests/saga.test.js +0 -2661
- package/components/pages/Cap/tests/selectors.test.js +0 -118
- package/components/pages/Cap/tests/utils.test.js +0 -37
- package/components/pages/Cap/utils.js +0 -20
- package/components/pages/ConfigureProgram/tests/ConfigureProgram.test.js +0 -45
- package/components/pages/Dashboard/tests/Dashboard.test.js +0 -44
- package/components/pages/PermissionDeniedPage/Loadable.js +0 -11
- package/components/pages/PermissionDeniedPage/PermissionDeniedPage.js +0 -28
- package/components/pages/PermissionDeniedPage/index.js +0 -1
- package/components/pages/PermissionDeniedPage/messages.js +0 -14
- package/components/pages/PermissionDeniedPage/style.js +0 -13
- package/components/pages/PermissionDeniedPage/tests/index.test.js +0 -26
- package/components/pages/ProgramSummary/tests/actions.test.js +0 -118
- package/components/pages/ProgramSummary/tests/mockData.js +0 -801
- package/components/pages/ProgramSummary/tests/reducer.test.js +0 -160
- package/components/pages/ProgramSummary/tests/saga.test.js +0 -658
- package/components/pages/ProgramSummary/tests/selectors.test.js +0 -98
- package/components/pages/Promotions/Promotions.js +0 -1698
- package/components/pages/Promotions/actions.js +0 -23
- package/components/pages/Promotions/constants.js +0 -65
- package/components/pages/Promotions/index.js +0 -1
- package/components/pages/Promotions/initialState.js +0 -39
- package/components/pages/Promotions/messages.js +0 -129
- package/components/pages/Promotions/reducer.js +0 -58
- package/components/pages/Promotions/saga.js +0 -112
- package/components/pages/Promotions/selectors.js +0 -43
- package/components/pages/Promotions/style.js +0 -152
- package/components/pages/Promotions/tests/Promotions.test.js +0 -906
- package/components/pages/Promotions/tests/mockData.js +0 -454
- package/components/pages/PromotionsDashboard/PromotionsDashboard.js +0 -127
- package/components/pages/PromotionsDashboard/index.js +0 -1
- package/components/pages/PromotionsDashboard/style.js +0 -5
- package/components/pages/PromotionsDashboard/tests/PromotionsDashboard.test.js +0 -90
- package/entry.js +0 -4
- package/initialReducer.js +0 -14
- package/tests/integration/CreateProgram/helper.js +0 -216
- package/tests/integration/CreateProgram/mocks/apiResponse.js +0 -7
- package/tests/integration/CreateProgram/mocks/constants.js +0 -1
- package/tests/integration/CreateProgram/mocks/msw-handler.js +0 -26
- package/tests/integration/EditProgram/EditProgram.integration.test.js +0 -159
- package/tests/integration/EditProgram/helper.js +0 -104
- package/tests/integration/EditProgram/mocks/apiResponse.js +0 -327
- package/tests/integration/EditProgram/mocks/msw-handler.js +0 -56
- package/tests/integration/Login/Login.integration.test.js +0 -96
- package/tests/integration/Login/mocks/apiResponse.js +0 -235
- package/tests/integration/Login/mocks/msw-handler.js +0 -34
- package/tests/integration/PartnerProgram/CreatePartnerProgram.integration.test.js +0 -117
- package/tests/integration/PartnerProgram/helper.js +0 -256
- package/tests/integration/PartnerProgram/mocks/apiResponse.js +0 -689
- package/tests/integration/PartnerProgram/mocks/msw-handler.js +0 -210
- package/tests/integration/Promotion/CreatePromotion.integration.test.js +0 -237
- package/tests/integration/Promotion/EditPromotion.integration.test.js +0 -94
- package/tests/integration/Promotion/helper.js +0 -656
- package/tests/integration/Promotion/mocks/apiResponse.js +0 -2683
- package/tests/integration/Promotion/mocks/constants.js +0 -7
- package/tests/integration/Promotion/mocks/msw-handler.js +0 -183
- package/tests/integration/Versioning/mocks/apiResponse.js +0 -14333
- package/tests/integration/commonMocks/apiResponse.js +0 -1624
- package/tests/integration/commonMocks/helper.js +0 -31
- package/tests/integration/commonMocks/msw-handler.js +0 -100
- package/tests/test-utils-it.js +0 -64
- package/utils/audience.js +0 -46
- package/utils/gtmTrackers/gtmEvents/bulkConfigDetails.js +0 -155
- package/utils/gtmTrackers/gtmEvents/nudgeDetails.js +0 -10
- package/utils/gtmTrackers/gtmEvents/promotionDetails.js +0 -116
- package/utils/gtmTrackers/gtmEvents/viewBulkConfigDetails.js +0 -25
- package/utils/gtmTrackers/gtmEvents/viewPromotionDetails.js +0 -28
- package/utils/gtmTrackers/gtmEvents/workflowActions.js +0 -29
- package/utils/promotions.js +0 -53
- package/utils/tests/commonUtils.test.js +0 -37
- package/utils/usePersistantState.js +0 -64
- package/utils/withDynamicLazyLoading.js +0 -17
- /package/components/{organisms → atoms}/GroupItemLabel/index.js +0 -0
- /package/components/{organisms → molecules}/PageHeader/index.js +0 -0
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import React, { useState, useEffect, useMemo, memo
|
|
1
|
+
import React, { useState, useEffect, useMemo, memo } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import moment from 'moment';
|
|
4
4
|
import isEmpty from 'lodash/isEmpty';
|
|
5
|
-
import cloneDeep from 'lodash/cloneDeep';
|
|
6
|
-
import find from 'lodash/find';
|
|
7
|
-
|
|
8
5
|
import { injectIntl, intlShape } from 'react-intl';
|
|
9
6
|
import { compose, bindActionCreators } from 'redux';
|
|
10
7
|
import { createStructuredSelector } from 'reselect';
|
|
@@ -12,17 +9,13 @@ import { connect } from 'react-redux';
|
|
|
12
9
|
import { withRouter } from 'react-router-dom';
|
|
13
10
|
import CapNotification from '@capillarytech/cap-ui-library/CapNotification';
|
|
14
11
|
import CapSpin from '@capillarytech/cap-ui-library/CapSpin';
|
|
15
|
-
import
|
|
12
|
+
import CapSlideBox from '@capillarytech/cap-ui-library/CapSlideBox';
|
|
16
13
|
import CapHeader from '@capillarytech/cap-ui-library/CapHeader';
|
|
17
|
-
import
|
|
18
|
-
import CapLabel from '@capillarytech/cap-ui-library/CapLabel';
|
|
19
|
-
import CapTooltip from '@capillarytech/cap-ui-library/CapTooltip';
|
|
14
|
+
import StyledVars from '@capillarytech/cap-ui-library/styled';
|
|
20
15
|
import withErrorBoundary from 'utils/withErrorBoundary';
|
|
21
16
|
import { notifyHandledException } from 'utils/bugsnag';
|
|
22
17
|
|
|
23
|
-
import { CAP_SPACE_08 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
24
18
|
import ErrorBoundaryWrapper from '../../molecules/ErrorBoundaryWrapper';
|
|
25
|
-
|
|
26
19
|
import {
|
|
27
20
|
LOYALTY_USER,
|
|
28
21
|
NON_LOYALTY_USER,
|
|
@@ -30,19 +23,9 @@ import {
|
|
|
30
23
|
IS_INCLUDED_SELECTED,
|
|
31
24
|
CLUSTER_SELECTED,
|
|
32
25
|
INTITAL_DATE_RANGE,
|
|
33
|
-
ACTIVE_CLUSTER
|
|
34
|
-
ALL_USERS,
|
|
35
|
-
NO_LIMIT,
|
|
36
|
-
SPECIFIC_LIMIT,
|
|
37
|
-
getSpecifierMessages,
|
|
38
|
-
ICON,
|
|
39
|
-
UPLOAD_STORE_LIST,
|
|
40
|
-
SELECT_STORE_LIST,
|
|
41
|
-
INITIAL_STORE_ID_FILE,
|
|
26
|
+
ACTIVE_CLUSTER
|
|
42
27
|
} from './constants';
|
|
43
|
-
|
|
44
28
|
import messages from './messages';
|
|
45
|
-
import style from './style';
|
|
46
29
|
import * as actions from '../ConfigureWorkflows/actions';
|
|
47
30
|
import * as capActions from '../../pages/Cap/actions';
|
|
48
31
|
import * as selectors from '../ConfigureWorkflows/selectors';
|
|
@@ -54,6 +37,7 @@ import CollapseWithDateRange from '../../molecules/CollapseWithDateRange';
|
|
|
54
37
|
import TriggerAction from '../../atoms/TriggerAction';
|
|
55
38
|
import globalMessages from '../../pages/Cap/messages';
|
|
56
39
|
import { CapRowWithSpacing } from '../../pages/Cap/style';
|
|
40
|
+
import TagForCapAndScope from '../../molecules/TagForCapAndScope';
|
|
57
41
|
import { gtmPush } from '../../../utils/gtmTrackers';
|
|
58
42
|
import {
|
|
59
43
|
SCOPE_AGGREGATE_ELEMENTS,
|
|
@@ -66,37 +50,25 @@ import {
|
|
|
66
50
|
CONCEPTS,
|
|
67
51
|
REQUEST,
|
|
68
52
|
FAILURE,
|
|
69
|
-
SOURCE_LOYALTY,
|
|
70
|
-
SOURCE_PROMOTION,
|
|
71
|
-
SUCCESS,
|
|
72
|
-
LOCALE_DATE_FORMAT,
|
|
73
|
-
LOYALTY_UX_ENHANCEMENTS,
|
|
74
|
-
DATE_FORMAT,
|
|
75
|
-
ROOT,
|
|
76
53
|
} from '../../pages/App/constants';
|
|
77
|
-
import { getFilterInfo } from '../ConfigureWorkflows/utils';
|
|
78
|
-
import withStyles from '../../../utils/withStyles';
|
|
79
|
-
import { validateStoreIdsEnhancement, computeAncestors, flipSelectedOptions} from './utils';
|
|
80
|
-
import { makeSelectCap } from '../../pages/Cap/selectors';
|
|
81
|
-
|
|
82
|
-
import ScopeHeader from './ScopeContentHeader';
|
|
83
|
-
import ScopeDescription from './ScopeContentDescription';
|
|
84
|
-
import OptionWithTooltip from '../../atoms/OptionWithTooltip';
|
|
85
54
|
|
|
55
|
+
const { CAP_SPACE_32 } = StyledVars;
|
|
86
56
|
const {
|
|
87
57
|
makeSelectScopeAndCapCommonData,
|
|
88
58
|
makeSelectScopingData,
|
|
89
59
|
makeSelectSaveScopingStatus,
|
|
90
60
|
} = selectors;
|
|
91
61
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
className,
|
|
62
|
+
const ScopeSlidebox = ({
|
|
63
|
+
selectedTab,
|
|
95
64
|
intl: { formatMessage },
|
|
96
65
|
match: {
|
|
97
66
|
params: { programId },
|
|
98
67
|
},
|
|
99
68
|
actions,
|
|
69
|
+
closeSlidebox,
|
|
70
|
+
selectedRuleset,
|
|
71
|
+
eventType,
|
|
100
72
|
rulesetData: { getRulesetsStatus },
|
|
101
73
|
scopingData: {
|
|
102
74
|
getStoresRequest,
|
|
@@ -111,102 +83,22 @@ export const ScopeSlidebox = ({
|
|
|
111
83
|
cluster: clusterFromProps,
|
|
112
84
|
},
|
|
113
85
|
status: { saveScopingStatus = '' },
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
source = SOURCE_LOYALTY,
|
|
117
|
-
selectedRuleset,
|
|
118
|
-
eventType,
|
|
119
|
-
processedRuleSets,
|
|
120
|
-
setProcessedRuleSets,
|
|
121
|
-
disabled,
|
|
122
|
-
userData,
|
|
123
|
-
groupTreeList,
|
|
124
|
-
// fake prop, not passed from any parent. Exists to disable scope enhancements, without having to raise hotswaps.
|
|
125
|
-
scopeEnhancementEnabled = false,
|
|
126
|
-
}) => {
|
|
127
|
-
|
|
86
|
+
rulesets = [],
|
|
87
|
+
}) => {
|
|
128
88
|
const [scoppingList, setScoppingList] = useState([]);
|
|
129
89
|
const [contentAdded, setContentAdded] = useState([]);
|
|
130
|
-
|
|
131
|
-
const [
|
|
132
|
-
const [loyaltyType, setLoyaltyType] = useState(ALL_USERS);
|
|
133
|
-
/** Store Related state */
|
|
90
|
+
const [currentTab, setCurrentTab] = useState(LOYALTY_TYPE);
|
|
91
|
+
const [loyaltyType, setLoyaltyType] = useState(LOYALTY_USER);
|
|
134
92
|
const [store, setStore] = useState(INITIAL_STORE);
|
|
135
|
-
const [storeIdsFromFile, setStoreIdsFromFile] = useState(
|
|
136
|
-
INITIAL_STORE_ID_FILE,
|
|
137
|
-
);
|
|
138
|
-
const [isSpecificStore, setIsSpecificStore] = useState(NO_LIMIT);
|
|
139
|
-
/** Date Range Related state*/
|
|
140
93
|
const [dateRange, setDateRange] = useState(INTITAL_DATE_RANGE);
|
|
141
|
-
const [isDateRangeIncluded, setIsDateRangeIncluded] = useState(false);
|
|
142
|
-
const [isSpecificDate, setIsSpecificDate] = useState(NO_LIMIT);
|
|
143
|
-
/** Concept Related state*/
|
|
144
94
|
const [concepts, setConcepts] = useState(IS_INCLUDED_SELECTED);
|
|
145
|
-
const [isSpecificConcept, setIsSpecificConcept] = useState(false);
|
|
146
|
-
/** Zone Related state*/
|
|
147
95
|
const [zone, setZone] = useState(IS_INCLUDED_SELECTED);
|
|
148
|
-
const [isSpecificZone, setIsSpecificZone] = useState(NO_LIMIT);
|
|
149
|
-
/** Event Source Related state*/
|
|
150
96
|
const [eventSource, setEventSource] = useState([]);
|
|
151
|
-
const [isSpecificEventSource, setIsSpecificEventSource] = useState(NO_LIMIT);
|
|
152
|
-
/** Cluster Related state*/
|
|
153
97
|
const [clusters, setCluster] = useState(CLUSTER_SELECTED);
|
|
154
98
|
const [clusterValueOptions, setClusterValueOptions] = useState([]);
|
|
155
99
|
const [clusterValues, setClusterValues] = useState([]);
|
|
156
|
-
const [isSpecificCluster, setIsSpecificCluster] = useState(NO_LIMIT);
|
|
157
|
-
|
|
158
|
-
const [rootZoneModalData, setRootZoneModalData] = useState(false);
|
|
159
|
-
const [rootConceptModalData, setRootConceptModalData] = useState(false);
|
|
160
|
-
|
|
161
|
-
const { currentOrgDetails } = userData;
|
|
162
|
-
const { accessibleFeatures = [] } = currentOrgDetails;
|
|
163
|
-
/* Commented code to serve as a reference for implementing feature control for UX Enhancements in the future. */
|
|
164
|
-
// const hasLoyaltyUXEnhancementsEnabled = accessibleFeatures.includes(
|
|
165
|
-
// LOYALTY_UX_ENHANCEMENTS,
|
|
166
|
-
// );
|
|
167
|
-
|
|
168
|
-
// if the accessible feature contains LOYALTY_UX_ENHANCEMENTS flag exists, then enable scope enhancement
|
|
169
|
-
const hasLoyaltyUXEnhancementsEnabled = scopeEnhancementEnabled;
|
|
170
|
-
|
|
171
|
-
/** End */
|
|
172
|
-
|
|
173
|
-
let validStoresForCurrentRuleset, validZonesForCurrentRuleset, validConceptsForCurrentRuleset, validEventSourcesForCurrentRuleset ;
|
|
174
|
-
|
|
175
|
-
let validPrimaryClustersForCurrentRuleset, validSecondaryClustersForCurrentRuleset;
|
|
176
|
-
|
|
177
|
-
let storeOptionsMultiEnhancement, zoneOptionsEnhancement, conceptOptionsEnhancement, eventSourceOptionsEnhancement, clusterOptionsEnhancement, clusterValuesEnhancement, loyaltyTypeDisabilityInfo;
|
|
178
|
-
|
|
179
|
-
let storeOptionsDisabilityInfo, zoneOptionsDisabilityInfo, conceptOptionsAlternateDisabilityInfo, eventSourceOptionsDisabilityInfo, clusterOptionsAlternateDisabilityInfo, clusterValuesAlternate ;
|
|
180
|
-
|
|
181
|
-
// array of all the parents for the current ruleset, from farthest to closest parent.
|
|
182
|
-
let parentsForCurrentRuleset = useMemo(()=>{
|
|
183
|
-
return computeAncestors(selectedRuleset, groupTreeList);
|
|
184
|
-
}, [groupTreeList, selectedRuleset]);
|
|
185
|
-
|
|
186
|
-
let isSelectedRulesetRoot = useMemo(()=>{
|
|
187
|
-
// return true if the array containing the parents for selectedRuleset is empty.
|
|
188
|
-
return parentsForCurrentRuleset.length === 0;
|
|
189
|
-
},[parentsForCurrentRuleset])
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
useEffect(()=>{
|
|
193
|
-
// This block is used to populate the secondary options for cluster scope.
|
|
194
|
-
const secondaryOptions = clusterFromProps?.filter(cluster => cluster?.status === ACTIVE_CLUSTER)?.reduce(
|
|
195
|
-
(secondaryOptions, cluster) => {
|
|
196
|
-
if (cluster.name === clusters.selected || cluster.name === clusters.selected[0])
|
|
197
|
-
secondaryOptions = cluster?.segmentValues?.map(({ id, value }) => ({
|
|
198
|
-
key: id,
|
|
199
|
-
title: value,
|
|
200
|
-
}));
|
|
201
|
-
return secondaryOptions;
|
|
202
|
-
},
|
|
203
|
-
[],
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
setClusterValueOptions(secondaryOptions);
|
|
207
|
-
},[clusters, clusterFromProps, processedRuleSets]);
|
|
208
|
-
|
|
209
100
|
const [mounted, setMounted] = useState(false);
|
|
101
|
+
const [storeIdsFromFile, setStoreIdsFromFile] = useState([]);
|
|
210
102
|
const showSpin =
|
|
211
103
|
getRulesetsStatus === REQUEST ||
|
|
212
104
|
getStoresRequest === REQUEST ||
|
|
@@ -226,768 +118,174 @@ export const ScopeSlidebox = ({
|
|
|
226
118
|
|
|
227
119
|
const clusterOptions = useMemo(
|
|
228
120
|
() =>
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
);
|
|
121
|
+
clusterFromProps.filter((cluster) => cluster.status == ACTIVE_CLUSTER)
|
|
122
|
+
.map(({ id, name }) => ({
|
|
123
|
+
label: name,
|
|
124
|
+
value: `${id}`,
|
|
125
|
+
key: `${id}`,
|
|
126
|
+
})),
|
|
127
|
+
[JSON.stringify(clusterFromProps)],
|
|
128
|
+
);
|
|
238
129
|
|
|
239
130
|
const eventSourceOptions = useMemo(
|
|
240
131
|
() =>
|
|
241
|
-
eventSourceFromProp
|
|
132
|
+
eventSourceFromProp.map(value => ({
|
|
242
133
|
title: value,
|
|
243
134
|
key: `${value}`,
|
|
244
|
-
['data-testid']: value,
|
|
245
135
|
})),
|
|
246
|
-
[eventSourceFromProp],
|
|
136
|
+
[JSON.stringify(eventSourceFromProp)],
|
|
247
137
|
);
|
|
248
138
|
|
|
249
|
-
|
|
250
139
|
const storeOptionsMulti = useMemo(
|
|
251
140
|
() =>
|
|
252
|
-
storesFromProp
|
|
141
|
+
storesFromProp.map(({ code, id }) => ({
|
|
253
142
|
title: code,
|
|
254
143
|
key: `${id}`,
|
|
255
|
-
['data-testid']: code,
|
|
256
144
|
})),
|
|
257
|
-
[storesFromProp],
|
|
145
|
+
[JSON.stringify(storesFromProp)],
|
|
258
146
|
);
|
|
259
|
-
|
|
260
|
-
// function to get the ruleset's display name by ruleset ID.
|
|
261
|
-
const getDisplayNameForRuleset = (ruleset) => {
|
|
262
|
-
return processedRuleSets?.group[ruleset]?.displayName;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
// function to find all the valid secondary cluster valus, for given primary cluster selection.
|
|
266
|
-
const calculateValidSecondaryClusterOptions = primaryCluster => {
|
|
267
|
-
let validSecondaryClusterOptions = [];
|
|
268
|
-
|
|
269
|
-
let optionsForGivenPrimaryCluster = clusterFromProps.filter(({ name }) => name === primaryCluster)[0].segmentValues;
|
|
270
|
-
|
|
271
|
-
if (!isSelectedRulesetRoot) {
|
|
272
|
-
(optionsForGivenPrimaryCluster || []).forEach(({ value }) => {
|
|
273
|
-
let valid = true;
|
|
274
|
-
|
|
275
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
276
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
277
|
-
const curParentScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CLUSTER)[0];
|
|
278
|
-
|
|
279
|
-
if ((curParentScopeObject && (curParentScopeObject?.isInclude === false && curParentScopeObject?.propertyToValues?.clusterValues.includes(value))) || (curParentScopeObject?.isInclude === true && !curParentScopeObject?.propertyToValues?.clusterValues?.includes(value))) {
|
|
280
|
-
valid = false;
|
|
281
|
-
break;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
if (valid) {
|
|
285
|
-
validSecondaryClusterOptions.push(value);
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
return validSecondaryClusterOptions;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
// root ruleset
|
|
292
|
-
return null;
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
const decideClusterValueOptionsDisability = secondaryClusterValue => {
|
|
296
|
-
let enhancedTitle = secondaryClusterValue;
|
|
297
|
-
if (!isSelectedRulesetRoot) {
|
|
298
|
-
for (let i = 0; i < parentsForCurrentRuleset.length; i++) {
|
|
299
|
-
let curParent = parentsForCurrentRuleset[i];
|
|
300
|
-
let curParentScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CLUSTER)[0];
|
|
301
|
-
|
|
302
|
-
// parent has filter info for customer cluster.
|
|
303
|
-
if (curParentScopeObject && ((curParentScopeObject.isInclude === false && curParentScopeObject.propertyToValues.clusterValues.includes(secondaryClusterValue)) || (curParentScopeObject.isInclude === true && !curParentScopeObject.propertyToValues.clusterValues.includes(secondaryClusterValue)) || curParentScopeObject.propertyToValues.clusterName[0] !== clusters.selected)) {
|
|
304
|
-
enhancedTitle = <CapTooltip placement="left" title={formatMessage(
|
|
305
|
-
messages.parentWithDiffConfigMessage,
|
|
306
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
307
|
-
)}>
|
|
308
|
-
{secondaryClusterValue}
|
|
309
|
-
</CapTooltip>;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
return { displayTitle: enhancedTitle, disabled: enhancedTitle === secondaryClusterValue ? false : true };
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
const decideScopeOptionDisability = scopeType => {
|
|
318
|
-
switch (scopeType) {
|
|
319
|
-
case CLUSTER:
|
|
320
|
-
let clusterOptionResult = {};
|
|
321
|
-
|
|
322
|
-
if (!isSelectedRulesetRoot) {
|
|
323
|
-
// we have parents for this ruleset.
|
|
324
|
-
for (let i = 0; i < clusterFromProps.length; i++) {
|
|
325
|
-
// iterate over every cluster option for given program.
|
|
326
|
-
let curCluster = clusterFromProps[i];
|
|
327
|
-
// iterate over every parent for the given ruleset.
|
|
328
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
329
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
330
|
-
let clusterScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CLUSTER)[0];
|
|
331
|
-
|
|
332
|
-
if (clusterScopeObject && clusterScopeObject?.propertyToValues?.clusterName[0] !== curCluster?.name) {
|
|
333
|
-
// if misconfig somewhere in a parent, disable with proper tooltip message.
|
|
334
|
-
clusterOptionResult[(curCluster?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
|
|
335
|
-
messages.parentWithDiffConfigMessage,
|
|
336
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
337
|
-
)}>
|
|
338
|
-
{curCluster?.name}
|
|
339
|
-
</CapTooltip> };
|
|
340
|
-
// stop checking for the current store button.
|
|
341
|
-
break;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
if (!clusterOptionResult[(curCluster?.id)]) {
|
|
345
|
-
clusterOptionResult[(curCluster?.id)] = { disabled: false, displayTitle: curCluster?.name };
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
} else {
|
|
349
|
-
// root ruleset
|
|
350
|
-
clusterFromProps.map(curCluster => {
|
|
351
|
-
clusterOptionResult[(curCluster?.id)] = { disabled: false, displayTitle: curCluster?.name };
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
return clusterOptionResult;
|
|
356
|
-
|
|
357
|
-
case EVENT_SOURCE:
|
|
358
|
-
let eventSourceResult = {};
|
|
359
|
-
if (!isSelectedRulesetRoot) {
|
|
360
|
-
// we have parents for this ruleset.
|
|
361
|
-
for (let i = 0; i < eventSourceFromProp.length; i++) {
|
|
362
|
-
// iterate over every zone option for given program.
|
|
363
|
-
let curEventSource = eventSourceFromProp[i];
|
|
364
|
-
// iterate over every parent for the given ruleset.
|
|
365
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
366
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
367
|
-
let eventSourceScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === EVENT_SOURCE)[0];
|
|
368
|
-
if (eventSourceScopeObject && eventSourceScopeObject?.propertyToValues?.eventSource.includes(curEventSource) === false) {
|
|
369
|
-
// if misconfig somewhere in a parent, disable with proper tooltip message.
|
|
370
|
-
eventSourceResult[curEventSource] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
|
|
371
|
-
messages.parentWithDiffConfigMessage,
|
|
372
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
373
|
-
)}>
|
|
374
|
-
{curEventSource}
|
|
375
|
-
</CapTooltip> };
|
|
376
|
-
// stop checking for the current store button.
|
|
377
|
-
break;
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
if (!eventSourceResult[curEventSource]) {
|
|
381
|
-
eventSourceResult[curEventSource] = { disabled: false, displayTitle: curEventSource };
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
// root ruleset
|
|
387
|
-
else {
|
|
388
|
-
eventSourceFromProp.map(curEventSource => {
|
|
389
|
-
eventSourceResult[curEventSource] = { disabled: false, displayTitle: curEventSource };
|
|
390
|
-
});
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
return eventSourceResult;
|
|
394
|
-
case LOYALTY_TYPE:
|
|
395
|
-
if (!isSelectedRulesetRoot) {
|
|
396
|
-
// non root ruleset
|
|
397
|
-
let loyaltyTypeOptions = [ALL_USERS, LOYALTY_USER, NON_LOYALTY_USER];
|
|
398
|
-
let loyaltyTypesResult = {};
|
|
399
|
-
let curLoyaltyOption;
|
|
400
|
-
for (let i = 0; i < 3; i++) {
|
|
401
|
-
curLoyaltyOption = loyaltyTypeOptions[i];
|
|
402
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
403
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
404
|
-
// getting the loyaltyType scope from each parent
|
|
405
|
-
let loyaltyTypeScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === LOYALTY_TYPE)[0];
|
|
406
|
-
|
|
407
|
-
if ((loyaltyTypeScopeObject && (loyaltyTypeScopeObject?.isInclude === true && loyaltyTypeScopeObject?.propertyToValues?.loyaltyType[0] !== curLoyaltyOption)) || (loyaltyTypeScopeObject?.isInclude === false && loyaltyTypeScopeObject?.propertyToValues?.loyaltyType[0] === curLoyaltyOption)) {
|
|
408
|
-
loyaltyTypesResult[curLoyaltyOption] = { disabled: true, tooltipText: formatMessage(
|
|
409
|
-
messages.parentWithDiffConfigMessage,
|
|
410
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
411
|
-
) };
|
|
412
|
-
|
|
413
|
-
// stop checking for the current radio button.
|
|
414
|
-
break;
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
if (!loyaltyTypesResult[curLoyaltyOption]) {
|
|
419
|
-
loyaltyTypesResult[curLoyaltyOption] = { disabled: false, tooltipText: null };
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
return loyaltyTypesResult;
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
return { [ALL_USERS]: { disabled: false, tooltipText: null }, [LOYALTY_USER]: { disabled: false, tooltipText: null }, [NON_LOYALTY_USER]: { disabled: false, tooltipText: null } };
|
|
426
|
-
|
|
427
|
-
case STORES:
|
|
428
|
-
let storeResult = {};
|
|
429
|
-
if (!isSelectedRulesetRoot) {
|
|
430
|
-
// we have parents for this ruleset.
|
|
431
|
-
for (let i = 0; i < storesFromProp.length; i++) {
|
|
432
|
-
// iterate over every store option for given program.
|
|
433
|
-
|
|
434
|
-
let curStore = storesFromProp[i];
|
|
435
|
-
|
|
436
|
-
// iterate over every parent for the given ruleset.
|
|
437
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
438
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
439
|
-
let storeScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === STORES)[0];
|
|
440
|
-
|
|
441
|
-
if ((storeScopeObject && (storeScopeObject?.isInclude === true && storeScopeObject?.propertyToValues?.storeId.includes('' + curStore?.id) === false)) || (storeScopeObject?.isInclude === false && storeScopeObject?.propertyToValues?.storeId.includes('' + curStore?.id) === true)) {
|
|
442
|
-
// if misconfig somewhere in a parent, disable with proper tooltip message.
|
|
443
|
-
storeResult[(curStore?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
|
|
444
|
-
messages.parentWithDiffConfigMessage,
|
|
445
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
446
|
-
)}>
|
|
447
|
-
{curStore?.code}
|
|
448
|
-
</CapTooltip>, searchText: curStore?.code };
|
|
449
|
-
|
|
450
|
-
// stop checking for the current store button.
|
|
451
|
-
break;
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
if (!storeResult[(curStore?.id)]) {
|
|
455
|
-
storeResult[(curStore?.id)] = { disabled: false, displayTitle: curStore?.code };
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
// root ruleset
|
|
461
|
-
else {
|
|
462
|
-
storesFromProp?.map(curStore => {
|
|
463
|
-
storeResult[(curStore?.id)] = { disabled: false, displayTitle: curStore?.code };
|
|
464
|
-
});
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
return storeResult;
|
|
468
|
-
|
|
469
|
-
case ZONES:
|
|
470
|
-
let zoneResult = {};
|
|
471
|
-
if (!isSelectedRulesetRoot) {
|
|
472
|
-
// we have parents for this ruleset.
|
|
473
|
-
for (let i = 0; i < zonesFromProp.length; i++) {
|
|
474
|
-
// iterate over every zone option for given program.
|
|
475
|
-
let curZone = zonesFromProp[i];
|
|
476
|
-
// iterate over every parent for the given ruleset.
|
|
477
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
478
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
479
|
-
let zoneScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === ZONES)[0];
|
|
480
|
-
|
|
481
|
-
if ((zoneScopeObject && (zoneScopeObject?.isInclude === true && zoneScopeObject?.propertyToValues?.zoneIds.includes('' + curZone?.id) === false)) || (zoneScopeObject?.isInclude === false && zoneScopeObject?.propertyToValues?.zoneIds.includes('' + curZone?.id) === true)) {
|
|
482
|
-
// if misconfig somewhere in a parent, disable with proper tooltip message.
|
|
483
|
-
zoneResult[(curZone?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
|
|
484
|
-
messages.parentWithDiffConfigMessage,
|
|
485
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
486
|
-
)}>
|
|
487
|
-
{curZone?.name}
|
|
488
|
-
</CapTooltip>};
|
|
489
|
-
// stop checking for the current store button.
|
|
490
|
-
break;
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
if (!zoneResult[(curZone?.id)]) {
|
|
494
|
-
zoneResult[(curZone?.id)] = { disabled: false, displayTitle: curZone?.name };
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
// root ruleset
|
|
500
|
-
else {
|
|
501
|
-
zonesFromProp.map(curZone => {
|
|
502
|
-
zoneResult[(curZone?.id)] = { disabled: false, displayTitle: curZone?.name, searchText: curZone?.name };
|
|
503
|
-
});
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
return zoneResult;
|
|
507
|
-
|
|
508
|
-
case CONCEPTS:
|
|
509
|
-
let conceptResult = {};
|
|
510
|
-
if (!isSelectedRulesetRoot) {
|
|
511
|
-
// we have parents for this ruleset.
|
|
512
|
-
for (let i = 0; i < conceptFromProp.length; i++) {
|
|
513
|
-
// iterate over every concept option for given program.
|
|
514
|
-
let curConcept = conceptFromProp[i];
|
|
515
|
-
// iterate over every parent for the given ruleset.
|
|
516
|
-
for (let k = 0; k < parentsForCurrentRuleset.length; k++) {
|
|
517
|
-
let curParent = parentsForCurrentRuleset[k];
|
|
518
|
-
let conceptScopeObject = processedRuleSets?.group[curParent]?.filterInfo?.filter(curScope => curScope?.name === CONCEPTS)[0];
|
|
519
|
-
|
|
520
|
-
if ((conceptScopeObject && (conceptScopeObject?.isInclude === true && conceptScopeObject?.propertyToValues?.conceptIds.includes('' + curConcept?.id) === false)) || (conceptScopeObject?.isInclude === false && conceptScopeObject?.propertyToValues?.conceptIds.includes('' + curConcept?.id) === true)) {
|
|
521
|
-
// if misconfig somewhere in a parent, disable with proper tooltip message.
|
|
522
|
-
conceptResult[(curConcept?.id)] = { disabled: true, displayTitle: <CapTooltip placement="left" title={formatMessage(
|
|
523
|
-
messages.parentWithDiffConfigMessage,
|
|
524
|
-
{ parent: getDisplayNameForRuleset(curParent) },
|
|
525
|
-
)}>
|
|
526
|
-
{curConcept?.name}
|
|
527
|
-
</CapTooltip>, searchText: curConcept?.name};
|
|
528
|
-
break;
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
if (!conceptResult[(curConcept?.id)]) {
|
|
532
|
-
conceptResult[(curConcept?.id)] = { disabled: false, displayTitle: curConcept?.name, searchText: curConcept?.name };
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
// root ruleset
|
|
538
|
-
else {
|
|
539
|
-
conceptFromProp.map(curConcept => {
|
|
540
|
-
conceptResult[(curConcept?.id)] = { disabled: false, displayTitle: curConcept?.name };
|
|
541
|
-
});
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
return conceptResult;
|
|
545
|
-
|
|
546
|
-
default:
|
|
547
|
-
break;
|
|
548
|
-
}
|
|
549
|
-
};
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
if( hasLoyaltyUXEnhancementsEnabled ){
|
|
553
|
-
|
|
554
|
-
loyaltyTypeDisabilityInfo = useMemo(()=>{
|
|
555
|
-
return decideScopeOptionDisability(LOYALTY_TYPE);
|
|
556
|
-
},[processedRuleSets, selectedRuleset]);
|
|
557
|
-
|
|
558
|
-
storeOptionsDisabilityInfo = useMemo(()=>{
|
|
559
|
-
return decideScopeOptionDisability(STORES);
|
|
560
|
-
},[storesFromProp, selectedRuleset]);
|
|
561
|
-
|
|
562
|
-
zoneOptionsDisabilityInfo = useMemo(()=>{
|
|
563
|
-
return decideScopeOptionDisability(ZONES);
|
|
564
|
-
},[zonesFromProp]);
|
|
565
|
-
|
|
566
|
-
conceptOptionsAlternateDisabilityInfo = useMemo(()=>{
|
|
567
|
-
return decideScopeOptionDisability(CONCEPTS);
|
|
568
|
-
},[conceptFromProp]);
|
|
569
|
-
|
|
570
|
-
eventSourceOptionsDisabilityInfo = useMemo(()=>{
|
|
571
|
-
return decideScopeOptionDisability(EVENT_SOURCE);
|
|
572
|
-
},[eventSourceFromProp]);
|
|
573
|
-
|
|
574
|
-
clusterOptionsAlternateDisabilityInfo = useMemo(()=>{
|
|
575
|
-
return decideScopeOptionDisability(CLUSTER);
|
|
576
|
-
},[clusterFromProps]);
|
|
577
|
-
|
|
578
|
-
clusterValuesAlternate = useMemo(()=>{
|
|
579
|
-
return decideScopeOptionDisability(CLUSTER);
|
|
580
|
-
},[clusterOptionsAlternateDisabilityInfo, clusterFromProps])
|
|
581
|
-
|
|
582
|
-
storeOptionsMultiEnhancement = storesFromProp?.map(({ code, id }) => {
|
|
583
|
-
return { title: storeOptionsDisabilityInfo[id].displayTitle, key: `${id}`, ['data-testid']: code, disabled: storeOptionsDisabilityInfo[id].disabled, searchText: code };
|
|
584
|
-
});
|
|
585
|
-
|
|
586
|
-
zoneOptionsEnhancement = zonesFromProp?.map(({ code, id, name }) => {
|
|
587
|
-
return { title: zoneOptionsDisabilityInfo[id].displayTitle, key: `${id}`, ['data-testid']: code, disabled: zoneOptionsDisabilityInfo[id].disabled, searchText: name};
|
|
588
|
-
});
|
|
589
|
-
|
|
590
|
-
conceptOptionsEnhancement = conceptFromProp?.map(({ code, id, name }) => {
|
|
591
|
-
return { title: conceptOptionsAlternateDisabilityInfo[id].displayTitle, key: `${id}`, ['data-testid']: code, disabled: conceptOptionsAlternateDisabilityInfo[id].disabled, searchText: name };
|
|
592
|
-
});
|
|
593
|
-
|
|
594
|
-
eventSourceOptionsEnhancement = eventSourceFromProp?.map((curEventSource) => {
|
|
595
|
-
return { title: eventSourceOptionsDisabilityInfo[curEventSource].displayTitle, key: `${curEventSource}`, ['data-testid']: curEventSource, disabled: eventSourceOptionsDisabilityInfo[curEventSource].disabled, searchText: `${curEventSource}`, };
|
|
596
|
-
});
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
clusterOptionsEnhancement = useMemo(
|
|
600
|
-
() =>
|
|
601
|
-
clusterFromProps
|
|
602
|
-
?.filter(cluster => cluster.status == ACTIVE_CLUSTER)
|
|
603
|
-
?.map(({ id }) => {
|
|
604
|
-
return {
|
|
605
|
-
label: clusterValuesAlternate[id]?.displayTitle,
|
|
606
|
-
value: `${id}`,
|
|
607
|
-
key: `${id}`,
|
|
608
|
-
disabled: clusterValuesAlternate[id]?.disabled,
|
|
609
|
-
};
|
|
610
|
-
}),
|
|
611
|
-
[clusterFromProps],
|
|
612
|
-
);
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
clusterValuesEnhancement = useMemo(
|
|
616
|
-
() =>
|
|
617
|
-
{
|
|
618
|
-
return clusterValueOptions?.map(({ key, title }) => {
|
|
619
|
-
let { displayTitle, disabled } = decideClusterValueOptionsDisability(
|
|
620
|
-
title,
|
|
621
|
-
);
|
|
622
|
-
return {
|
|
623
|
-
title: displayTitle,
|
|
624
|
-
key,
|
|
625
|
-
disabled,
|
|
626
|
-
searchText: title,
|
|
627
|
-
};
|
|
628
|
-
}
|
|
629
|
-
)},
|
|
630
|
-
[clusterValueOptions, clusters],
|
|
631
|
-
);
|
|
632
|
-
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
if(hasLoyaltyUXEnhancementsEnabled){
|
|
636
|
-
|
|
637
|
-
validStoresForCurrentRuleset = useMemo(()=>{
|
|
638
|
-
return storesFromProp.reduce((accumulator, curStore) => {
|
|
639
|
-
return storeOptionsDisabilityInfo[curStore?.id]?.disabled === false ? [...accumulator, ''+curStore?.id] : accumulator;
|
|
640
|
-
}, []);
|
|
641
|
-
},[selectedRuleset, storesFromProp]);
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
validZonesForCurrentRuleset = useMemo(()=>{
|
|
645
|
-
return zonesFromProp.reduce((accumulator, curZone) => {
|
|
646
|
-
return zoneOptionsDisabilityInfo[curZone?.id]?.disabled === false ? [...accumulator, ''+curZone?.id] : accumulator;
|
|
647
|
-
}, []);
|
|
648
|
-
},[processedRuleSets, zonesFromProp]);
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
validConceptsForCurrentRuleset = useMemo(()=>{
|
|
652
|
-
return conceptFromProp.reduce((accumulator, curConcept) => {
|
|
653
|
-
return conceptOptionsAlternateDisabilityInfo[curConcept?.id]?.disabled === false ? [...accumulator, ''+curConcept?.id] : accumulator;
|
|
654
|
-
}, []);
|
|
655
|
-
},[processedRuleSets, conceptFromProp]);
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
validEventSourcesForCurrentRuleset = useMemo(()=>{
|
|
659
|
-
return eventSourceFromProp.reduce((accumulator, curEventSource) => {
|
|
660
|
-
return eventSourceOptionsDisabilityInfo[curEventSource]?.disabled === false ? [...accumulator, curEventSource] : accumulator;
|
|
661
|
-
}, []);
|
|
662
|
-
},[processedRuleSets, eventSourceFromProp]);
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
// array containing all the valid primary clusters for selectedRuleset.
|
|
667
|
-
validPrimaryClustersForCurrentRuleset = useMemo(()=>{
|
|
668
|
-
|
|
669
|
-
let validArr = [];
|
|
670
|
-
clusterFromProps.map(({ name, id }) => {
|
|
671
|
-
if (clusterOptionsAlternateDisabilityInfo[id].disabled === false) {
|
|
672
|
-
validArr.push(name);
|
|
673
|
-
}
|
|
674
|
-
});
|
|
675
|
-
|
|
676
|
-
return validArr;
|
|
677
|
-
},[selectedRuleset, clusterFromProps, clusterOptionsAlternateDisabilityInfo]);
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
validSecondaryClustersForCurrentRuleset = useMemo(()=>{
|
|
681
|
-
|
|
682
|
-
let validArr = [];
|
|
683
|
-
if(validPrimaryClustersForCurrentRuleset.length === 0){
|
|
684
|
-
// no valid primary cluster
|
|
685
|
-
return null;
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
else if(validPrimaryClustersForCurrentRuleset.length === clusterFromProps.length){
|
|
689
|
-
// free flow case, no cluster selected at parent level. No scoping object in filterInfo for this case
|
|
690
|
-
return [];
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
else if(validPrimaryClustersForCurrentRuleset.length === 1){
|
|
694
|
-
// exactly one valid cluster from parent level. move through all parents and check which secondary options for cluster is valid/invalid.
|
|
695
|
-
const validPrimaryCluster = validPrimaryClustersForCurrentRuleset[0];
|
|
696
|
-
|
|
697
|
-
return calculateValidSecondaryClusterOptions(validPrimaryCluster);
|
|
698
|
-
|
|
699
|
-
}
|
|
700
|
-
},[selectedRuleset,validPrimaryClustersForCurrentRuleset, clusterFromProps ]);
|
|
701
|
-
|
|
702
|
-
}
|
|
703
|
-
|
|
704
147
|
|
|
705
148
|
const zoneOptions = useMemo(
|
|
706
149
|
() =>
|
|
707
|
-
zonesFromProp
|
|
708
|
-
|
|
709
|
-
title: (
|
|
710
|
-
<OptionWithTooltip
|
|
711
|
-
optionLabel={name}
|
|
712
|
-
infoVisible={name === ROOT}
|
|
713
|
-
infoProps={{
|
|
714
|
-
title: formatMessage(globalMessages.rootSelectModalDescription),
|
|
715
|
-
placement: 'left',
|
|
716
|
-
className: 'margin-l-4',
|
|
717
|
-
}}
|
|
718
|
-
/>
|
|
719
|
-
),
|
|
150
|
+
zonesFromProp.map(({ name, id }) => ({
|
|
151
|
+
title: name,
|
|
720
152
|
key: `${id}`,
|
|
721
|
-
['data-testid']: name,
|
|
722
153
|
})),
|
|
723
|
-
[zonesFromProp],
|
|
724
|
-
);
|
|
725
|
-
|
|
726
|
-
const zoneRootValue = useMemo(
|
|
727
|
-
() => zonesFromProp?.find(({ name }) => name === ROOT)?.id,
|
|
728
|
-
[zonesFromProp],
|
|
154
|
+
[JSON.stringify(zonesFromProp)],
|
|
729
155
|
);
|
|
730
156
|
|
|
731
157
|
const conceptOptions = useMemo(
|
|
732
158
|
() =>
|
|
733
|
-
conceptFromProp
|
|
734
|
-
|
|
735
|
-
title: (
|
|
736
|
-
<OptionWithTooltip
|
|
737
|
-
optionLabel={name}
|
|
738
|
-
infoVisible={name === ROOT}
|
|
739
|
-
infoProps={{
|
|
740
|
-
title: formatMessage(globalMessages.rootSelectModalDescription),
|
|
741
|
-
placement: 'left',
|
|
742
|
-
className: 'margin-l-4',
|
|
743
|
-
}}
|
|
744
|
-
/>
|
|
745
|
-
),
|
|
159
|
+
conceptFromProp.map(({ name, id }) => ({
|
|
160
|
+
title: name,
|
|
746
161
|
key: `${id}`,
|
|
747
|
-
['data-testid']: name,
|
|
748
162
|
})),
|
|
749
|
-
[conceptFromProp],
|
|
750
|
-
);
|
|
751
|
-
|
|
752
|
-
const conceptRootValue = useMemo(
|
|
753
|
-
() => conceptFromProp?.find(({ name }) => name === ROOT)?.id,
|
|
754
|
-
[conceptFromProp],
|
|
163
|
+
[JSON.stringify(conceptFromProp)],
|
|
755
164
|
);
|
|
756
165
|
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
const handleSaveFilterInfo = useCallback(
|
|
766
|
-
promotionFilterInfo => {
|
|
767
|
-
const clonnedRulesets = cloneDeep(processedRuleSets);
|
|
768
|
-
const modifiedRuleset = clonnedRulesets.group[selectedRuleset];
|
|
769
|
-
modifiedRuleset.filterInfo = promotionFilterInfo;
|
|
770
|
-
modifiedRuleset.isPristine = false;
|
|
771
|
-
clonnedRulesets.group[selectedRuleset] = modifiedRuleset;
|
|
772
|
-
setProcessedRuleSets(clonnedRulesets);
|
|
773
|
-
CapNotification.success({
|
|
774
|
-
message: formatMessage(globalMessages.editedSuccessfully),
|
|
775
|
-
});
|
|
776
|
-
},
|
|
777
|
-
[processedRuleSets, setProcessedRuleSets, selectedRuleset],
|
|
778
|
-
);
|
|
779
|
-
|
|
780
|
-
useEffect(
|
|
781
|
-
() => {
|
|
782
|
-
if (!mounted) {
|
|
783
|
-
const shouldMakeRequest = field =>
|
|
784
|
-
![SUCCESS, FAILURE, REQUEST].includes(field);
|
|
785
|
-
if (shouldMakeRequest(getEventSource)) actions.getEventSource();
|
|
786
|
-
if (shouldMakeRequest(getClusterRequest)) actions.getClusters();
|
|
787
|
-
if (shouldMakeRequest(getZonesRequest)) actions.getZones();
|
|
788
|
-
if (shouldMakeRequest(getConceptsRequest)) actions.getConcepts();
|
|
789
|
-
if (shouldMakeRequest(getStoresRequest)) actions.getStores();
|
|
790
|
-
setMounted(true);
|
|
791
|
-
}
|
|
792
|
-
},
|
|
793
|
-
[
|
|
794
|
-
mounted,
|
|
795
|
-
actions,
|
|
796
|
-
getEventSource,
|
|
797
|
-
getClusterRequest,
|
|
798
|
-
getZonesRequest,
|
|
799
|
-
getConceptsRequest,
|
|
800
|
-
getStoresRequest,
|
|
801
|
-
],
|
|
802
|
-
);
|
|
166
|
+
useEffect(() => {
|
|
167
|
+
if (!mounted) {
|
|
168
|
+
actions.getEventSource();
|
|
169
|
+
actions.getClusters();
|
|
170
|
+
setMounted(true);
|
|
171
|
+
}
|
|
172
|
+
}, []);
|
|
803
173
|
|
|
804
174
|
useEffect(
|
|
805
175
|
() => {
|
|
806
|
-
let
|
|
176
|
+
let loyaltyType = loyaltyType;
|
|
807
177
|
let store = INITIAL_STORE;
|
|
808
|
-
let isSpecificStore = NO_LIMIT;
|
|
809
178
|
let dateRange = INTITAL_DATE_RANGE;
|
|
810
|
-
let isSpecificDate = NO_LIMIT;
|
|
811
|
-
let isDateRangeIncluded = false;
|
|
812
179
|
let concepts = IS_INCLUDED_SELECTED;
|
|
813
|
-
let isSpecificConcept = NO_LIMIT;
|
|
814
180
|
let zone = IS_INCLUDED_SELECTED;
|
|
815
|
-
let isSpecificZone = NO_LIMIT;
|
|
816
181
|
let eventSource = [];
|
|
817
|
-
let isSpecificEventSource = NO_LIMIT;
|
|
818
182
|
let clusters = CLUSTER_SELECTED;
|
|
819
183
|
let clusterValue = [];
|
|
820
184
|
let contentAdded = [];
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
});
|
|
829
|
-
|
|
830
|
-
let scopeOrder = [
|
|
831
|
-
LOYALTY_TYPE,
|
|
832
|
-
EVENT_SOURCE,
|
|
833
|
-
DATE_RANGE,
|
|
834
|
-
STORES,
|
|
835
|
-
ZONES,
|
|
836
|
-
CLUSTER,
|
|
837
|
-
CONCEPTS,
|
|
838
|
-
];
|
|
839
|
-
scopeOrder.forEach(scope => {
|
|
840
|
-
switch (scope) {
|
|
841
|
-
case LOYALTY_TYPE: {
|
|
842
|
-
const { propertyToValues } = scopingObject[LOYALTY_TYPE] || {};
|
|
185
|
+
const scoppingList = rulesets.find(
|
|
186
|
+
ruleset => ruleset.id == selectedRuleset,
|
|
187
|
+
)?.filterInfo;
|
|
188
|
+
scoppingList?.forEach(scoping => {
|
|
189
|
+
const { name, propertyToValues, isInclude } = scoping;
|
|
190
|
+
switch (name) {
|
|
191
|
+
case LOYALTY_TYPE:
|
|
843
192
|
contentAdded.push(LOYALTY_TYPE);
|
|
844
|
-
|
|
845
|
-
newLoyaltyType = propertyToValues.loyaltyType[0];
|
|
846
|
-
}
|
|
193
|
+
loyaltyType = propertyToValues.loyaltyType[0];
|
|
847
194
|
break;
|
|
848
|
-
|
|
849
|
-
case EVENT_SOURCE: {
|
|
850
|
-
const { propertyToValues } = scopingObject[EVENT_SOURCE] || {};
|
|
195
|
+
case EVENT_SOURCE:
|
|
851
196
|
contentAdded.push(EVENT_SOURCE);
|
|
852
|
-
|
|
853
|
-
eventSource = propertyToValues.eventSource;
|
|
854
|
-
isSpecificEventSource = SPECIFIC_LIMIT;
|
|
855
|
-
}
|
|
197
|
+
eventSource = propertyToValues.eventSource;
|
|
856
198
|
break;
|
|
857
|
-
|
|
858
|
-
case ZONES: {
|
|
859
|
-
const { propertyToValues, isInclude } = scopingObject[ZONES] || {};
|
|
199
|
+
case ZONES:
|
|
860
200
|
contentAdded.push(ZONES);
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
selected: hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(propertyToValues.zoneIds, zonesFromProp) : propertyToValues.zoneIds,
|
|
866
|
-
};
|
|
867
|
-
}
|
|
201
|
+
zone = {
|
|
202
|
+
isIncluded: isInclude,
|
|
203
|
+
selected: propertyToValues.zoneIds,
|
|
204
|
+
};
|
|
868
205
|
break;
|
|
869
|
-
|
|
870
|
-
case CONCEPTS: {
|
|
871
|
-
const { propertyToValues, isInclude } =
|
|
872
|
-
scopingObject[CONCEPTS] || {};
|
|
206
|
+
case CONCEPTS:
|
|
873
207
|
contentAdded.push(CONCEPTS);
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
selected: hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(propertyToValues.conceptIds, conceptFromProp) : propertyToValues.conceptIds,
|
|
879
|
-
};
|
|
880
|
-
}
|
|
208
|
+
concepts = {
|
|
209
|
+
isIncluded: isInclude,
|
|
210
|
+
selected: propertyToValues.conceptIds,
|
|
211
|
+
};
|
|
881
212
|
break;
|
|
882
|
-
|
|
883
|
-
case STORES: {
|
|
884
|
-
const { propertyToValues, isInclude } = scopingObject[STORES] || {};
|
|
213
|
+
case STORES:
|
|
885
214
|
contentAdded.push(STORES);
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
selected: hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(propertyToValues.storeId, storesFromProp) : propertyToValues.storeId,
|
|
891
|
-
};
|
|
892
|
-
}
|
|
215
|
+
store = {
|
|
216
|
+
isIncluded: isInclude,
|
|
217
|
+
selected: propertyToValues.storeId,
|
|
218
|
+
};
|
|
893
219
|
break;
|
|
894
|
-
}
|
|
895
220
|
case DATE_RANGE: {
|
|
896
|
-
const { propertyToValues, isInclude } =
|
|
897
|
-
scopingObject[DATE_RANGE] || {};
|
|
898
221
|
contentAdded.push(DATE_RANGE);
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
},
|
|
918
|
-
};
|
|
919
|
-
}
|
|
222
|
+
const { startDate, endDate } = propertyToValues;
|
|
223
|
+
let [sd, st] = startDate[0].split(' ');
|
|
224
|
+
let [ed, et] = endDate[0].split(' ');
|
|
225
|
+
|
|
226
|
+
dateRange = {
|
|
227
|
+
startDate: {
|
|
228
|
+
date: moment(startDate[0]),
|
|
229
|
+
dateString: sd,
|
|
230
|
+
time: moment(startDate[0]),
|
|
231
|
+
timeString: st,
|
|
232
|
+
},
|
|
233
|
+
endDate: {
|
|
234
|
+
date: moment(endDate[0]),
|
|
235
|
+
dateString: ed,
|
|
236
|
+
time: moment(endDate[0]),
|
|
237
|
+
timeString: et,
|
|
238
|
+
},
|
|
239
|
+
};
|
|
920
240
|
break;
|
|
921
241
|
}
|
|
922
242
|
case CLUSTER: {
|
|
923
|
-
const { propertyToValues, isInclude } =
|
|
924
|
-
scopingObject[CLUSTER] || {};
|
|
925
243
|
contentAdded.push(CLUSTER);
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
selected: clusterName[0],
|
|
933
|
-
};
|
|
934
|
-
|
|
935
|
-
const secondaryOptions = clusterFromProps?.filter(cluster => cluster?.status === ACTIVE_CLUSTER)?.reduce(
|
|
936
|
-
(secondaryOptions, cluster) => {
|
|
937
|
-
if (cluster.name === clusters.selected || cluster.name === clusters.selected[0])
|
|
938
|
-
secondaryOptions = cluster?.segmentValues;
|
|
939
|
-
return secondaryOptions;
|
|
940
|
-
},
|
|
941
|
-
[],
|
|
942
|
-
);
|
|
943
|
-
|
|
944
|
-
clusterValue = hasLoyaltyUXEnhancementsEnabled && isInclude === false ? flipSelectedOptions(clusterValues, secondaryOptions) : clusterValues;
|
|
945
|
-
}
|
|
244
|
+
const { clusterName, clusterValues } = propertyToValues;
|
|
245
|
+
clusters = {
|
|
246
|
+
isIncluded: isInclude,
|
|
247
|
+
selected: clusterName[0],
|
|
248
|
+
};
|
|
249
|
+
clusterValue = clusterValues;
|
|
946
250
|
break;
|
|
947
251
|
}
|
|
948
252
|
}
|
|
949
253
|
});
|
|
254
|
+
setCurrentTab(selectedTab || LOYALTY_TYPE);
|
|
950
255
|
setScoppingList(scoppingList);
|
|
951
256
|
setContentAdded(contentAdded);
|
|
952
|
-
setLoyaltyType(
|
|
257
|
+
setLoyaltyType(loyaltyType);
|
|
953
258
|
setStore(store);
|
|
954
|
-
setIsSpecificStore(isSpecificStore);
|
|
955
259
|
setDateRange(dateRange);
|
|
956
|
-
setIsSpecificDate(isSpecificDate);
|
|
957
|
-
setIsDateRangeIncluded(isDateRangeIncluded);
|
|
958
260
|
setConcepts(concepts);
|
|
959
|
-
setIsSpecificConcept(isSpecificConcept);
|
|
960
261
|
setZone(zone);
|
|
961
|
-
setIsSpecificZone(isSpecificZone);
|
|
962
262
|
setEventSource(eventSource);
|
|
963
|
-
setIsSpecificEventSource(isSpecificEventSource);
|
|
964
263
|
setCluster(clusters);
|
|
965
264
|
setClusterValues(clusterValue);
|
|
966
|
-
setIsSpecificCluster(isSpecificCluster);
|
|
967
265
|
},
|
|
968
|
-
[
|
|
266
|
+
[JSON.stringify(rulesets), selectedRuleset],
|
|
969
267
|
);
|
|
970
|
-
|
|
971
268
|
const changeLoyaltyType = event => setLoyaltyType(event.target?.value);
|
|
972
|
-
|
|
973
|
-
const sortMultiSelectOptions = list => {
|
|
974
|
-
let disabledOptions = [], enabledOptions = [];
|
|
975
|
-
list?.forEach(curItem => {
|
|
976
|
-
curItem.disabled ? disabledOptions.push(curItem) : enabledOptions.push(curItem);
|
|
977
|
-
});
|
|
978
|
-
return enabledOptions.concat(disabledOptions);
|
|
979
|
-
};
|
|
980
|
-
|
|
981
269
|
const changeClusterSelected = value => {
|
|
982
|
-
|
|
983
|
-
|
|
270
|
+
const secondaryOptions = clusterFromProps.reduce(
|
|
271
|
+
(secondaryOptions, cluster) => {
|
|
272
|
+
if (cluster.name === value)
|
|
273
|
+
secondaryOptions = cluster.segmentValues.map(({ id, value }) => ({
|
|
274
|
+
id,
|
|
275
|
+
value,
|
|
276
|
+
label: value,
|
|
277
|
+
}));
|
|
278
|
+
return secondaryOptions;
|
|
279
|
+
},
|
|
280
|
+
[],
|
|
281
|
+
);
|
|
984
282
|
setCluster({
|
|
985
283
|
...clusters,
|
|
986
284
|
selected: value,
|
|
987
285
|
});
|
|
286
|
+
setClusterValueOptions(secondaryOptions);
|
|
988
287
|
};
|
|
989
288
|
|
|
990
|
-
|
|
991
289
|
const toggleClusterIsIncluded = () =>
|
|
992
290
|
setCluster({
|
|
993
291
|
...clusters,
|
|
@@ -998,96 +296,70 @@ export const ScopeSlidebox = ({
|
|
|
998
296
|
setEventSource(value);
|
|
999
297
|
};
|
|
1000
298
|
const addZones = value => setZone({ ...zone, selected: value });
|
|
1001
|
-
const zoneSelectHandler = value => {
|
|
1002
|
-
const modalShouldOpen =
|
|
1003
|
-
value.includes(zoneRootValue?.toString()) &&
|
|
1004
|
-
!zone?.selected?.includes(zoneRootValue?.toString());
|
|
1005
|
-
if (modalShouldOpen) {
|
|
1006
|
-
setRootZoneModalData(value);
|
|
1007
|
-
}
|
|
1008
|
-
addZones(value);
|
|
1009
|
-
};
|
|
1010
299
|
|
|
1011
300
|
const toggleZoneIncluded = () =>
|
|
1012
301
|
setZone({ ...zone, isIncluded: !zone?.isIncluded });
|
|
1013
302
|
|
|
1014
303
|
const addConcepts = value => setConcepts({ ...concepts, selected: value });
|
|
1015
|
-
const conceptSelectHandler = value => {
|
|
1016
|
-
const modalShouldOpen =
|
|
1017
|
-
value.includes(conceptRootValue?.toString()) &&
|
|
1018
|
-
!concepts?.selected?.includes(conceptRootValue?.toString());
|
|
1019
|
-
if (modalShouldOpen) {
|
|
1020
|
-
setRootConceptModalData(value);
|
|
1021
|
-
}
|
|
1022
|
-
addConcepts(value);
|
|
1023
|
-
};
|
|
1024
304
|
|
|
1025
305
|
const toggleConceptIncluded = () =>
|
|
1026
306
|
setConcepts({ ...concepts, isIncluded: !concepts?.isIncluded });
|
|
1027
307
|
|
|
1028
|
-
const
|
|
1029
|
-
|
|
308
|
+
const removeLoyaltyType = () => {
|
|
309
|
+
setContentAdded(contentAdded.filter(item => item !== LOYALTY_TYPE));
|
|
310
|
+
setLoyaltyType(LOYALTY_USER);
|
|
311
|
+
};
|
|
1030
312
|
|
|
1031
|
-
const
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
setIsSpecificDate(value);
|
|
1036
|
-
break;
|
|
1037
|
-
case STORES:
|
|
1038
|
-
setIsSpecificStore(value);
|
|
1039
|
-
break;
|
|
1040
|
-
case ZONES:
|
|
1041
|
-
setIsSpecificZone(value);
|
|
1042
|
-
break;
|
|
1043
|
-
case CONCEPTS:
|
|
1044
|
-
setIsSpecificConcept(value);
|
|
1045
|
-
break;
|
|
1046
|
-
case CLUSTER:
|
|
1047
|
-
setIsSpecificCluster(value);
|
|
1048
|
-
break;
|
|
1049
|
-
case EVENT_SOURCE:
|
|
1050
|
-
setIsSpecificEventSource(value);
|
|
1051
|
-
break;
|
|
1052
|
-
}
|
|
1053
|
-
}, []);
|
|
313
|
+
const removeDateRange = () => {
|
|
314
|
+
setDateRange(INTITAL_DATE_RANGE);
|
|
315
|
+
setContentAdded(contentAdded.filter(item => item !== DATE_RANGE));
|
|
316
|
+
};
|
|
1054
317
|
|
|
1055
|
-
const
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
const changeTabToDateRange = () =>
|
|
1060
|
-
setCurrentTab(currentTab => (currentTab === DATE_RANGE ? '' : DATE_RANGE));
|
|
318
|
+
const removeConcepts = () => {
|
|
319
|
+
setContentAdded(contentAdded.filter(item => item !== CONCEPTS));
|
|
320
|
+
setConcepts(IS_INCLUDED_SELECTED);
|
|
321
|
+
};
|
|
1061
322
|
|
|
1062
|
-
const
|
|
1063
|
-
|
|
323
|
+
const removeZone = () => {
|
|
324
|
+
setContentAdded(contentAdded.filter(item => item !== ZONES));
|
|
325
|
+
setZone(IS_INCLUDED_SELECTED);
|
|
1064
326
|
};
|
|
1065
327
|
|
|
1066
|
-
const
|
|
1067
|
-
|
|
328
|
+
const removeEventSource = () => {
|
|
329
|
+
setContentAdded(contentAdded.filter(item => item !== EVENT_SOURCE));
|
|
330
|
+
setEventSource([]);
|
|
331
|
+
};
|
|
1068
332
|
|
|
1069
|
-
const
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
);
|
|
333
|
+
const removeCluster = () => {
|
|
334
|
+
setContentAdded(contentAdded.filter(item => item !== CLUSTER));
|
|
335
|
+
setCluster(CLUSTER_SELECTED);
|
|
336
|
+
setClusterValueOptions([]);
|
|
337
|
+
setClusterValues([]);
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
const changeTabToLoyaltyType = () => setCurrentTab(LOYALTY_TYPE);
|
|
341
|
+
|
|
342
|
+
const changeTabToDateRange = () => setCurrentTab(DATE_RANGE);
|
|
343
|
+
|
|
344
|
+
const changeTabToConcepts = () => setCurrentTab(CONCEPTS);
|
|
1073
345
|
|
|
1074
|
-
const
|
|
1075
|
-
setCurrentTab(currentTab => (currentTab === CLUSTER ? '' : CLUSTER));
|
|
346
|
+
const changeTabToZone = () => setCurrentTab(ZONES);
|
|
1076
347
|
|
|
1077
|
-
const
|
|
1078
|
-
|
|
348
|
+
const changeTabToEventSource = () => setCurrentTab(EVENT_SOURCE);
|
|
349
|
+
|
|
350
|
+
const changeTabToCluster = () => setCurrentTab(CLUSTER);
|
|
1079
351
|
|
|
1080
352
|
const changeDateRangeStart = (date, dateString) => {
|
|
1081
353
|
setDateRange({
|
|
1082
354
|
...dateRange,
|
|
1083
|
-
startDate: { ...dateRange?.startDate, date, dateString
|
|
355
|
+
startDate: { ...dateRange?.startDate, date, dateString },
|
|
1084
356
|
});
|
|
1085
357
|
};
|
|
1086
358
|
|
|
1087
359
|
const changeDateRangeEnd = (date, dateString) =>
|
|
1088
360
|
setDateRange({
|
|
1089
361
|
...dateRange,
|
|
1090
|
-
endDate: { ...dateRange?.endDate, date, dateString
|
|
362
|
+
endDate: { ...dateRange?.endDate, date, dateString },
|
|
1091
363
|
});
|
|
1092
364
|
|
|
1093
365
|
const changeDateRangeStartTime = (time, timeString) =>
|
|
@@ -1102,488 +374,60 @@ export const ScopeSlidebox = ({
|
|
|
1102
374
|
endDate: { ...dateRange?.endDate, time, timeString },
|
|
1103
375
|
});
|
|
1104
376
|
|
|
377
|
+
const changeTabToStore = () => setCurrentTab(STORES);
|
|
378
|
+
|
|
379
|
+
const removeStore = () =>
|
|
380
|
+
setContentAdded(contentAdded.filter(item => item !== STORES));
|
|
381
|
+
|
|
1105
382
|
const changeStoreIncluded = () =>
|
|
1106
383
|
setStore({ ...store, isIncluded: !store?.isIncluded });
|
|
1107
384
|
|
|
1108
|
-
const changeStoreSelect = value => {
|
|
1109
|
-
setStore({ ...store, selected: value })
|
|
1110
|
-
};
|
|
385
|
+
const changeStoreSelect = value => setStore({ ...store, selected: value });
|
|
1111
386
|
|
|
1112
|
-
const changeFileInStore = ({ fileList }) => {
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
387
|
+
const changeFileInStore = ({ file, fileList }) => {
|
|
388
|
+
const reader = new FileReader();
|
|
389
|
+
reader.onload = function(evt) {
|
|
390
|
+
setStoreIdsFromFile(
|
|
391
|
+
evt.target.result?.split(/\r?\n|\r|,/)?.filter(id => id),
|
|
392
|
+
);
|
|
393
|
+
};
|
|
394
|
+
reader.readAsText(file.originFileObj);
|
|
1118
395
|
fileList.map(file => {
|
|
1119
|
-
const reader = new FileReader();
|
|
1120
|
-
reader.onload = function(evt) {
|
|
1121
|
-
setStoreIdsFromFile(() => {
|
|
1122
|
-
const uploadedStoreIds = evt.target.result
|
|
1123
|
-
?.split(/\r?\n|\r|,/)
|
|
1124
|
-
?.filter(id => id);
|
|
1125
|
-
|
|
1126
|
-
const { valid, invalid } = hasLoyaltyUXEnhancementsEnabled ? validateStoreIdsEnhancement(uploadedStoreIds, validStoresForCurrentRuleset, storesFromProp) : validateStoreIds(uploadedStoreIds);
|
|
1127
|
-
|
|
1128
|
-
const convertedStoreIds = convertStoreCodesToIds(valid);
|
|
1129
|
-
return { valid: convertedStoreIds, invalid, validStoreCode: valid };
|
|
1130
|
-
});
|
|
1131
|
-
};
|
|
1132
396
|
file.status = 'success';
|
|
1133
|
-
|
|
397
|
+
return file;
|
|
1134
398
|
});
|
|
1135
399
|
setStore({ ...store, file: fileList.slice(-1) });
|
|
1136
400
|
};
|
|
1137
401
|
|
|
1138
|
-
const getTooltipData = (selectedData, optionsData) => {
|
|
1139
|
-
let tooltipData = [];
|
|
1140
|
-
let sourceObject = selectedData?.reduce((obj, id, i) => {
|
|
1141
|
-
if (i) {
|
|
1142
|
-
obj[id] = true;
|
|
1143
|
-
}
|
|
1144
|
-
return obj;
|
|
1145
|
-
}, {});
|
|
1146
|
-
optionsData?.forEach(source => {
|
|
1147
|
-
if (sourceObject[source.key]) {
|
|
1148
|
-
tooltipData.push(source.title);
|
|
1149
|
-
}
|
|
1150
|
-
});
|
|
1151
|
-
|
|
1152
|
-
return tooltipData;
|
|
1153
|
-
};
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
const getMultiSelectPreview = (data, idsArray, optionsData) => {
|
|
1157
|
-
let listData = [];
|
|
1158
|
-
const firstData = (idsArray.length && idsArray[0]) || '';
|
|
1159
|
-
const name = (find(data, { id: Number(firstData) }) || {}).name;
|
|
1160
|
-
const count = idsArray.length - 1;
|
|
1161
|
-
if (count) {
|
|
1162
|
-
listData = getTooltipData(idsArray, optionsData);
|
|
1163
|
-
}
|
|
1164
|
-
return { name, count, listData };
|
|
1165
|
-
};
|
|
1166
|
-
|
|
1167
|
-
const isSpecificData = source => source !== NO_LIMIT;
|
|
1168
|
-
|
|
1169
|
-
const getScopePropertyValue = scope => {
|
|
1170
|
-
const { name } = scope;
|
|
1171
|
-
let scopePropertyValue = '';
|
|
1172
|
-
let moreCount = 0;
|
|
1173
|
-
let tooltipData = [];
|
|
1174
|
-
switch (name) {
|
|
1175
|
-
case LOYALTY_TYPE:
|
|
1176
|
-
scopePropertyValue = LOYALTY_TYPE_PREVIEW[loyaltyType];
|
|
1177
|
-
break;
|
|
1178
|
-
case EVENT_SOURCE:
|
|
1179
|
-
{
|
|
1180
|
-
if (isSpecificData(isSpecificEventSource)) {
|
|
1181
|
-
let eventSourceArr = [];
|
|
1182
|
-
if (eventSource.length) {
|
|
1183
|
-
eventSourceArr = eventSource;
|
|
1184
|
-
}
|
|
1185
|
-
scopePropertyValue =
|
|
1186
|
-
(eventSourceArr.length && eventSourceArr[0]) || '';
|
|
1187
|
-
|
|
1188
|
-
moreCount = eventSourceArr.length - 1;
|
|
1189
|
-
if (moreCount) {
|
|
1190
|
-
tooltipData = getTooltipData(eventSourceArr, eventSourceOptions);
|
|
1191
|
-
}
|
|
1192
|
-
} else {
|
|
1193
|
-
scopePropertyValue = ALL_MESSAGES[EVENT_SOURCE];
|
|
1194
|
-
}
|
|
1195
|
-
}
|
|
1196
|
-
break;
|
|
1197
|
-
case ZONES:
|
|
1198
|
-
{
|
|
1199
|
-
if (isSpecificData(isSpecificZone)) {
|
|
1200
|
-
let zoneIdsArr = [];
|
|
1201
|
-
if (zone?.selected?.length) {
|
|
1202
|
-
zoneIdsArr = zone.selected;
|
|
1203
|
-
}
|
|
1204
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1205
|
-
zonesFromProp,
|
|
1206
|
-
zoneIdsArr,
|
|
1207
|
-
zoneOptions,
|
|
1208
|
-
);
|
|
1209
|
-
scopePropertyValue = name;
|
|
1210
|
-
moreCount = count;
|
|
1211
|
-
tooltipData = listData;
|
|
1212
|
-
} else {
|
|
1213
|
-
scopePropertyValue = ALL_MESSAGES[ZONES];
|
|
1214
|
-
}
|
|
1215
|
-
}
|
|
1216
|
-
break;
|
|
1217
|
-
case CONCEPTS:
|
|
1218
|
-
{
|
|
1219
|
-
if (isSpecificData(isSpecificConcept)) {
|
|
1220
|
-
let conceptIdsArr = [];
|
|
1221
|
-
if (concepts?.selected?.length) {
|
|
1222
|
-
conceptIdsArr = concepts.selected;
|
|
1223
|
-
}
|
|
1224
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1225
|
-
conceptFromProp,
|
|
1226
|
-
conceptIdsArr,
|
|
1227
|
-
conceptOptions,
|
|
1228
|
-
);
|
|
1229
|
-
scopePropertyValue = name;
|
|
1230
|
-
moreCount = count;
|
|
1231
|
-
tooltipData = listData;
|
|
1232
|
-
} else {
|
|
1233
|
-
scopePropertyValue = ALL_MESSAGES[CONCEPTS];
|
|
1234
|
-
}
|
|
1235
|
-
}
|
|
1236
|
-
break;
|
|
1237
|
-
case STORES:
|
|
1238
|
-
{
|
|
1239
|
-
let storeIdArr = [];
|
|
1240
|
-
if (isSpecificData(isSpecificStore)) {
|
|
1241
|
-
if (isSpecificStore === UPLOAD_STORE_LIST) {
|
|
1242
|
-
storeIdArr = storeIdsFromFile.valid;
|
|
1243
|
-
}
|
|
1244
|
-
if (isSpecificStore === SELECT_STORE_LIST) {
|
|
1245
|
-
storeIdArr = store.selected;
|
|
1246
|
-
}
|
|
1247
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1248
|
-
storesFromProp,
|
|
1249
|
-
storeIdArr,
|
|
1250
|
-
storeOptionsMulti,
|
|
1251
|
-
);
|
|
1252
|
-
scopePropertyValue = name;
|
|
1253
|
-
moreCount = count;
|
|
1254
|
-
tooltipData = listData;
|
|
1255
|
-
} else {
|
|
1256
|
-
scopePropertyValue = ALL_MESSAGES[STORES];
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
break;
|
|
1260
|
-
case DATE_RANGE:
|
|
1261
|
-
{
|
|
1262
|
-
if (isSpecificData(isSpecificDate)) {
|
|
1263
|
-
const { startDate, endDate } = dateRange;
|
|
1264
|
-
if (
|
|
1265
|
-
startDate.dateString &&
|
|
1266
|
-
endDate.dateString &&
|
|
1267
|
-
startDate.timeString &&
|
|
1268
|
-
endDate.timeString
|
|
1269
|
-
) {
|
|
1270
|
-
let sd = startDate.dateString;
|
|
1271
|
-
let ed = endDate.dateString;
|
|
1272
|
-
let st = startDate.time;
|
|
1273
|
-
let et = endDate.time;
|
|
1274
|
-
scopePropertyValue = `${moment(sd).format(
|
|
1275
|
-
LOCALE_DATE_FORMAT,
|
|
1276
|
-
)}, ${st.format('LT')} to ${moment(ed).format(
|
|
1277
|
-
LOCALE_DATE_FORMAT,
|
|
1278
|
-
)}, ${et.format('LT')}`;
|
|
1279
|
-
}
|
|
1280
|
-
} else {
|
|
1281
|
-
scopePropertyValue = ALL_MESSAGES[DATE_RANGE];
|
|
1282
|
-
}
|
|
1283
|
-
}
|
|
1284
|
-
break;
|
|
1285
|
-
case CLUSTER: {
|
|
1286
|
-
if (isSpecificData(isSpecificCluster)) {
|
|
1287
|
-
let cluster = [];
|
|
1288
|
-
if (clusters?.selected?.length) {
|
|
1289
|
-
cluster = clusters?.selected;
|
|
1290
|
-
}
|
|
1291
|
-
scopePropertyValue = cluster;
|
|
1292
|
-
} else {
|
|
1293
|
-
scopePropertyValue = ALL_MESSAGES[CLUSTER];
|
|
1294
|
-
}
|
|
1295
|
-
break;
|
|
1296
|
-
}
|
|
1297
|
-
}
|
|
1298
|
-
|
|
1299
|
-
return { scopePropertyValue, moreCount, name, tooltipData };
|
|
1300
|
-
};
|
|
1301
|
-
const getScopePropertyValueEnhanced = scope => {
|
|
1302
|
-
const { name } = scope;
|
|
1303
|
-
let scopePropertyValue = '';
|
|
1304
|
-
let moreCount = 0;
|
|
1305
|
-
let tooltipData = [];
|
|
1306
|
-
switch (name) {
|
|
1307
|
-
case LOYALTY_TYPE:
|
|
1308
|
-
scopePropertyValue = LOYALTY_TYPE_PREVIEW[loyaltyType];
|
|
1309
|
-
break;
|
|
1310
|
-
case EVENT_SOURCE:
|
|
1311
|
-
{
|
|
1312
|
-
let eventSourceArr = [];
|
|
1313
|
-
if (isSpecificData(isSpecificEventSource)) {
|
|
1314
|
-
if (eventSource.length) {
|
|
1315
|
-
eventSourceArr = eventSource;
|
|
1316
|
-
}
|
|
1317
|
-
scopePropertyValue =
|
|
1318
|
-
(eventSourceArr.length && eventSourceArr[0]) || '';
|
|
1319
|
-
|
|
1320
|
-
moreCount = eventSourceArr.length - 1;
|
|
1321
|
-
if (moreCount) {
|
|
1322
|
-
tooltipData = getTooltipData(eventSourceArr, eventSourceOptions);
|
|
1323
|
-
}
|
|
1324
|
-
}
|
|
1325
|
-
else{
|
|
1326
|
-
// case where NO_LIMIT is selected.
|
|
1327
|
-
if (isSelectedRulesetRoot) {
|
|
1328
|
-
// parent ruleset, regular logic
|
|
1329
|
-
scopePropertyValue = ALL_MESSAGES[EVENT_SOURCE];
|
|
1330
|
-
}
|
|
1331
|
-
else{
|
|
1332
|
-
scopePropertyValue =
|
|
1333
|
-
(validEventSourcesForCurrentRuleset.length && validEventSourcesForCurrentRuleset[0]) || '';
|
|
1334
|
-
|
|
1335
|
-
moreCount = validEventSourcesForCurrentRuleset.length - 1;
|
|
1336
|
-
if (moreCount) {
|
|
1337
|
-
tooltipData = getTooltipData(validEventSourcesForCurrentRuleset, eventSourceOptions);
|
|
1338
|
-
}
|
|
1339
|
-
}
|
|
1340
|
-
}
|
|
1341
|
-
}
|
|
1342
|
-
break;
|
|
1343
|
-
case ZONES:
|
|
1344
|
-
{
|
|
1345
|
-
let zoneIdsArr = [];
|
|
1346
|
-
if (isSpecificData(isSpecificZone)) {
|
|
1347
|
-
if (zone?.selected?.length) {
|
|
1348
|
-
zoneIdsArr = zone.selected;
|
|
1349
|
-
}
|
|
1350
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1351
|
-
zonesFromProp,
|
|
1352
|
-
zoneIdsArr,
|
|
1353
|
-
zoneOptions,
|
|
1354
|
-
);
|
|
1355
|
-
scopePropertyValue = name;
|
|
1356
|
-
moreCount = count;
|
|
1357
|
-
tooltipData = listData;
|
|
1358
|
-
} else {
|
|
1359
|
-
if(isSelectedRulesetRoot){
|
|
1360
|
-
// parent ruleset, regular logic
|
|
1361
|
-
scopePropertyValue = ALL_MESSAGES[ZONES];
|
|
1362
|
-
}
|
|
1363
|
-
else{
|
|
1364
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1365
|
-
zonesFromProp,
|
|
1366
|
-
validZonesForCurrentRuleset,
|
|
1367
|
-
zoneOptions,
|
|
1368
|
-
);
|
|
1369
|
-
scopePropertyValue = name;
|
|
1370
|
-
moreCount = count;
|
|
1371
|
-
tooltipData = listData;
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
|
-
}
|
|
1375
|
-
break;
|
|
1376
|
-
case CONCEPTS:
|
|
1377
|
-
{
|
|
1378
|
-
let conceptIdsArr = [];
|
|
1379
|
-
if (isSpecificData(isSpecificConcept)) {
|
|
1380
|
-
if (concepts?.selected?.length) {
|
|
1381
|
-
conceptIdsArr = concepts.selected;
|
|
1382
|
-
}
|
|
1383
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1384
|
-
conceptFromProp,
|
|
1385
|
-
conceptIdsArr,
|
|
1386
|
-
conceptOptions,
|
|
1387
|
-
);
|
|
1388
|
-
scopePropertyValue = name;
|
|
1389
|
-
moreCount = count;
|
|
1390
|
-
tooltipData = listData;
|
|
1391
|
-
} else {
|
|
1392
|
-
if(isSelectedRulesetRoot){
|
|
1393
|
-
// parent ruleset, regular logic
|
|
1394
|
-
scopePropertyValue = ALL_MESSAGES[CONCEPTS];
|
|
1395
|
-
}
|
|
1396
|
-
else{
|
|
1397
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1398
|
-
conceptFromProp,
|
|
1399
|
-
validConceptsForCurrentRuleset,
|
|
1400
|
-
conceptOptions,
|
|
1401
|
-
);
|
|
1402
|
-
scopePropertyValue = name;
|
|
1403
|
-
moreCount = count;
|
|
1404
|
-
tooltipData = listData;
|
|
1405
|
-
}
|
|
1406
|
-
}
|
|
1407
|
-
}
|
|
1408
|
-
break;
|
|
1409
|
-
case STORES:
|
|
1410
|
-
{
|
|
1411
|
-
let storeIdArr = [];
|
|
1412
|
-
if (isSpecificData(isSpecificStore)) {
|
|
1413
|
-
if (isSpecificStore === UPLOAD_STORE_LIST) {
|
|
1414
|
-
storeIdArr = storeIdsFromFile.valid;
|
|
1415
|
-
}
|
|
1416
|
-
if (isSpecificStore === SELECT_STORE_LIST) {
|
|
1417
|
-
storeIdArr = store.selected;
|
|
1418
|
-
}
|
|
1419
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1420
|
-
storesFromProp,
|
|
1421
|
-
storeIdArr,
|
|
1422
|
-
storeOptionsMulti,
|
|
1423
|
-
);
|
|
1424
|
-
scopePropertyValue = name;
|
|
1425
|
-
moreCount = count;
|
|
1426
|
-
tooltipData = listData;
|
|
1427
|
-
} else {
|
|
1428
|
-
if(isSelectedRulesetRoot){
|
|
1429
|
-
// all options selected case for root ruleset
|
|
1430
|
-
scopePropertyValue = ALL_MESSAGES[STORES];
|
|
1431
|
-
}
|
|
1432
|
-
else{
|
|
1433
|
-
const { name, count, listData } = getMultiSelectPreview(
|
|
1434
|
-
storesFromProp,
|
|
1435
|
-
validStoresForCurrentRuleset,
|
|
1436
|
-
storeOptionsMulti,
|
|
1437
|
-
);
|
|
1438
|
-
scopePropertyValue = name;
|
|
1439
|
-
moreCount = count;
|
|
1440
|
-
tooltipData = listData;
|
|
1441
|
-
}
|
|
1442
|
-
}
|
|
1443
|
-
}
|
|
1444
|
-
break;
|
|
1445
|
-
case DATE_RANGE:
|
|
1446
|
-
{
|
|
1447
|
-
if (isSpecificData(isSpecificDate)) {
|
|
1448
|
-
const { startDate, endDate } = dateRange;
|
|
1449
|
-
if (
|
|
1450
|
-
startDate.dateString &&
|
|
1451
|
-
endDate.dateString &&
|
|
1452
|
-
startDate.timeString &&
|
|
1453
|
-
endDate.timeString
|
|
1454
|
-
) {
|
|
1455
|
-
let sd = startDate.dateString;
|
|
1456
|
-
let ed = endDate.dateString;
|
|
1457
|
-
let st = startDate.time;
|
|
1458
|
-
let et = endDate.time;
|
|
1459
|
-
scopePropertyValue = `${moment(sd).format(
|
|
1460
|
-
LOCALE_DATE_FORMAT,
|
|
1461
|
-
)}, ${st.format('LT')} to ${moment(ed).format(
|
|
1462
|
-
LOCALE_DATE_FORMAT,
|
|
1463
|
-
)}, ${et.format('LT')}`;
|
|
1464
|
-
}
|
|
1465
|
-
} else {
|
|
1466
|
-
scopePropertyValue = ALL_MESSAGES[DATE_RANGE];
|
|
1467
|
-
}
|
|
1468
|
-
}
|
|
1469
|
-
break;
|
|
1470
|
-
case CLUSTER: {
|
|
1471
|
-
if (isSpecificData(isSpecificCluster)) {
|
|
1472
|
-
let cluster = [];
|
|
1473
|
-
if (clusters?.selected?.length) {
|
|
1474
|
-
cluster = clusters?.selected;
|
|
1475
|
-
}
|
|
1476
|
-
scopePropertyValue = cluster;
|
|
1477
|
-
} else {
|
|
1478
|
-
if(isSelectedRulesetRoot || validPrimaryClustersForCurrentRuleset.length > 1){
|
|
1479
|
-
// parent ruleset, regular logic
|
|
1480
|
-
scopePropertyValue = ALL_MESSAGES[CLUSTER];
|
|
1481
|
-
}
|
|
1482
|
-
else{
|
|
1483
|
-
// non root ruleset with all clusters from parent radio button selected
|
|
1484
|
-
|
|
1485
|
-
scopePropertyValue = validPrimaryClustersForCurrentRuleset[0];
|
|
1486
|
-
|
|
1487
|
-
}
|
|
1488
|
-
|
|
1489
|
-
}
|
|
1490
|
-
break;
|
|
1491
|
-
}
|
|
1492
|
-
}
|
|
1493
|
-
|
|
1494
|
-
return { scopePropertyValue, moreCount, name, tooltipData };
|
|
1495
|
-
};
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
const handleSecondaryClusterChange = (selectedSecondaryClusters) => {
|
|
1499
|
-
setClusterValues(selectedSecondaryClusters);
|
|
1500
|
-
}
|
|
1501
|
-
|
|
1502
402
|
const loyaltyTypeProps = {
|
|
1503
403
|
key: LOYALTY_TYPE,
|
|
1504
|
-
|
|
1505
|
-
disabled,
|
|
1506
|
-
isScope: true,
|
|
1507
|
-
isScopeConfigured: false,
|
|
1508
|
-
scopeIcon: ICON[LOYALTY_TYPE],
|
|
1509
|
-
isSvg: true,
|
|
1510
|
-
scopeDescription: (
|
|
1511
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: LOYALTY_TYPE })} /> : <ScopeDescription {...getScopePropertyValue({ name: LOYALTY_TYPE })} />
|
|
1512
|
-
),
|
|
1513
|
-
},
|
|
1514
|
-
title: <ScopeHeader name={LOYALTY_TYPE} />,
|
|
404
|
+
title: formatMessage(globalMessages[LOYALTY_TYPE]),
|
|
1515
405
|
isOpen: currentTab === LOYALTY_TYPE,
|
|
1516
406
|
changeOpen: changeTabToLoyaltyType,
|
|
407
|
+
deleteAction: removeLoyaltyType,
|
|
1517
408
|
radioGroup: {
|
|
1518
409
|
value: loyaltyType,
|
|
1519
410
|
onChange: changeLoyaltyType,
|
|
1520
|
-
defaultValue:
|
|
1521
|
-
className: 'scope-radio-group',
|
|
411
|
+
defaultValue: LOYALTY_USER,
|
|
1522
412
|
},
|
|
1523
413
|
radios: [
|
|
1524
|
-
{
|
|
1525
|
-
value: ALL_USERS,
|
|
1526
|
-
message: formatMessage(messages.allUsers),
|
|
1527
|
-
disabledData: hasLoyaltyUXEnhancementsEnabled ? loyaltyTypeDisabilityInfo[ALL_USERS]: {disabled: false, tooltipText: '' },
|
|
1528
|
-
},
|
|
1529
414
|
{
|
|
1530
415
|
value: LOYALTY_USER,
|
|
1531
416
|
message: formatMessage(messages.loyaltyUser),
|
|
1532
|
-
disabledData: hasLoyaltyUXEnhancementsEnabled ? loyaltyTypeDisabilityInfo[LOYALTY_USER] : { disabled: false, tooltipText: ''},
|
|
1533
417
|
},
|
|
1534
418
|
{
|
|
1535
419
|
value: NON_LOYALTY_USER,
|
|
1536
420
|
message: formatMessage(messages.nonLoyaltyUser),
|
|
1537
|
-
disabledData: hasLoyaltyUXEnhancementsEnabled ? loyaltyTypeDisabilityInfo[NON_LOYALTY_USER] : {disabled: false, tooltipText: ''},
|
|
1538
421
|
},
|
|
1539
422
|
],
|
|
1540
423
|
};
|
|
1541
424
|
|
|
1542
425
|
const dateRangeProps = {
|
|
1543
426
|
key: DATE_RANGE,
|
|
1544
|
-
|
|
1545
|
-
disabled,
|
|
1546
|
-
isScope: true,
|
|
1547
|
-
isScopeConfigured: false,
|
|
1548
|
-
scopeIcon: ICON[DATE_RANGE],
|
|
1549
|
-
scopeDescription: (
|
|
1550
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: DATE_RANGE })} /> : <ScopeDescription {...getScopePropertyValue({ name: DATE_RANGE })} />
|
|
1551
|
-
),
|
|
1552
|
-
scopeSpecifier: {
|
|
1553
|
-
radioGroup: {
|
|
1554
|
-
value: isSpecificDate,
|
|
1555
|
-
onChange: toggleIsSpecificLimit,
|
|
1556
|
-
defaultValue: NO_LIMIT,
|
|
1557
|
-
className: 'scope-radio-group scope-specifier-radio',
|
|
1558
|
-
name: DATE_RANGE,
|
|
1559
|
-
},
|
|
1560
|
-
radios: [
|
|
1561
|
-
{
|
|
1562
|
-
value: NO_LIMIT,
|
|
1563
|
-
message: ALL_MESSAGES[DATE_RANGE],
|
|
1564
|
-
},
|
|
1565
|
-
{
|
|
1566
|
-
value: SPECIFIC_LIMIT,
|
|
1567
|
-
message: SPECIFER_MESSAGES[DATE_RANGE],
|
|
1568
|
-
},
|
|
1569
|
-
],
|
|
1570
|
-
},
|
|
1571
|
-
},
|
|
1572
|
-
title: <ScopeHeader name={DATE_RANGE} />,
|
|
1573
|
-
selectDate: formatMessage(globalMessages.selectDate),
|
|
1574
|
-
selectTime: formatMessage(globalMessages.selectTime),
|
|
427
|
+
title: formatMessage(globalMessages[DATE_RANGE]),
|
|
1575
428
|
isOpen: currentTab === DATE_RANGE,
|
|
1576
429
|
changeOpen: changeTabToDateRange,
|
|
1577
|
-
|
|
1578
|
-
isSwitchChecked: isDateRangeIncluded,
|
|
1579
|
-
onSwitchChange: toggleDateRangeIncluded,
|
|
1580
|
-
label: formatMessage(globalMessages.exclude),
|
|
1581
|
-
isDivider: false,
|
|
1582
|
-
className: 'margin-b-15 scope-switch',
|
|
1583
|
-
parentClassName: 'switch-container',
|
|
1584
|
-
name: 'date-range-switch',
|
|
1585
|
-
suffix: formatMessage(globalMessages.include),
|
|
1586
|
-
},
|
|
430
|
+
deleteAction: removeDateRange,
|
|
1587
431
|
dateTimePicker: [
|
|
1588
432
|
{
|
|
1589
433
|
dateValue: dateRange?.startDate?.date,
|
|
@@ -1602,334 +446,121 @@ export const ScopeSlidebox = ({
|
|
|
1602
446
|
],
|
|
1603
447
|
};
|
|
1604
448
|
|
|
1605
|
-
|
|
1606
449
|
const conceptsProps = {
|
|
1607
450
|
key: CONCEPTS,
|
|
1608
|
-
|
|
1609
|
-
disabled,
|
|
1610
|
-
isScope: true,
|
|
1611
|
-
isScopeConfigured: false,
|
|
1612
|
-
scopeIcon: ICON[CONCEPTS],
|
|
1613
|
-
scopeDescription: (
|
|
1614
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: CONCEPTS })} /> : <ScopeDescription {...getScopePropertyValue({ name: CONCEPTS })} />
|
|
1615
|
-
),
|
|
1616
|
-
isParentRuleset: isSelectedRulesetRoot,
|
|
1617
|
-
scopeSpecifier: {
|
|
1618
|
-
radioGroup: {
|
|
1619
|
-
value: isSpecificConcept,
|
|
1620
|
-
onChange: toggleIsSpecificLimit,
|
|
1621
|
-
defaultValue: NO_LIMIT,
|
|
1622
|
-
className: 'scope-radio-group scope-specifier-radio',
|
|
1623
|
-
name: CONCEPTS,
|
|
1624
|
-
},
|
|
1625
|
-
radios: [
|
|
1626
|
-
{
|
|
1627
|
-
value: NO_LIMIT,
|
|
1628
|
-
message: ALL_MESSAGES[CONCEPTS],
|
|
1629
|
-
},
|
|
1630
|
-
{
|
|
1631
|
-
value: SPECIFIC_LIMIT,
|
|
1632
|
-
message: SPECIFER_MESSAGES[CONCEPTS],
|
|
1633
|
-
},
|
|
1634
|
-
],
|
|
1635
|
-
},
|
|
1636
|
-
},
|
|
1637
|
-
title: <ScopeHeader name={CONCEPTS} />,
|
|
451
|
+
title: formatMessage(globalMessages[CONCEPTS]),
|
|
1638
452
|
isOpen: currentTab === CONCEPTS,
|
|
1639
453
|
changeOpen: changeTabToConcepts,
|
|
454
|
+
deleteAction: removeConcepts,
|
|
1640
455
|
switchProps: {
|
|
1641
456
|
isSwitchChecked: concepts?.isIncluded,
|
|
1642
457
|
onSwitchChange: toggleConceptIncluded,
|
|
1643
|
-
label: formatMessage(globalMessages.
|
|
458
|
+
label: formatMessage(globalMessages.include),
|
|
1644
459
|
isDivider: false,
|
|
1645
|
-
name: 'concepts-switch',
|
|
1646
|
-
className: 'margin-b-15 scope-switch',
|
|
1647
|
-
parentClassName: 'switch-container',
|
|
1648
|
-
suffix: formatMessage(globalMessages.include),
|
|
1649
460
|
},
|
|
1650
461
|
selectOptions: {
|
|
1651
|
-
options:
|
|
462
|
+
options: conceptOptions,
|
|
1652
463
|
value: concepts?.selected,
|
|
1653
|
-
onChange:
|
|
464
|
+
onChange: addConcepts,
|
|
1654
465
|
placeholder: formatMessage(messages.concept),
|
|
1655
466
|
searchPlaceholder: formatMessage(globalMessages.search),
|
|
1656
467
|
closeText: formatMessage(globalMessages.close),
|
|
1657
468
|
selectText: formatMessage(globalMessages.select),
|
|
1658
|
-
selectedText:formatMessage(globalMessages.selected),
|
|
1659
|
-
selectAllText:formatMessage(globalMessages.selectAll),
|
|
1660
|
-
noResultsFoundText:formatMessage(globalMessages.noResultsFound),
|
|
1661
|
-
searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'label',
|
|
1662
|
-
triggerClassName: 'concept-trigger',
|
|
1663
|
-
},
|
|
1664
|
-
hasLoyaltyUXEnhancementsEnabled,
|
|
1665
|
-
rootModalProps: {
|
|
1666
|
-
rootModalData: rootConceptModalData,
|
|
1667
|
-
setModalData: setRootConceptModalData,
|
|
1668
|
-
setDropdownData: addConcepts,
|
|
1669
|
-
rootOptionValue: conceptRootValue?.toString(),
|
|
1670
|
-
triggerRef: document.querySelector(
|
|
1671
|
-
'.concept-trigger .cap-multi-select-v2-selection',
|
|
1672
|
-
),
|
|
1673
|
-
//TODO: figure out why .click() is not working here
|
|
1674
469
|
},
|
|
1675
470
|
};
|
|
1676
471
|
|
|
1677
472
|
const zoneProps = {
|
|
1678
473
|
key: ZONES,
|
|
1679
|
-
title:
|
|
474
|
+
title: formatMessage(globalMessages[ZONES]),
|
|
1680
475
|
isOpen: currentTab === ZONES,
|
|
1681
476
|
changeOpen: changeTabToZone,
|
|
1682
|
-
|
|
1683
|
-
disabled,
|
|
1684
|
-
isScope: true,
|
|
1685
|
-
isScopeConfigured: false,
|
|
1686
|
-
scopeIcon: ICON[ZONES],
|
|
1687
|
-
isSvg: true,
|
|
1688
|
-
scopeDescription: (
|
|
1689
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: ZONES })} /> : <ScopeDescription {...getScopePropertyValue({ name: ZONES })} />
|
|
1690
|
-
),
|
|
1691
|
-
isParentRuleset: isSelectedRulesetRoot,
|
|
1692
|
-
scopeSpecifier: {
|
|
1693
|
-
radioGroup: {
|
|
1694
|
-
value: isSpecificZone,
|
|
1695
|
-
onChange: toggleIsSpecificLimit,
|
|
1696
|
-
defaultValue: NO_LIMIT,
|
|
1697
|
-
className: 'scope-radio-group scope-specifier-radio',
|
|
1698
|
-
name: ZONES,
|
|
1699
|
-
},
|
|
1700
|
-
radios: [
|
|
1701
|
-
{
|
|
1702
|
-
value: NO_LIMIT,
|
|
1703
|
-
message: ALL_MESSAGES[ZONES],
|
|
1704
|
-
},
|
|
1705
|
-
{
|
|
1706
|
-
value: SPECIFIC_LIMIT,
|
|
1707
|
-
message: SPECIFER_MESSAGES[ZONES],
|
|
1708
|
-
},
|
|
1709
|
-
],
|
|
1710
|
-
},
|
|
1711
|
-
},
|
|
477
|
+
deleteAction: removeZone,
|
|
1712
478
|
switchProps: {
|
|
1713
479
|
isSwitchChecked: zone?.isIncluded,
|
|
1714
480
|
onSwitchChange: toggleZoneIncluded,
|
|
1715
|
-
label: formatMessage(globalMessages.
|
|
481
|
+
label: formatMessage(globalMessages.include),
|
|
1716
482
|
isDivider: false,
|
|
1717
|
-
name: 'zone-switch',
|
|
1718
|
-
className: 'margin-b-15 scope-switch',
|
|
1719
|
-
parentClassName: 'switch-container',
|
|
1720
|
-
suffix: formatMessage(globalMessages.include),
|
|
1721
483
|
},
|
|
1722
484
|
selectOptions: {
|
|
1723
|
-
options:
|
|
485
|
+
options: zoneOptions,
|
|
1724
486
|
value: zone?.selected,
|
|
1725
|
-
onChange:
|
|
487
|
+
onChange: addZones,
|
|
1726
488
|
placeholder: formatMessage(messages.zone),
|
|
1727
489
|
searchPlaceholder: formatMessage(globalMessages.search),
|
|
1728
490
|
closeText: formatMessage(globalMessages.close),
|
|
1729
491
|
selectText: formatMessage(globalMessages.select),
|
|
1730
|
-
selectedText:formatMessage(globalMessages.selected),
|
|
1731
|
-
selectAllText:formatMessage(globalMessages.selectAll),
|
|
1732
|
-
noResultsFoundText:formatMessage(globalMessages.noResultsFound),
|
|
1733
|
-
searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'label',
|
|
1734
|
-
triggerClassName: 'zone-trigger',
|
|
1735
|
-
},
|
|
1736
|
-
hasLoyaltyUXEnhancementsEnabled,
|
|
1737
|
-
rootModalProps: {
|
|
1738
|
-
rootModalData: rootZoneModalData,
|
|
1739
|
-
setModalData: setRootZoneModalData,
|
|
1740
|
-
setDropdownData: addZones,
|
|
1741
|
-
rootOptionValue: zoneRootValue?.toString(),
|
|
1742
|
-
triggerRef: document.querySelector(
|
|
1743
|
-
'.zone-trigger .cap-multi-select-v2-selection',
|
|
1744
|
-
),
|
|
1745
492
|
},
|
|
1746
493
|
};
|
|
1747
494
|
|
|
1748
495
|
const eventSourceProps = {
|
|
1749
496
|
key: EVENT_SOURCE,
|
|
1750
|
-
|
|
1751
|
-
disabled,
|
|
1752
|
-
isScope: true,
|
|
1753
|
-
isScopeConfigured: false,
|
|
1754
|
-
scopeIcon: ICON[EVENT_SOURCE],
|
|
1755
|
-
scopeDescription: (
|
|
1756
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: EVENT_SOURCE })} /> : <ScopeDescription {...getScopePropertyValue({ name: EVENT_SOURCE })} />
|
|
1757
|
-
),
|
|
1758
|
-
isParentRuleset: isSelectedRulesetRoot,
|
|
1759
|
-
scopeSpecifier: {
|
|
1760
|
-
radioGroup: {
|
|
1761
|
-
value: isSpecificEventSource,
|
|
1762
|
-
onChange: toggleIsSpecificLimit,
|
|
1763
|
-
defaultValue: NO_LIMIT,
|
|
1764
|
-
className: 'scope-radio-group scope-specifier-radio',
|
|
1765
|
-
name: EVENT_SOURCE,
|
|
1766
|
-
},
|
|
1767
|
-
radios: [
|
|
1768
|
-
{
|
|
1769
|
-
value: NO_LIMIT,
|
|
1770
|
-
message: ALL_MESSAGES[EVENT_SOURCE],
|
|
1771
|
-
},
|
|
1772
|
-
{
|
|
1773
|
-
value: SPECIFIC_LIMIT,
|
|
1774
|
-
message: SPECIFER_MESSAGES[EVENT_SOURCE],
|
|
1775
|
-
},
|
|
1776
|
-
],
|
|
1777
|
-
},
|
|
1778
|
-
},
|
|
1779
|
-
title: <ScopeHeader name={EVENT_SOURCE} />,
|
|
497
|
+
title: formatMessage(globalMessages[EVENT_SOURCE]),
|
|
1780
498
|
isOpen: currentTab === EVENT_SOURCE,
|
|
1781
499
|
changeOpen: changeTabToEventSource,
|
|
500
|
+
deleteAction: removeEventSource,
|
|
1782
501
|
selectOptions: {
|
|
1783
|
-
options:
|
|
502
|
+
options: eventSourceOptions,
|
|
1784
503
|
value: eventSource,
|
|
1785
504
|
onChange: changeEventSource,
|
|
1786
|
-
placeholder: formatMessage(
|
|
505
|
+
placeholder: formatMessage(messages.eventSource),
|
|
1787
506
|
searchPlaceholder: formatMessage(globalMessages.search),
|
|
1788
507
|
closeText: formatMessage(globalMessages.close),
|
|
1789
508
|
selectText: formatMessage(globalMessages.select),
|
|
1790
|
-
selectedText:formatMessage(globalMessages.selected),
|
|
1791
|
-
selectAllText:formatMessage(globalMessages.selectAll),
|
|
1792
|
-
noResultsFoundText:formatMessage(globalMessages.noResultsFound),
|
|
1793
|
-
searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'title',
|
|
1794
509
|
},
|
|
1795
510
|
};
|
|
1796
511
|
|
|
1797
512
|
const clusterProps = {
|
|
1798
513
|
key: CLUSTER,
|
|
1799
|
-
|
|
1800
|
-
disabled,
|
|
1801
|
-
isScope: true,
|
|
1802
|
-
isScopeConfigured: false,
|
|
1803
|
-
scopeIcon: ICON[CLUSTER],
|
|
1804
|
-
isSvg: true,
|
|
1805
|
-
scopeDescription: (
|
|
1806
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: CLUSTER })} /> : <ScopeDescription {...getScopePropertyValue({ name: CLUSTER })} />
|
|
1807
|
-
),
|
|
1808
|
-
scopeSpecifier: {
|
|
1809
|
-
radioGroup: {
|
|
1810
|
-
value: isSpecificCluster,
|
|
1811
|
-
onChange: toggleIsSpecificLimit,
|
|
1812
|
-
defaultValue: NO_LIMIT,
|
|
1813
|
-
className: 'scope-radio-group scope-specifier-radio',
|
|
1814
|
-
name: CLUSTER,
|
|
1815
|
-
},
|
|
1816
|
-
radios: [
|
|
1817
|
-
{
|
|
1818
|
-
value: NO_LIMIT,
|
|
1819
|
-
message: ALL_MESSAGES[CLUSTER],
|
|
1820
|
-
},
|
|
1821
|
-
{
|
|
1822
|
-
value: SPECIFIC_LIMIT,
|
|
1823
|
-
message: SPECIFER_MESSAGES[CLUSTER],
|
|
1824
|
-
},
|
|
1825
|
-
],
|
|
1826
|
-
},
|
|
1827
|
-
},
|
|
1828
|
-
title: <ScopeHeader name={CLUSTER} />,
|
|
514
|
+
title: formatMessage(globalMessages.cluster),
|
|
1829
515
|
isOpen: currentTab === CLUSTER,
|
|
1830
516
|
changeOpen: changeTabToCluster,
|
|
517
|
+
deleteAction: removeCluster,
|
|
1831
518
|
switchProps: {
|
|
1832
519
|
isSwitchChecked: clusters?.isIncluded,
|
|
1833
520
|
onSwitchChange: toggleClusterIsIncluded,
|
|
1834
|
-
label: formatMessage(globalMessages.
|
|
521
|
+
label: formatMessage(globalMessages.include),
|
|
1835
522
|
isDivider: false,
|
|
1836
|
-
name: 'cluster-switch',
|
|
1837
|
-
className: 'margin-b-15 scope-switch',
|
|
1838
|
-
parentClassName: 'switch-container',
|
|
1839
|
-
suffix: formatMessage(globalMessages.include),
|
|
1840
523
|
},
|
|
1841
524
|
primraySelectOptions: {
|
|
1842
|
-
options:
|
|
1843
|
-
value: clusters?.selected
|
|
525
|
+
options: clusterOptions,
|
|
526
|
+
value: clusters?.selected,
|
|
1844
527
|
onChange: changeClusterSelected,
|
|
1845
528
|
placeholder: formatMessage(messages.clusterName),
|
|
1846
529
|
},
|
|
1847
530
|
seconodarySelectOptions: {
|
|
1848
|
-
options:
|
|
531
|
+
options: clusterValueOptions,
|
|
1849
532
|
value: clusterValues,
|
|
1850
|
-
onChange:
|
|
533
|
+
onChange: setClusterValues,
|
|
1851
534
|
placeholder: formatMessage(messages.clusterValue),
|
|
1852
|
-
noResultsFoundText: formatMessage(globalMessages.noResultsFound),
|
|
1853
|
-
searchPlaceholder:formatMessage(globalMessages.search),
|
|
1854
|
-
searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'title',
|
|
1855
535
|
},
|
|
1856
|
-
hasLoyaltyUXEnhancementsEnabled,
|
|
1857
536
|
};
|
|
1858
537
|
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
additionalCollapseProps: {
|
|
1862
|
-
disabled,
|
|
1863
|
-
isScope: true,
|
|
1864
|
-
isScopeConfigured: false,
|
|
1865
|
-
scopeIcon: ICON[STORES],
|
|
1866
|
-
scopeDescription:
|
|
1867
|
-
hasLoyaltyUXEnhancementsEnabled ? <ScopeDescription {...getScopePropertyValueEnhanced({ name: STORES })} /> : <ScopeDescription {...getScopePropertyValue({ name: STORES })} />
|
|
1868
|
-
,
|
|
1869
|
-
isParentRuleset: isSelectedRulesetRoot,
|
|
1870
|
-
scopeSpecifier: {
|
|
1871
|
-
radioGroup: {
|
|
1872
|
-
value: isSpecificStore,
|
|
1873
|
-
onChange: toggleIsSpecificLimit,
|
|
1874
|
-
defaultValue: NO_LIMIT,
|
|
1875
|
-
className: 'scope-radio-group scope-specifier-radio',
|
|
1876
|
-
name: STORES,
|
|
1877
|
-
},
|
|
1878
|
-
radios: [
|
|
1879
|
-
{
|
|
1880
|
-
value: NO_LIMIT,
|
|
1881
|
-
message: ALL_MESSAGES[STORES],
|
|
1882
|
-
},
|
|
1883
|
-
{
|
|
1884
|
-
value: SELECT_STORE_LIST,
|
|
1885
|
-
message: STORE_PREVIEW_MESSAGES[SELECT_STORE_LIST],
|
|
1886
|
-
},
|
|
1887
|
-
{
|
|
1888
|
-
value: UPLOAD_STORE_LIST,
|
|
1889
|
-
message: STORE_PREVIEW_MESSAGES[UPLOAD_STORE_LIST],
|
|
1890
|
-
},
|
|
1891
|
-
],
|
|
1892
|
-
},
|
|
1893
|
-
},
|
|
1894
|
-
title: <ScopeHeader name={STORES} />,
|
|
538
|
+
const storeProps = {
|
|
539
|
+
title: formatMessage(globalMessages[STORES]),
|
|
1895
540
|
isOpen: currentTab === STORES,
|
|
1896
541
|
changeOpen: changeTabToStore,
|
|
1897
|
-
|
|
542
|
+
deleteAction: removeStore,
|
|
1898
543
|
switchProps: {
|
|
1899
544
|
isSwitchChecked: store?.isIncluded,
|
|
1900
545
|
onSwitchChange: changeStoreIncluded,
|
|
1901
|
-
label: formatMessage(globalMessages.
|
|
546
|
+
label: formatMessage(globalMessages.include),
|
|
1902
547
|
isDivider: false,
|
|
1903
|
-
className: 'margin-b-15 scope-switch',
|
|
1904
|
-
parentClassName: 'switch-container',
|
|
1905
|
-
name: 'stores',
|
|
1906
|
-
suffix: formatMessage(globalMessages.include),
|
|
1907
548
|
},
|
|
1908
549
|
csvHeading: formatMessage(messages.storeCodeCsv),
|
|
1909
550
|
fileSelector: {
|
|
1910
551
|
onChange: changeFileInStore,
|
|
1911
552
|
fileList: store?.file,
|
|
1912
|
-
fileType: '.csv',
|
|
1913
|
-
fileTypeLabel: 'CSV',
|
|
1914
|
-
storeIds: storeIdsFromFile,
|
|
1915
|
-
storePreview: getScopePropertyValue({ name: STORES }),
|
|
1916
553
|
},
|
|
1917
554
|
secondaryHeading: formatMessage(globalMessages.or).toUpperCase(),
|
|
1918
555
|
selectOptions: {
|
|
1919
|
-
options:
|
|
556
|
+
options: storeOptionsMulti,
|
|
1920
557
|
value: store?.selected,
|
|
1921
558
|
onChange: changeStoreSelect,
|
|
1922
559
|
placeholder: formatMessage(messages.store),
|
|
1923
560
|
searchPlaceholder: formatMessage(globalMessages.search),
|
|
1924
561
|
closeText: formatMessage(globalMessages.close),
|
|
1925
562
|
selectText: formatMessage(globalMessages.select),
|
|
1926
|
-
selectedText:formatMessage(globalMessages.selected),
|
|
1927
|
-
noResultsFoundText:formatMessage(globalMessages.noResultsFound),
|
|
1928
|
-
selectAllText:formatMessage(globalMessages.selectAll),
|
|
1929
|
-
searchKey: hasLoyaltyUXEnhancementsEnabled ? 'searchText' : 'title',
|
|
1930
563
|
},
|
|
1931
|
-
hasLoyaltyUXEnhancementsEnabled,
|
|
1932
|
-
isSelectedRulesetRoot,
|
|
1933
564
|
};
|
|
1934
565
|
|
|
1935
566
|
const getElementLayout = key => {
|
|
@@ -1960,17 +591,20 @@ export const ScopeSlidebox = ({
|
|
|
1960
591
|
case CLUSTER: {
|
|
1961
592
|
return <CollapseWithMultiSelect {...clusterProps} />;
|
|
1962
593
|
}
|
|
594
|
+
default:
|
|
595
|
+
return null;
|
|
1963
596
|
}
|
|
1964
597
|
};
|
|
1965
598
|
|
|
1966
|
-
const
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
599
|
+
const arrayOrder = (item1, item2) =>
|
|
600
|
+
SCOPE_AGGREGATE_ELEMENTS.indexOf(item1) -
|
|
601
|
+
SCOPE_AGGREGATE_ELEMENTS.indexOf(item2);
|
|
602
|
+
|
|
603
|
+
const addScope = id => {
|
|
604
|
+
if (id ) {
|
|
605
|
+
setContentAdded([...contentAdded, id].sort(arrayOrder));
|
|
606
|
+
setCurrentTab(id);
|
|
607
|
+
}
|
|
1974
608
|
};
|
|
1975
609
|
|
|
1976
610
|
const getScopingObject = type => {
|
|
@@ -1990,29 +624,22 @@ export const ScopeSlidebox = ({
|
|
|
1990
624
|
scopeObject.scopingType = EVENT_SOURCE;
|
|
1991
625
|
return scopeObject;
|
|
1992
626
|
case ZONES:
|
|
1993
|
-
scopeObject.scopeMode =
|
|
627
|
+
scopeObject.scopeMode = zone.isIncluded;
|
|
1994
628
|
scopeObject.propertyValues = { zones: zone.selected };
|
|
1995
629
|
scopeObject.scopingType = ZONES;
|
|
1996
630
|
return scopeObject;
|
|
1997
631
|
case CONCEPTS:
|
|
1998
|
-
scopeObject.scopeMode =
|
|
632
|
+
scopeObject.scopeMode = concepts.isIncluded;
|
|
1999
633
|
scopeObject.propertyValues = { concepts: concepts.selected };
|
|
2000
634
|
scopeObject.scopingType = CONCEPTS;
|
|
2001
635
|
return scopeObject;
|
|
2002
636
|
case STORES:
|
|
2003
|
-
scopeObject.scopeMode =
|
|
2004
|
-
scopeObject.propertyValues = {
|
|
2005
|
-
stores:
|
|
2006
|
-
isSpecificStore === UPLOAD_STORE_LIST
|
|
2007
|
-
? storeIdsFromFile.valid
|
|
2008
|
-
: isSpecificStore === SELECT_STORE_LIST
|
|
2009
|
-
? store.selected
|
|
2010
|
-
: [],
|
|
2011
|
-
};
|
|
637
|
+
scopeObject.scopeMode = store.isIncluded;
|
|
638
|
+
scopeObject.propertyValues = { stores: store.selected };
|
|
2012
639
|
scopeObject.scopingType = STORES;
|
|
2013
640
|
return scopeObject;
|
|
2014
641
|
case DATE_RANGE:
|
|
2015
|
-
scopeObject.scopeMode =
|
|
642
|
+
scopeObject.scopeMode = true;
|
|
2016
643
|
scopeObject.propertyValues = {
|
|
2017
644
|
startDate: `${dateRange.startDate.dateString || ''} ${dateRange
|
|
2018
645
|
.startDate.timeString || ''}`,
|
|
@@ -2038,8 +665,7 @@ export const ScopeSlidebox = ({
|
|
|
2038
665
|
},
|
|
2039
666
|
[],
|
|
2040
667
|
);
|
|
2041
|
-
|
|
2042
|
-
scopeObject.scopeMode = hasLoyaltyUXEnhancementsEnabled? true: clusters.isIncluded;
|
|
668
|
+
scopeObject.scopeMode = clusters.isIncluded;
|
|
2043
669
|
scopeObject.propertyValues = {
|
|
2044
670
|
clusterName: clusters.selected,
|
|
2045
671
|
clusterValues,
|
|
@@ -2055,97 +681,15 @@ export const ScopeSlidebox = ({
|
|
|
2055
681
|
return scopeObject;
|
|
2056
682
|
}
|
|
2057
683
|
};
|
|
2058
|
-
|
|
2059
|
-
const getScopingObjectForAllSelectionsFromParents = type => {
|
|
2060
|
-
const scopeObject = {
|
|
2061
|
-
scopeId: -1,
|
|
2062
|
-
propertyValues: {},
|
|
2063
|
-
};
|
|
2064
|
-
|
|
2065
|
-
switch (type) {
|
|
2066
|
-
case STORES:
|
|
2067
|
-
scopeObject.scopeMode = true;
|
|
2068
|
-
scopeObject.propertyValues = {
|
|
2069
|
-
stores: validStoresForCurrentRuleset,
|
|
2070
|
-
};
|
|
2071
|
-
scopeObject.scopingType = STORES;
|
|
2072
|
-
return scopeObject;
|
|
2073
|
-
|
|
2074
|
-
case ZONES:
|
|
2075
|
-
scopeObject.scopeMode = true;
|
|
2076
|
-
scopeObject.propertyValues = {
|
|
2077
|
-
zones: validZonesForCurrentRuleset,
|
|
2078
|
-
};
|
|
2079
|
-
scopeObject.scopingType = ZONES;
|
|
2080
|
-
return scopeObject;
|
|
2081
|
-
|
|
2082
|
-
case CONCEPTS:
|
|
2083
|
-
scopeObject.scopeMode = true;
|
|
2084
|
-
scopeObject.propertyValues = {
|
|
2085
|
-
concepts: validConceptsForCurrentRuleset
|
|
2086
|
-
};
|
|
2087
|
-
scopeObject.scopingType = CONCEPTS;
|
|
2088
|
-
return scopeObject;
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
case EVENT_SOURCE:
|
|
2092
|
-
scopeObject.scopeMode = true;
|
|
2093
|
-
scopeObject.propertyValues = {
|
|
2094
|
-
eventSource: validEventSourcesForCurrentRuleset
|
|
2095
|
-
};
|
|
2096
|
-
scopeObject.scopingType = EVENT_SOURCE;
|
|
2097
|
-
return scopeObject;
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
case CLUSTER:
|
|
2101
|
-
let selectedCluster;
|
|
2102
|
-
|
|
2103
|
-
if(validPrimaryClustersForCurrentRuleset.length === 0){
|
|
2104
|
-
selectedCluster = null;
|
|
2105
|
-
}
|
|
2106
|
-
else if(validPrimaryClustersForCurrentRuleset.length === 1){
|
|
2107
|
-
selectedCluster = validPrimaryClustersForCurrentRuleset[0];
|
|
2108
|
-
}
|
|
2109
|
-
|
|
2110
|
-
scopeObject.scopeMode = true;
|
|
2111
|
-
|
|
2112
|
-
scopeObject.propertyValues = {
|
|
2113
|
-
clusterName: selectedCluster,
|
|
2114
|
-
clusterNameStr: selectedCluster,
|
|
2115
|
-
clusterValues: validSecondaryClustersForCurrentRuleset,
|
|
2116
|
-
clusterValuesStr: validSecondaryClustersForCurrentRuleset,
|
|
2117
|
-
};
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
scopeObject.scopingType = CLUSTER;
|
|
2121
|
-
|
|
2122
|
-
return scopeObject;
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
default:
|
|
2127
|
-
return scopeObject;
|
|
2128
|
-
}
|
|
2129
|
-
};
|
|
2130
|
-
|
|
2131
684
|
const validateStoreIds = ids => {
|
|
2132
685
|
const originalStoreIds = {};
|
|
2133
|
-
storesFromProp.forEach(({
|
|
2134
|
-
originalStoreIds[
|
|
2135
|
-
});
|
|
2136
|
-
const invalid = [];
|
|
2137
|
-
const valid = [];
|
|
2138
|
-
ids.forEach(id => {
|
|
2139
|
-
if (originalStoreIds[id]) {
|
|
2140
|
-
valid.push(id);
|
|
2141
|
-
return;
|
|
2142
|
-
}
|
|
2143
|
-
invalid.push(id);
|
|
686
|
+
storesFromProp.forEach(({ id }) => {
|
|
687
|
+
originalStoreIds[id] = true;
|
|
2144
688
|
});
|
|
2145
|
-
|
|
689
|
+
const invalidStoreIds = ids.filter(id => !originalStoreIds[id]);
|
|
690
|
+
return isEmpty(invalidStoreIds);
|
|
2146
691
|
};
|
|
2147
692
|
|
|
2148
|
-
|
|
2149
693
|
const validateDateRange = value => {
|
|
2150
694
|
const { propertyValues: { startDate, endDate } = {} } = value || {};
|
|
2151
695
|
const [sd, st] = startDate.split(' ');
|
|
@@ -2155,11 +699,10 @@ export const ScopeSlidebox = ({
|
|
|
2155
699
|
let startDateMoment = moment(startDate);
|
|
2156
700
|
let endDateMoment = moment(endDate);
|
|
2157
701
|
let timeDifference = endDateMoment.diff(startDateMoment, 'seconds');
|
|
2158
|
-
if (timeDifference <= 0) return formatMessage(messages.
|
|
702
|
+
if (timeDifference <= 0) return formatMessage(messages.timeDifferenceError);
|
|
2159
703
|
return false;
|
|
2160
704
|
};
|
|
2161
705
|
|
|
2162
|
-
|
|
2163
706
|
const validate = (type, value) => {
|
|
2164
707
|
const { propertyValues = {} } = value || {};
|
|
2165
708
|
switch (type) {
|
|
@@ -2177,51 +720,33 @@ export const ScopeSlidebox = ({
|
|
|
2177
720
|
return !isEmpty(propertyValues?.concepts);
|
|
2178
721
|
}
|
|
2179
722
|
case STORES: {
|
|
2180
|
-
return !isEmpty(propertyValues?.stores);
|
|
723
|
+
return !isEmpty(propertyValues?.stores) || !isEmpty(storeIdsFromFile);
|
|
2181
724
|
}
|
|
2182
725
|
case CLUSTER: {
|
|
2183
726
|
const { clusterName, clusterValues } = propertyValues;
|
|
2184
727
|
return !isEmpty(clusterName) && !isEmpty(clusterValues);
|
|
2185
728
|
}
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
const isSpecificDataAdded = content => {
|
|
2190
|
-
switch (content) {
|
|
2191
|
-
case LOYALTY_TYPE:
|
|
2192
|
-
return loyaltyType !== ALL_USERS;
|
|
2193
|
-
case EVENT_SOURCE:
|
|
2194
|
-
return isSpecificData(isSpecificEventSource);
|
|
2195
|
-
case ZONES:
|
|
2196
|
-
return isSpecificData(isSpecificZone);
|
|
2197
|
-
case CONCEPTS:
|
|
2198
|
-
return isSpecificData(isSpecificConcept);
|
|
2199
|
-
case STORES:
|
|
2200
|
-
return isSpecificData(isSpecificStore);
|
|
2201
|
-
case CLUSTER:
|
|
2202
|
-
return isSpecificData(isSpecificCluster);
|
|
2203
|
-
case DATE_RANGE:
|
|
2204
|
-
return isSpecificData(isSpecificDate);
|
|
729
|
+
default:
|
|
730
|
+
return false;
|
|
2205
731
|
}
|
|
2206
732
|
};
|
|
2207
733
|
|
|
2208
734
|
const saveScoping = () => {
|
|
2209
735
|
const oldScopingObject = {};
|
|
2210
|
-
|
|
2211
736
|
(scoppingList || []).forEach(scope => {
|
|
2212
737
|
oldScopingObject[scope.name.toUpperCase()] = scope;
|
|
2213
738
|
});
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
739
|
const newScopingObject = contentAdded.reduce(
|
|
2217
740
|
(scopingObject, content) => {
|
|
2218
|
-
|
|
2219
|
-
if (
|
|
741
|
+
const scope = getScopingObject(content);
|
|
742
|
+
if (
|
|
743
|
+
content === STORES &&
|
|
744
|
+
!isEmpty(storeIdsFromFile) &&
|
|
745
|
+
!validateStoreIds(storeIdsFromFile)
|
|
746
|
+
) {
|
|
747
|
+
scopingObject.storeIdsFromFile = false;
|
|
2220
748
|
return scopingObject;
|
|
2221
749
|
}
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
const scope = getScopingObject(content);
|
|
2225
750
|
if (content === DATE_RANGE) {
|
|
2226
751
|
const invalid = validateDateRange(scope);
|
|
2227
752
|
if (!invalid) {
|
|
@@ -2245,15 +770,12 @@ export const ScopeSlidebox = ({
|
|
|
2245
770
|
dateRangeError: false,
|
|
2246
771
|
},
|
|
2247
772
|
);
|
|
2248
|
-
/** Handled by a normal flow
|
|
2249
773
|
if (!newScopingObject.storeIdsFromFile) {
|
|
2250
774
|
CapNotification.error({
|
|
2251
775
|
message: formatMessage(messages.storeIdsError),
|
|
2252
776
|
});
|
|
2253
777
|
return;
|
|
2254
778
|
}
|
|
2255
|
-
*/
|
|
2256
|
-
|
|
2257
779
|
if (newScopingObject.dateRangeError) {
|
|
2258
780
|
CapNotification.error({
|
|
2259
781
|
message: newScopingObject.dateRangeError,
|
|
@@ -2261,19 +783,16 @@ export const ScopeSlidebox = ({
|
|
|
2261
783
|
return;
|
|
2262
784
|
}
|
|
2263
785
|
if (newScopingObject.error.length > 0) {
|
|
2264
|
-
/** Not possible to have type other than types in SCOPE_AGGREGATE_ELEMENTS
|
|
2265
786
|
const invalidError = newScopingObject.error.some(
|
|
2266
787
|
type => !SCOPE_AGGREGATE_ELEMENTS.includes(type),
|
|
2267
788
|
);
|
|
2268
|
-
|
|
2269
789
|
if (invalidError) {
|
|
2270
790
|
CapNotification.error({
|
|
2271
791
|
message: formatMessage(messages.somthingWentWrong),
|
|
2272
792
|
});
|
|
2273
|
-
notifyHandledException(newScopingObject);
|
|
793
|
+
notifyHandledException(JSON.stringify(newScopingObject));
|
|
2274
794
|
return;
|
|
2275
795
|
}
|
|
2276
|
-
*/
|
|
2277
796
|
CapNotification.error({
|
|
2278
797
|
message: `${newScopingObject.error
|
|
2279
798
|
.map(type => formatMessage(globalMessages[type]))
|
|
@@ -2283,18 +802,12 @@ export const ScopeSlidebox = ({
|
|
|
2283
802
|
});
|
|
2284
803
|
return;
|
|
2285
804
|
}
|
|
2286
|
-
|
|
2287
|
-
/** Saving empty scope is allowed
|
|
2288
805
|
if (newScopingObject.data.length === 0) {
|
|
2289
806
|
CapNotification.error({
|
|
2290
807
|
message: formatMessage(messages.emptyScopeError),
|
|
2291
808
|
});
|
|
2292
809
|
return;
|
|
2293
810
|
}
|
|
2294
|
-
*/
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
811
|
const scopingData = Object.values(newScopingObject.data).map(scoping => {
|
|
2299
812
|
if (oldScopingObject[scoping.scopingType.toUpperCase()]) {
|
|
2300
813
|
return {
|
|
@@ -2304,188 +817,14 @@ export const ScopeSlidebox = ({
|
|
|
2304
817
|
}
|
|
2305
818
|
return scoping;
|
|
2306
819
|
});
|
|
2307
|
-
|
|
2308
|
-
const filterInfo = getFilterInfo({
|
|
2309
|
-
scopingData,
|
|
2310
|
-
source,
|
|
2311
|
-
});
|
|
2312
|
-
handleSaveFilterInfo(filterInfo);
|
|
2313
|
-
};
|
|
2314
|
-
|
|
2315
|
-
const saveScopingEnhanced = () => {
|
|
2316
|
-
|
|
2317
|
-
const oldScopingObject = {};
|
|
2318
|
-
(scoppingList || []).forEach(scope => {
|
|
2319
|
-
oldScopingObject[scope.name.toUpperCase()] = scope;
|
|
2320
|
-
});
|
|
2321
|
-
|
|
2322
|
-
const newEnhancedScopingObject = contentAdded.reduce(
|
|
2323
|
-
(scopingObject, content) => {
|
|
2324
|
-
|
|
2325
|
-
switch (content) {
|
|
2326
|
-
case STORES:
|
|
2327
|
-
if (!isSpecificDataAdded(content)) {
|
|
2328
|
-
// root ruleset, with all options selected.
|
|
2329
|
-
return scopingObject;
|
|
2330
|
-
}
|
|
2331
|
-
else {
|
|
2332
|
-
// specific content is added. so we just run regular to the payload logic.
|
|
2333
|
-
const scope = getScopingObject(content);
|
|
2334
|
-
|
|
2335
|
-
if (validate(content, scope)) {
|
|
2336
|
-
scopingObject.data[content] = scope;
|
|
2337
|
-
return scopingObject;
|
|
2338
|
-
}
|
|
2339
|
-
|
|
2340
|
-
scopingObject.error.push(content);
|
|
2341
|
-
return scopingObject;
|
|
2342
|
-
}
|
|
2343
|
-
|
|
2344
|
-
case ZONES:
|
|
2345
|
-
if (!isSpecificDataAdded(content)) {
|
|
2346
|
-
return scopingObject;
|
|
2347
|
-
}
|
|
2348
|
-
else {
|
|
2349
|
-
const scope = getScopingObject(content);
|
|
2350
|
-
if (validate(content, scope)) {
|
|
2351
|
-
scopingObject.data[content] = scope;
|
|
2352
|
-
return scopingObject;
|
|
2353
|
-
}
|
|
2354
|
-
scopingObject.error.push(content);
|
|
2355
|
-
return scopingObject;
|
|
2356
|
-
}
|
|
2357
|
-
|
|
2358
|
-
case CONCEPTS:
|
|
2359
|
-
if (!isSpecificDataAdded(content)) {
|
|
2360
|
-
return scopingObject;
|
|
2361
|
-
}
|
|
2362
|
-
else {
|
|
2363
|
-
const scope = getScopingObject(content);
|
|
2364
|
-
if (validate(content, scope)) {
|
|
2365
|
-
scopingObject.data[content] = scope;
|
|
2366
|
-
return scopingObject;
|
|
2367
|
-
}
|
|
2368
|
-
scopingObject.error.push(content);
|
|
2369
|
-
return scopingObject;
|
|
2370
|
-
}
|
|
2371
|
-
|
|
2372
|
-
case DATE_RANGE:
|
|
2373
|
-
if (!isSpecificDataAdded(content)) {
|
|
2374
|
-
return scopingObject;
|
|
2375
|
-
}
|
|
2376
|
-
const dateRangeScope = getScopingObject(content);
|
|
2377
|
-
const invalid = validateDateRange(dateRangeScope);
|
|
2378
|
-
if (!invalid) {
|
|
2379
|
-
scopingObject.data[content] = dateRangeScope;
|
|
2380
|
-
return scopingObject;
|
|
2381
|
-
}
|
|
2382
|
-
scopingObject.dateRangeError = invalid;
|
|
2383
|
-
return scopingObject;
|
|
2384
|
-
|
|
2385
|
-
case EVENT_SOURCE:
|
|
2386
|
-
if (!isSpecificDataAdded(content)) {
|
|
2387
|
-
return scopingObject;
|
|
2388
|
-
}
|
|
2389
|
-
else {
|
|
2390
|
-
const scope = getScopingObject(content);
|
|
2391
|
-
if (validate(content, scope)) {
|
|
2392
|
-
scopingObject.data[content] = scope;
|
|
2393
|
-
return scopingObject;
|
|
2394
|
-
}
|
|
2395
|
-
scopingObject.error.push(content);
|
|
2396
|
-
return scopingObject;
|
|
2397
|
-
}
|
|
2398
|
-
|
|
2399
|
-
case CLUSTER:
|
|
2400
|
-
if (!isSpecificDataAdded(content)) {
|
|
2401
|
-
return scopingObject;
|
|
2402
|
-
}
|
|
2403
|
-
else {
|
|
2404
|
-
// specific content is added, so we just run regular to the payload logic.
|
|
2405
|
-
const scope = getScopingObject(content);
|
|
2406
|
-
if (validate(content, scope)) {
|
|
2407
|
-
scopingObject.data[content] = scope;
|
|
2408
|
-
return scopingObject;
|
|
2409
|
-
}
|
|
2410
|
-
|
|
2411
|
-
scopingObject.error.push(content);
|
|
2412
|
-
return scopingObject;
|
|
2413
|
-
}
|
|
2414
|
-
|
|
2415
|
-
default:
|
|
2416
|
-
if (!isSpecificDataAdded(content)) {
|
|
2417
|
-
return scopingObject;
|
|
2418
|
-
}
|
|
2419
|
-
|
|
2420
|
-
const defaultScope = getScopingObject(content);
|
|
2421
|
-
if (validate(content, defaultScope)) {
|
|
2422
|
-
scopingObject.data[content] = defaultScope;
|
|
2423
|
-
return scopingObject;
|
|
2424
|
-
}
|
|
2425
|
-
scopingObject.error.push(content);
|
|
2426
|
-
return scopingObject;
|
|
2427
|
-
}
|
|
2428
|
-
},
|
|
2429
|
-
{
|
|
2430
|
-
data: {},
|
|
2431
|
-
error: [],
|
|
2432
|
-
storeIdsFromFile: true,
|
|
2433
|
-
dateRangeError: false,
|
|
2434
|
-
},
|
|
2435
|
-
);
|
|
2436
|
-
if (newEnhancedScopingObject.dateRangeError) {
|
|
2437
|
-
CapNotification.error({
|
|
2438
|
-
message: newEnhancedScopingObject.dateRangeError,
|
|
2439
|
-
});
|
|
2440
|
-
return;
|
|
2441
|
-
}
|
|
2442
|
-
if (newEnhancedScopingObject.error.length > 0) {
|
|
2443
|
-
CapNotification.error({
|
|
2444
|
-
message: `${newEnhancedScopingObject.error
|
|
2445
|
-
.map(type => formatMessage(globalMessages[type]))
|
|
2446
|
-
.join(', ')} ${formatMessage(
|
|
2447
|
-
messages.emptyScopeError,
|
|
2448
|
-
).toLowerCase()}`,
|
|
2449
|
-
});
|
|
2450
|
-
return;
|
|
2451
|
-
}
|
|
2452
|
-
|
|
2453
|
-
const scopingData = Object.values(newEnhancedScopingObject.data).map(scoping => {
|
|
2454
|
-
if (oldScopingObject[scoping.scopingType.toUpperCase()]) {
|
|
2455
|
-
return {
|
|
2456
|
-
...scoping,
|
|
2457
|
-
scopeId: oldScopingObject[scoping.scopingType.toUpperCase()].id,
|
|
2458
|
-
};
|
|
2459
|
-
}
|
|
2460
|
-
return scoping;
|
|
2461
|
-
});
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
if (source === SOURCE_PROMOTION) {
|
|
2465
|
-
const promotionFilterInfo = getFilterInfo({ scopingData });
|
|
2466
|
-
handleSaveFilterInfo(promotionFilterInfo);
|
|
2467
|
-
return;
|
|
2468
|
-
}
|
|
2469
|
-
|
|
2470
820
|
const requestObject = {
|
|
2471
821
|
rulesetId: selectedRuleset,
|
|
2472
822
|
scopingData,
|
|
2473
823
|
};
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
824
|
actions.saveScoping(programId, eventType, requestObject, res => {
|
|
2477
825
|
const success = res?.success;
|
|
826
|
+
closeSlidebox(res);
|
|
2478
827
|
if (success) {
|
|
2479
|
-
setProcessedRuleSets(processedRuleSets => {
|
|
2480
|
-
if (
|
|
2481
|
-
processedRuleSets?.group?.[selectedRuleset] &&
|
|
2482
|
-
res?.result?.filterInfo
|
|
2483
|
-
) {
|
|
2484
|
-
processedRuleSets.group[selectedRuleset].filterInfo =
|
|
2485
|
-
res.result.filterInfo;
|
|
2486
|
-
}
|
|
2487
|
-
return processedRuleSets;
|
|
2488
|
-
});
|
|
2489
828
|
CapNotification.success({
|
|
2490
829
|
message: formatMessage(globalMessages.editedSuccessfully),
|
|
2491
830
|
});
|
|
@@ -2493,31 +832,42 @@ export const ScopeSlidebox = ({
|
|
|
2493
832
|
programId: programId,
|
|
2494
833
|
eventType: eventType,
|
|
2495
834
|
});
|
|
2496
|
-
|
|
2497
835
|
gtmPush('scopingDetails', scopingDetails);
|
|
2498
836
|
} else {
|
|
2499
837
|
CapNotification.error({
|
|
2500
|
-
message: formatMessage(
|
|
838
|
+
message: formatMessage(messages.errorMessage),
|
|
2501
839
|
});
|
|
2502
840
|
}
|
|
2503
841
|
});
|
|
2504
842
|
};
|
|
2505
843
|
|
|
844
|
+
const getTag = key => (
|
|
845
|
+
<TagForCapAndScope
|
|
846
|
+
tagAction={addScope}
|
|
847
|
+
param={key}
|
|
848
|
+
heading={formatMessage(globalMessages[key])}
|
|
849
|
+
/>
|
|
850
|
+
);
|
|
851
|
+
|
|
2506
852
|
const ElementsToRender = () => (
|
|
2507
|
-
<CapRowWithSpacing
|
|
853
|
+
<CapRowWithSpacing style={{ width: '100%' }}>
|
|
2508
854
|
{contentAdded.map(content => getElementLayout(content))}
|
|
2509
855
|
</CapRowWithSpacing>
|
|
2510
856
|
);
|
|
2511
857
|
|
|
858
|
+
const TagElement = () => (
|
|
859
|
+
<CapRowWithSpacing>
|
|
860
|
+
{SCOPE_AGGREGATE_ELEMENTS.filter(item => !contentAdded.includes(item))
|
|
861
|
+
.sort(arrayOrder)
|
|
862
|
+
.map(item => getTag(item))}
|
|
863
|
+
</CapRowWithSpacing>
|
|
864
|
+
);
|
|
865
|
+
|
|
2512
866
|
const onRefreshClick = () => {
|
|
2513
|
-
|
|
2514
|
-
if (getZonesRequest === FAILURE) actions.getZones();
|
|
2515
|
-
if (getConceptsRequest === FAILURE) actions.getConcepts();
|
|
2516
|
-
if (getEventSource === FAILURE) actions.getEventSource();
|
|
2517
|
-
if (getClusterRequest === FAILURE) actions.getClusters();
|
|
867
|
+
// TO-DO
|
|
2518
868
|
};
|
|
2519
869
|
|
|
2520
|
-
const
|
|
870
|
+
const sliderContent = () => (
|
|
2521
871
|
<CapSpin spinning={showSpin}>
|
|
2522
872
|
<ErrorBoundaryWrapper
|
|
2523
873
|
showImage
|
|
@@ -2526,17 +876,18 @@ export const ScopeSlidebox = ({
|
|
|
2526
876
|
onRefreshClick={onRefreshClick}
|
|
2527
877
|
isApiError={showError}
|
|
2528
878
|
>
|
|
2529
|
-
<CapRowWithSpacing margin={
|
|
879
|
+
<CapRowWithSpacing margin={CAP_SPACE_32}>
|
|
2530
880
|
<ElementsToRender renderContent={contentAdded} />
|
|
881
|
+
<TagElement className="scope-slide-tag-element" />
|
|
2531
882
|
</CapRowWithSpacing>
|
|
2532
883
|
</ErrorBoundaryWrapper>
|
|
2533
884
|
</CapSpin>
|
|
2534
885
|
);
|
|
2535
886
|
|
|
2536
|
-
const
|
|
887
|
+
const slideBoxFooter = (
|
|
2537
888
|
<TriggerAction
|
|
2538
889
|
title={formatMessage(globalMessages.save)}
|
|
2539
|
-
triggerAction={
|
|
890
|
+
triggerAction={saveScoping}
|
|
2540
891
|
isDisabled={showSpin}
|
|
2541
892
|
id="loyalty-scoping-save-button"
|
|
2542
893
|
className="lp-btn-config-workflows-scoping"
|
|
@@ -2544,49 +895,38 @@ export const ScopeSlidebox = ({
|
|
|
2544
895
|
);
|
|
2545
896
|
|
|
2546
897
|
return (
|
|
2547
|
-
<
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
/>}
|
|
2566
|
-
<CapRow
|
|
2567
|
-
className={`scope-content-container ${
|
|
2568
|
-
!disabled ? 'cursor-pointer' : ''
|
|
2569
|
-
}`}
|
|
2570
|
-
>
|
|
2571
|
-
{scopeContent}
|
|
2572
|
-
</CapRow>
|
|
2573
|
-
{!disabled && (
|
|
2574
|
-
<CapRow className="scope-content-footer">{scopeFooter}</CapRow>
|
|
2575
|
-
)}
|
|
2576
|
-
</CapRow>
|
|
898
|
+
<CapSlideBox
|
|
899
|
+
showShadow
|
|
900
|
+
show
|
|
901
|
+
header={
|
|
902
|
+
<CapHeader
|
|
903
|
+
size="h1"
|
|
904
|
+
title={formatMessage(messages.addScope)}
|
|
905
|
+
description={formatMessage(
|
|
906
|
+
globalMessages.defineCriteriaForAcceptingPointBack,
|
|
907
|
+
)}
|
|
908
|
+
/>
|
|
909
|
+
}
|
|
910
|
+
content={sliderContent()}
|
|
911
|
+
footer={slideBoxFooter}
|
|
912
|
+
handleClose={closeSlidebox}
|
|
913
|
+
size="size-s"
|
|
914
|
+
/>
|
|
2577
915
|
);
|
|
2578
916
|
};
|
|
2579
917
|
|
|
2580
918
|
ScopeSlidebox.propTypes = {
|
|
2581
919
|
intl: intlShape.isRequired,
|
|
920
|
+
primary: PropTypes.object,
|
|
2582
921
|
closeSlidebox: PropTypes.func,
|
|
2583
922
|
saveSlidebox: PropTypes.func,
|
|
2584
923
|
isSaveDisabled: PropTypes.bool,
|
|
2585
|
-
source: PropTypes.string,
|
|
2586
|
-
handleSaveFilterInfo: PropTypes.func,
|
|
2587
924
|
};
|
|
2588
925
|
|
|
2589
926
|
ScopeSlidebox.defaultProps = {
|
|
927
|
+
primary: [],
|
|
928
|
+
closeSlidebox: () => {},
|
|
929
|
+
saveSlidebox: () => {},
|
|
2590
930
|
isSaveDisabled: false,
|
|
2591
931
|
};
|
|
2592
932
|
|
|
@@ -2594,7 +934,6 @@ const mapStateToProps = createStructuredSelector({
|
|
|
2594
934
|
rulesetData: makeSelectScopeAndCapCommonData(),
|
|
2595
935
|
scopingData: makeSelectScopingData(),
|
|
2596
936
|
status: makeSelectSaveScopingStatus(),
|
|
2597
|
-
userData: makeSelectCap(),
|
|
2598
937
|
});
|
|
2599
938
|
|
|
2600
939
|
function mapDispatchToProps(dispatch) {
|
|
@@ -2613,4 +952,4 @@ export default compose(
|
|
|
2613
952
|
withErrorBoundary,
|
|
2614
953
|
withConnect,
|
|
2615
954
|
withRouter,
|
|
2616
|
-
)(injectIntl(memo(
|
|
955
|
+
)(injectIntl(memo(ScopeSlidebox)));
|